当前利用NB-IoT作透传项目非常流行,Arduino Nano应该是一个非常好的选择。编程简单,但功能强大,编制程序的工程师不需要对MCU底层了解,把精力专注在应用上,可以减少项目开发时间。
NB-IoT模块选用上海移远通信技术股份有限公司BC95-B5,支持许多协议栈,如下:
-IPv4 -UDP -CoAP -LwM2M -Non-IP -DTLS*
要了解这些协议及如何使用是我们在应用上要下功夫的地方,相对对MCU,相对于透传项目,对硬件了解的越少越好!要多了解协议是如何工作的很重要。
BC95板子对外接口:
在前面的博客中对Arduino Nano已经介绍的挺多了。这里是要利用数字端口的D10和D11作为串口,(D10 - RX,D11 - TX)。用来与BC95进行通讯。注意,连接时RX连接BC95的TX,TX连接BC95的RX。
简单介绍程序,通过MCU进行透传。这里只介绍如何实现透传,实用还需要花费许多功夫!
#include <MsTimer2.h> #include <SoftwareSerial.h> // 采用软件的串口 SoftwareSerial BC95(10, 11); // Serial RX, TX void flash() { static boolean output = HIGH; digitalWrite(LED_BUITIN, output); output = !output; } void setup() { MsTimer2::set(500, flash); MsTimer2::start(); pinMode(LED_BUILTIN, OUTPUT); Serial.begin(9600); while (!Serial) { ; } Serial,println("Good Morning, my old friend!"); BC95.begin(9600); } void loop() { if (BC95.available()) { Serial.write(BC95.read()); } if (Serial.available()) BC95.write(Serial.read()); }从上面的程序可以看出,利用Arduino Nano做透传项目的处理器,技术人员不需要了解硬件的细节,编程简单,上手快,是一个不错的选择。