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

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja