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

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg