前 言
本文档主要介绍基于iMX6ULL开发板分享物联网模块开发案例,其中内容包括SDIO WIFI模块测试、STA模式测试、NB-IoT模块测试、Zigbee模块测试、LoRa模块测试和4G模块测试由于篇幅过长,案例分为上下两部分,欢迎各位感兴趣的用户查看更多。
适用开发环境:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.1.0
Linux开发环境:Ubuntu18.04.4 64bit
U-Boot:U-Boot-2020.04
Kernel:Linux-5.4.70
Linux SDK:5.4.70_2.3.0
本案例测试板卡为创龙科技的TLIMX6U-EVM,它是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场。
Zigbee模块测试
本案例使用的Zigbee模块型号为:硅传科技CC2530PATR2.4Z-M,实现TLIMX6U-EVM评估板之间通过Zigbee模块进行通信。
请准备两个TLIMX6U-EVM评估板和两个Zigbee模块,分别将两个Zigbee模块(默认为透传模式)插至两个评估板Zigbee接口,如下图所示,分别给两个评估板上电启动并进入文件系统。
备注:由于存在引脚复用关系,请勿同时将NB-IoT、LoRa模块连接到评估板。
图 56
评估板1发送——评估板2接收
在评估板2文件系统执行如下命令,配置串口,并等待接收评估板1发送的信息。
Target# stty -F /dev/ttymxc5 ispeed 115200 ospeed 115200 cs8
Target# cat /dev/ttymxc5
图 57
在评估板1文件系统执行如下命令,配置串口,并发送数据。
Target# stty -F /dev/ttymxc5 ispeed 115200 ospeed 115200 cs8
Target# echo "tronlong" > /dev/ttymxc5
图 58
发送成功,评估板2将会接收到如下信息,按"Ctrl C"退出。
图 59
评估板2发送——评估板1接收
在评估板1文件系统执行如下命令,等待接收评估板2发送的信息。
Target# cat /dev/ttymxc5
图 60
在评估板2文件系统执行如下命令,发送数据。
Target# echo "tronlong" > /dev/ttymxc5
图 61
发送成功,评估板1将会接收如下信息,按"Ctrl C"退出。
图 62
LoRa模块测试
本案例使用的LoRa模块型号为:亿佰特E22-400T30D,详细参考资料请查看产品资料“1-开箱必读产品规格书拓展模块规格书”目录下的《E22-400T30D_UserManual_CN_v1.3》文件。
请准备两个TLIMX6U-EVM评估板和两个LoRa模块,分别将两个LoRa模块插至两个评估板LoRa接口,如下图所示,实现TLIMX6U-EVM评估板之间通过Zigbee模块进行通信。请分别给两个评估板上电启动并进入评估板文件系统。
备注:由于存在引脚复用关系,请勿同时将NB-IoT、Zigbee模块连接到评估板。
图 63
TLIMX6U-EVM评估板硬件设计上已将LoRa接口的M0、M1引脚下拉到地,即配置为传输模式。
图 64
图 65
评估板1发送——评估板2接收
在评估板2文件系统执行如下命令,配置串口,并等待接收评估板1发送的数据。
Target# stty -F /dev/ttymxc5 ispeed 9600 ospeed 9600 cs8
Target# cat /dev/ttymxc5
图 66
在评估板1文件系统执行如下命令,配置串口并发送数据。
Target# stty -F /dev/ttymxc5 ispeed 9600 ospeed 9600 cs8
Target# echo "tronlong" > /dev/ttymxc5
图 67
发送成功,评估板2将会接收到如下信息,按"Ctrl C"退出。
图 68
评估板2发送——评估板1接收
在评估板1文件系统执行如下命令,等待接收评估板2发送的数据。
Target# cat /dev/ttymxc5
图 69
在评估板2文件系统执行如下命令发送数据。
Target# echo "tronlong" > /dev/ttymxc5
图 70
发送成功,评估板1将会接收如下信息,按"Ctrl C"退出。
图 71
4G模块测试
本案例使用的4G模块型号为:移远EC200UCNAA-MINIPCIE。
测试程序目录usb_4g_test位于产品资料“4-软件资料Demomodule-demos”路径下。为方便测试,产品资料中提供了经过验证的测试程序可执行文件,位于案例bin目录下。请将bin目录下所有文件拷贝至评估板文件系统任意路径下。
使用前请在Micro SIM卡槽中插入可正常使用的SIM卡(缺口方向朝外),并将4G模块正确安装至评估板Mini PCIe(4G)接口,同时将2.4G天线连接至4G模块的MAIN接口,将GPS天线连接至4G模块的GNSS接口,如下图所示。
图 72
进入评估板文件系统,执行如下命令关闭其它网络,仅保留4G模块网络设备。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# echo -ne "AT QNETDEVCTL=3,2r" > /dev/ttyUSB5
Target# udhcpc -i usb0
Target# echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Target# ifconfig
图 73
网络功能测试
执行如下命令测试网络功能是否正常。
Target# ping www.baidu.com -I usb0
图 74
短信功能测试
进入评估板文件系统,在send_sms程序所在目录执行如下命令测试短信功能是否正常。
Target# ./send_sms /dev/ttyUSB5 131******** www.tronlong.com
图 75
图 76
通话功能测试
进入评估板文件系统,在phone_call程序所在目录执行如下命令测试通话功能是否正常。
Target# ./phone_call /dev/ttyUSB5 131********
图 77
图 78
GPS定位功能测试
进入评估板文件系统,执行如下命令测试GPS定位功能是否正常。
Target# ./get_location /dev/ttyUSB5 1
图 79
获取经纬度需等待几分钟时间,若获取失败、超时(如下图所示),请检查天线是否接好,并确保处于开阔场地进行测试。
图 80
将获取到的经纬度信息,使用GPS经纬度测试工具进行转换坐标格式并定位验证。GPS经纬度测试工具位于产品资料“4-软件资料ToolsWindows”目录下。
图 81
程序编译
请将案例src文件夹拷贝至Ubuntu工作目录,使能SDK环境变量并编译程序,编译完成将会在当前目录下生成可执行程序。
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
图 82