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

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、