x
x
查看: 588|回复: 0

「案例分享」物联网模块开发——基于iMX6Ull开发板(上)

[复制链接]
发表于 2024-7-9 13:40:17 | 显示全部楼层 |阅读模式
关键词: 嵌入式 , 硬件开发

前 言

本文档主要介绍基于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模块,可选配外壳直接应用于工业现场。



无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。



SDIO WIFI模块测试


本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。
                    

图 1



SDIO WIFI模块支持STA和AP模式,具体说明如下:

  • STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
  • AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。


本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。



表 1
               




请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。

STA模式测试
进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。
Target# insmod 8189fs.ko
                    

图 2



                    

图 3



执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig
               

图 4



在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。

Target# ./wifi_setup.sh -i Tronlong-test -p omapl138
                    

图 5



执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
Target# ifconfig
Target# ping 192.168.1.100
                    

图 6



在评估板文件系统执行如下命令,查看评估板IP地址,使用Iperf3工具测试评估板与PC机的网络通信带宽。

Target# ifconfig
Target# iperf3 -s
                 

图 7



在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。

Host# iperf3 -c 192.168.1.103 -i 1
                    

图 8



                    

图 9



AP模式测试
请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。
Target# insmod 8189fs.ko
                 

图 10



                    

图 11



执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig
                  

图 12



在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。
Target# ./ap_setup.sh
                  

图 13



如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。



Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
                  

图 14


                    

图 15



程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。

将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
                    

图 16


执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。

Target# ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
               

图 17


在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target# ifconfig
Target# iperf3 -s                  

图 18



在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。

Host# iperf3 -c 192.168.0.1 -i 1
                 

图 19


                    

图 20



测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。

SDIO WIFI驱动编译
请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。
Host# tar -xf rtl8189FS.tar.gz
                    

图 21



执行如下命令,进入驱动源码目录,修改顶层Makefile文件
Host# cd rtl8189FS/
Host# vim Makefile
               

图 22



Makefile文件内容请按如下说明进行修改。
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径
               

图 23



在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。

Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
                    

图 24



                    

图 25



编译完成后,即可在当前路径下生成驱动镜像。






                                                            
            
            


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表