NBIOT模块 移远BC28全网通模组OpenCpu实现ADC采集电压

2023-10-08 21:10

本文主要是介绍NBIOT模块 移远BC28全网通模组OpenCpu实现ADC采集电压,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文档主要介绍如何进行BC28 OPENCP 开发环境的搭建以及程序的编译和下载。
这是我们使用到的板子。购买链接:https://item.taobao.com/item.htm?id=578773531959
在这里插入图片描述
首先我们将进行编译环境的搭建。
另外microsoft.net framework如果没有安装或者版本不到4.5.2可能需要安装microsoft.net framework 4.5.2.exe

  1. 安装gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe
    在这里插入图片描述
    双击打开,然后选择ok
    在这里插入图片描述
    然后下一步,到达安装位置这里可以选择默认,也可以自己定义安装路径,选好安装路径后进行安装。
    在这里插入图片描述
    安装后,出现如下图,勾选上,点击完成
    在这里插入图片描述
    然后我们在弹出的命令提示符输入“arm-none-eabi-gcc -v”确认GCC是否安装成功,以及版本确认
    在这里插入图片描述在这里插入图片描述

  2. python-2.7.10.amd64.msi的安装(我的电脑是64位,对应选择amd64)
    在这里插入图片描述
    双击打开
    在这里插入图片描述
    直接下一步,到了选择路径这里,建议选择默认路径,也可以自己定义路径,我这里选择默认路径
    在这里插入图片描述
    到了这里,看到这个Add Python.exe to Path,我们要把这个也勾选上
    在这里插入图片描述

点击Add Python.exe to Path前面的红X,下拉选择第一个,像下图一样
在这里插入图片描述
然后我们就可以继续下一步,进行安装
在这里插入图片描述
3. pywin32-220.win-amd64-py2.7.exe的安装
在这里插入图片描述
双击打开
在这里插入图片描述
直接默认安装即可
在这里插入图片描述
选择路径这里,要是刚才你安装python-2.7.10.amd64.msi不是默认路径的话,就把上图的路径改成安装python-2.7.10.amd64.msi的路径,否则就不需要改路径

4.Python相关的pip安装
在这里插入图片描述
双击运行即可

5.scons-2.4.0-amd64-setup.exe的安装,对应系统选择32/64位
在这里插入图片描述
双击打开
在这里插入图片描述
下一步到这里会提示Python的目录,注意对应Python2.7安装,然后默认安装即可
在这里插入图片描述
6. UpdatePackage-3.22.0.14.msi的安装
在这里插入图片描述
直接双击运行即可
在这里插入图片描述
以上环境就搭建好了。
我们要打开BC28_OpenCPU_Hi1_SDK_V1.0中的“scons_new.bat”文件

在这里插入图片描述
右键选择打开方式,我这里选用文本的方式打开,对应Python2.7/scons安装路径修改下图方框中的路径,若安装Python2.7/scons是默认路径则无需修改
在这里插入图片描述
环境搭建好后我们就可以下载固件了。
我们找到如下图目录的文件
在这里插入图片描述
“SConscript”这个文件右键选择打开方式,这里我选择的是Sublime Text
在这里插入图片描述
打开这个文件后我们找到如下图的代码
在这里插入图片描述
把上图方框中的代码注释掉,然后把方框中代码的上一句代码除去注释,然后保存。结果如下图所示:
在这里插入图片描述

在“BC28_OpenCPU_Hi1_SDK_V1.0”此目录下,双击打开命令提示符,如下图所示。注意:“BC28_OpenCPU_Hi1_SDK_V1.0”必须位于全英文的目录下,否则可能会导致编译失败。
在这里插入图片描述
打开命令提示符后,输入scons_new.bat,然后点击回车,开始编译工程,如下图的现象则表示工程编译成功
在这里插入图片描述
编译生成的“.bin ”文件在目录: “BC28_OpenCPU_Hi1_SDK_V1.0\build_scons\arm\”
在这里插入图片描述
由于工程烧写为是 fwpkg 固件包,而 SDK 编译生成的只有 bin 文件,这时候我们需要一个标准的 fwpkg 包。不同系列的 nb-iot 模组有着不同的标准固件包,用户在开发是要注意使用的模组,获取与模组对应的 标准 fwpkg 固件包。
因此,我们需要在“BC28_OpenCPU_Hi1_SDK_V1.0”中创建一个新的文件夹,以“fwpkg”为名。
在这里插入图片描述

在这里插入图片描述
找到“BC28_OPEN\BC28JAR01A07”下的这个“BC28JAR01A07.fwpkg”文件复制粘贴到“BC28_OPEN\BC28_OpenCPU_Hi1_SDK_V1.0\fwpkg”这个文件夹中
在这里插入图片描述
在 BC28_OpenCPU_Hi1_SDK_V1.0下打开命令提示符,输入““C:\Program Files (x86)\Neul\UpdatePackage\UpdatePackage.exe” updateApplication --in .\fwpkg\BC28JAR01A07.fwpkg --folder .\build_scons\ arm --out BC28JAR01A07_OCN”, 建议把这段命令先复制到文本中,再从文本中复制粘贴到命令提示符中 ,然后键入回车键
在这里插入图片描述

命令提示符中会如下图所示
在这里插入图片描述

在“BC28_OpenCPU_Hi1_SDK_V1.0”文件夹中会多出一个“BC28JAR01A07_OCN.fwpkg”文件
在这里插入图片描述

以上步骤没有出错的话,表示新的 fwpkg 合成成功。
接下来我们就可以把固件下载到BC28开发板,首先我们先把BC28开发板连接电脑,安装好驱动。
如果不知道自己电脑USB Serial Port对应哪个端口可在“我的电脑—(右键)管理—设备管理器—端口”中查看
在这里插入图片描述
打开“QDownload_NB_IoT_V3.5.exe”工具
在这里插入图片描述

打开之后是这样的
在这里插入图片描述
然后Slecet Port选择USB Serial Port对应的端口
在这里插入图片描述
点击“Load FW File”按钮弹出窗口后选择“BC28JAR01A07_OCN.fwpkg”文件
在这里插入图片描述
点击Query version 查看BC28的固件版本
在这里插入图片描述
点击Read IMEI 查看IMEI
在这里插入图片描述
然后点击DownLoad 0 下载固件
在这里插入图片描述
出现上图方框中的字眼,我们需要按一下板子上的复位按钮
按下复位按钮后就会像下图所示开始下载固件
在这里插入图片描述
像这样下图这样就表示固件已经下载成功
在这里插入图片描述
然后我们打开串口调试助手“sscom.exe”按下图所示配置,串口号选择USB Serial Port对应的端口,波特率选择9600,打开串口后,接收窗口会出现ADC的采集量。

在这里插入图片描述
此时,BC28 OpenCPU升级成功。
我们来测试一下ADC采集量。
看到下面这张图,我们用一根杜邦线连接ADC0和VCC:
在这里插入图片描述
如图所示:
在这里插入图片描述
串口调试工具接收到的数据:
在这里插入图片描述
ADC采集到的电压约为3.3V,测试都是有误差的。
接下来我们用杜邦线连接ADC0和GND:
在这里插入图片描述
如下图所示:
在这里插入图片描述
串口调试工具接收到的数据:
在这里插入图片描述
ADC采集到的电压约为0V,测试都是有误差的。
这里只是简单的演示了ADC的采集,也可以用传感器来测试,这里就不做演示了。

QQ群:

796415884

欢迎大家进群交流!

这篇关于NBIOT模块 移远BC28全网通模组OpenCpu实现ADC采集电压的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/167991

相关文章

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

4G/5G全网通! FiberHome烽火5G CPE Air路由器拆机评测

《4G/5G全网通!FiberHome烽火5GCPEAir路由器拆机评测》烽火5GCPE已经使用一段时间了,很多朋友想要知道这款路由器怎么样?今天我们就来看看拆机测评... 我想大家都听说过、了解过5G。 5G是具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L