上一篇主要讲的是如何使用window电脑调试NB-IoT移远BC35G模组而这一篇将要讲
使用树莓派与移远BC35G模组的初始环境设置及调试。
树莓派与移远BC35G模组的初始环境设置及调试
树莓派作为一款微型电脑,只有信用卡大小,而且成本低廉。主要使用的是Linux系统,
在物联网的趋势下,麻雀虽小五脏俱全的它也可以在其享有一席之地。作者其实写这篇文章的初衷是想让开发者们节约成本,毕竟现在市面上的一些物联网开发模块实在是让开发者们捉襟见肘。那我们可不可以使用身边现有的硬件来实验我们想要实验的课题呢。
其实我有一个想法,现在科技的趋势慢慢走向硬件。比如物联网的开发,虽然充满空间。但是硬件不同于软件,软件顶多的开发费用就是买个云服务器,优惠时也就20来块钱一个月,或者直接使用花生壳做映射,也没几个钱。但是硬件就不一样了。上到STM32的开发板下到传感器模块,开发费用都是不小的数目。而且有些硬件调试过一次,可能就再也不会用了,对资源上也是极大的浪费。因此我在想能不能成立一个中国IoT联盟。由联盟采购这些硬件,会员只需在联盟上下清单,就可以租用这些硬件供自己开发。等开发完毕以后再归还这些硬件。每个会员每月交个会费就可以了,这样一来可以减轻硬件开发者的负担,还能推动中IoT科技的发展。
本人使用的是树莓派3B+,因此以这款树莓派进行演示。
我们接入的移远BC35G通信模块,使用的是树莓派的14,15GPIO口,因为树莓派CPU内部有两个串口(UART),一个PL001 UART和一个Mini UART。Mini UART没有时钟源,必须由内核提供时钟源,而内核频率本身是变化的,导致Mini UART速率不稳,无法正常使用。
树莓派的14,15GPIO口使用的是Mini UART这个串口。而树莓派3B+因为添加了蓝牙模块,因此蓝牙模块占用了PL001 UART这个主串口。我们要想接入的移远BC35G通信模块要么就是关闭蓝牙模块,将14,15GPIO口指向主串口/dev/ttyAMA0,要么就是修改配置文件固定Mini UART这个串口的波特率(波特率是双向通信的一种机制,正常数据都是二进制传输的,因此发送端和接收端统一一个频率的收发,才能保证数据正常的传输,移远BC35G通信模块默认使用的是9600,因此树莓派这边也要设置为9600才能让双方进行正常的数据交互)。
作者直接采用的是第一种方式,因此演示也只演示这一种。如果使用第二种方式,请自行百度。
- 关闭蓝牙模块
修改/boot/config.txt文件
添加dtoverlay=pi3-disable-bt这一行
然后重启树莓派,这时我们就可以看到右上角那个蓝牙已经变成了灰色。
现在14,15GPIO就已经指向/dev/ttyAMA0了
- 串口配置
由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。
执行sudo raspi-config
进入树莓派配置
选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
修改/boot/config.txt文件
添加enable_uart=1这一行
然后重启树莓派
这样树莓派的环境设置就OK了
为了可以调试移远BC35G模组,我们还需要下载一个串口调试的应用。
安装minicom串口调试工具
sudo apt-get install minicom
安装成功
我们就要把移远BC35G模块连到树莓派上了
在连之前先将树莓派关机
将杜邦线连接到有RXT,TXD,GND,VIN针脚的一侧。
而杜邦线的另一半要连接树莓派的GPIO针脚上,请注意对应连接!!!
开机,模块灯亮
然后运行minicom
sudo minicom -D /dev/ttyAMA0 -b 9600
-D指定端口 -b指定波特率
进入minicom
先修改配置
ctrl + a 以后 摁z
修改 local Echo on/off 摁E
这样你输入什么就可以看到了
我们现在输入AT
返回OK说明模块连接成功。
接下来我们可以进行调试了。
因为上一节我们已经把初始的参数都已经设置好了,所以不需要输入那么多AT指令了。
- AT+CFUN=1 开启射频
- AT+CGATT=1 开启网络附着
接着不需要输入查询网络附着情况,只需要等待OC平台那边给我们已连接的消息就可以了。
- 返回+QLWEVTIND:3已经与华为OC平台建立连接
- AT+NMGS=02,0001 发送消息
看到华为平台那边已经有数据上来了
- 命令下发
设备端接收到数据
- 回复响应
华为OC平台显示执行成功
测试完成以后别忘了释放RRC连接 AT+QLWULDATAEX=3,AA34BB,0x0001
并且关闭射频,保存今天入网的频点 AT+CFUN=0
建议执行完关闭射频以后20秒再给模组断电。
退出minicom
ctrl + a 以后 摁z 在摁X
选择Yes
树莓派接入移远BC35G模块就已经OK了!
下一章节将讲lettuce-Sea设备端自动执行AT入网指令,并根据接收到的命令触发设备的相应模块。
欢迎加入我们的QQ群一起讨论IOT的问题。
|
请发表评论