硬件平台:
BC95-B5 ,在淘宝上购买即可,可以直接购买模块,然后自己利用USB转串口接到PC上。也可以购买有MCU地板的,本人购买的是基于MSP430地板的开发板,不需要自己接USB转串口工具,当然价格会贵一些。
软件平台:
由于本文只是实现简单的数据收发,不需要跑MCU程序,所以主要用的工具是 NB-IoT QNavigator 工具,读者可去网上自行下载。之前我使用串口直接发AT指令,比较麻烦,因为在正式使用nb模块发数据之前,需要一些指令进行配置。使用 NB-IoT QNavigator ,该软件内置了很多指令,比如创建套接字这些指令,都是自动配置好的,相当方便。
云平台:
阿里云。去阿里云官网购买一个最便宜的ECS,预装ubuntu14,当然也可以选择其他系统。使用云服务器的一个好处就是只要购买看ECS,以后可以随便更换系统,几分钟就可以搞定。主要在购买的时候,选择专有网络,不要选择经典网络,这是方便后面安全组的设置。
NB专用卡:
可以通过电信运营商购买,移动也有。 在上面的条件都满足下来后,可以进行下面的操作:
步骤一:
在阿里云上运行一个UDP服务器程序(参见博客后面),主要实现接受数据并将数据返回的功能,需要设置服务端的UDP端口号,我这里设置为3001,然后使用gcc指令编译程序。在运行程序之前,需要先在阿里云的ECS的安全组中将3001端口放行(参见图1),如何添加安全组规则可以参考阿里云的安全组相关文档。设置好安全组之后,运行UDP服务器程序。这里可以先使用tcp/udp socket调试工具,建立一个UDP客户端(参见图2),选择ECS的IP地址和你所设置的端口号,进行数据测试,如果通信成功,说明服务器运行正常,可进行下一步操作。
图1 安全组设置
图2 udp调试
步骤二:
将开发板通过USB线插入PC,打开 NB-IoT QNavigator ,点击Connect to module.就会自动连接。这一步会出现很多问题,这些问题多数与你的模块所在地有没有信号覆盖有关,如果你所在地没有基站,你的模块就无法附着,也就无法通信。初始化完成之后,可以看到模块的相关信息和卡的相关信息。如图3。如果一直无法注册到网络,试一试换一个位置,或者将开发板举高一点,因为这一步需要有NB信覆盖。
步骤三:
点击 NB-IoT QNavigator左侧的UDP,将阿里云服务器的IP地址和dup服务器的端口号填入,点击连接。如图4.
连接成功后,发送数据123456789,在接收端会收到313233343536373839.数据通过NB模块将发送到阿里云服务器,然后服务器将数据发回来。 至此,利用NBIoT技术完成了数据传输。
文章来源:芯片开放社区
原文链接:https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.1b87180fT4mSjg&id=3805698204625408000