当在RT-Thread操作系统上做WiFi模块的开发工作,又是什么样一种体验呢?下面一步一步详细描述一下这个过程。
W600 芯片是北京联盛德微电子有限责任公司一款支持多接口、多协议的无线局域网IEEE802.11n(1T1R)的SoC芯片。适用于智能家电、智能家居、无线音视频、智能玩具、医疗监护、工业控制等物联网应用领域。该SoC芯片集成Cortex-M3内核,内置Flash,集成射频收发前端RF Transceiver,CMOS PA功率放大器,基带处理器/媒体访问控制,支持SDIO、SPI、UART、GPIO、I²C、PWM、I²S、7816等接口, 支持多种加解密PRNG/SHA1/MD5/RC4/DES/3DES/AES/CRC/RSA等。
特性
当拿到了W600的开发板,就感觉让人非常的舒服,5个LED让其非常有特点。
首先上一张图片,这个开发板设计的很漂亮。
芯片放大后的图片
话不多说,直接上手体验一下这块开发板的魅力。先从最熟悉的RT-Thread开始入手。
相关的指导过程
http://docs.thingsturn.com/development/rt-thread/start/
已经讲得很明确了,下面实际操作一下。
首先下载RT-Thread_W60X_SDK_0.1.0
下载完成后,解压如图所示
打开example目录
作为学习rtthread的必备辅助工具,相关的介绍在rtthread的官网上已经介绍的很详细了。这里就不赘述了。
https://www.rt-thread.org/document/site/programming-manual/env/env/
打开env工具后,实际上也不需要配置什么
不过可以输入menuconfig看一下
直接退出就好,这里我们采用的mdk5,直接配置成mdk5的工程就行
输入后打印如下的结果
打开工程模板进入keil
生成完成工程后,就可以在keil中进行编译了。
编译完成后,输出的结果如下:
编译完成后的固件在
下载工具可以用如下的串口调试助手
打开工具开始下载
串口调试助手可以看到最下面的灯不断的闪烁,并且串口打印如下信息
程序烧写成功。
该程序是单纯的点灯程序,调用的是RT_Thread的通用驱动模型。
如果要知道引脚标号对应的引脚,可以查看driver/pin_map.c文件
对应PB18,然后查看原理图及硬件的布板
这个图实际上是和硬件对应的
到此,我们分析这个程序的执行过程。
如果我们需要调用该模块的wifi部分,比如扫描网络信息等等。
其实我们只需要设置wifi的工作模式即可
/* set wifi work mode */
rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);
rt_wlan_set_mode(RT_WLAN_DEVICE_AP_NAME, RT_WLAN_AP);
代码如下
编译后直接烧写进去,启动信息如下
输入wifi scan
可以扫描到附近的wifi
当然我们也可以wifi join
加入网络等等。这样开发板就连上网络了,借助rtt的扩展包,后续可以做很多事情。
通过很快的摸索,w600与rtthread的体验还是比较好的。因为rtthread有丰富的组件,并且w600也有比较强大的性能。综合来看,这次的体验非常让我满意。作为rtt忠实的爱好者,在该操作系统上进行wifi程序的开发与扩展确实是一件让人值得高兴的事情。虽然目前只是上手体验,经过一段时间的熟悉之后,相信可以得心应手的掌握并在此基础上开发产品。