Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ESP8266
M2354
【NuMaker-M2354试用】WiFi Module测试分享
发布于 2021-12-05 15:44:24 浏览:953
订阅该版
[tocm] 很荣幸能获选参与新唐NuMaker-M2354开发板外设模块的评测试用活动。 ### 功能模块的硬件介绍 收到开发板时,惊喜地发现居然还附带了一块LCD屏幕! ![NuMaker-M2354_01.jpg](https://oss-club.rt-thread.org/uploads/20211205/cbd9e62e053f040170f8ca7c0b533ac6.jpg.webp) ![NuMaker-M2354_02.jpg](https://oss-club.rt-thread.org/uploads/20211205/ee8d0471472d57a81428264869c6d8d4.jpg.webp) 开发板的做工相当精致,通过PCB板右侧中间部分的镂空间隔设计,提醒用户这块开发板可能大致分为两部分组成。根据厂家的资料介绍,这两部分分别是采用 NuMicro® M2354KJFAE 微控制器的主控板,与 Nu-Link2-Me 调试编程器。 板载的Wi-Fi模块是大家常见的ESP8266模块,Ai-Thinker安信可出品的esp8266串口wifi模块,型号是ESP-12F,为了避免干扰,发挥模块收发天线的最佳效果,Wi-Fi模块的板载天线部分在开发板左侧突出了大约5-6毫米,略显美中不足。 ![NuMaker-M2354_WIFI_Module_01.JPG](https://oss-club.rt-thread.org/uploads/20211205/0e2a22497d2defc6c2e173f775eaa796.jpg.webp) 从厂家的资料可见,开发板上还预留了Wi-Fi模块固件的升级接口。 ![M2354接口_WiFi模块原理图02.png](https://oss-club.rt-thread.org/uploads/20211215/0b5a91255cc483e41daf618a96a804bf.png.webp) ![M2354接口_WiFi模块原理图03.png](https://oss-club.rt-thread.org/uploads/20211215/c96d967bd4c49ffd850f7af9530ec9ac.png.webp) 开发板出厂时已经将Nu-Link2-Me VCOM指拨开关的1及2切换至ON,启动虚拟串口(VCOM)功能这个操作完成了。根据厂家的快速指南,在电脑上安装好Nuvoton Nu-Link Driver驱动后就能通过串口连接上开发板。 ![Nu-Link2-Me调试编程器01.JPG](https://oss-club.rt-thread.org/uploads/20211205/2338359dc6ca0c944ba4e176ad70a830.jpg.webp) ### 功能模块的使用说明 开发板出厂默认自带的Demo固件比较简单,通过Nu-Link2-Me 调试编程器的ICE USB接口给开发板上电时,附带的LCD屏幕是没有任何显示的,从串口输出信息上看,只是简单的反馈板载wifi模块的硬件自检通过信息和Simple Blinky Demo的信息。 ![NuMaker-M2354_0011_MDK安装Nu-Link_Keil_Driver.png](https://oss-club.rt-thread.org/uploads/20211205/211c61b67f04d9228e784b6326a275d0.png) 下载rt-thread源代码创建工程的过程就有点小波折。 本想在M2354板BSP包目录下用pkgs --dist创建项目框架后复制到其他目录下再创建第一个demo工程的,由于是第一次操作,对env的使用也不熟,没能按设想的完成,又急着体验一下开发板,就在BSP包目录下用menuconfig --generate、pkgs --list、pkgs --update、scons --target=mdk5创建了mdk5工程。 用Keil uVision5打开生成的mdk5工程,首次编译时提示有个“use of undeclared identifier 'EINVAL' ”的错误,打开相关的hw_symmetric.c源码,根据上下文的大致信息, 将return -EINVAL; 更正为return -RT_EINVAL; 就OK了。 ![NuMaker-M2354_0042_env创建工程.png](https://oss-club.rt-thread.org/uploads/20211205/d422c1f3e2960bfb0709e4fcf144b86e.png) 简单编辑一下工程属性后就可以使用Nuvoton Nu-Link Debugger驱动把编译好的固件下载烧录到开发板上查看demo的效果了。 和估计是裸机的Simple Blinky Demo相比,从rt-thread源代码BSP包通过env工具menuconfig 生成的demo例程相对就丰富很多了。LCD屏幕也亮了,从上面显示的时钟信息能否在通电约30秒左右完成NTP自动校时操作,就能让人及时确认板载wifi是否顺利连通网络。 ![NuMaker-M2354_LCD_02.JPG](https://oss-club.rt-thread.org/uploads/20211205/82b6051b9bdb6f852436627e722e4e77.jpg.webp) 按tab键后,finsh控制台能输出一长串可执行的RT-Thread shell commands,由此可见新唐厂家技术人员对rt-thread的适配工作应该是已经做的很完善了! ![NuMaker-M2354_0135_wifi组件评测.png](https://oss-club.rt-thread.org/uploads/20211205/0101719c2d04c5995c66b4f2f7c75374.png) 其中的"at_wifi_set"命令就是能让你自行更改需要接入的wifi网络SSID和密码信息的,非常方便。 只要在finsh命令界面运行这样的命令: at_wifi_set
即可即时更改开发板的wifi连接参数。 但这样更改wifi连接参数无法保存在wifi模块的固件里,每次断电重启后就恢复默认设置了。 不过刚开始时我自己倒也不是这样调整输入wifi密码的,而是通过串口输出wifi连接失败的错误提示信息中"NT_ZY_BUFFALO"的字眼在工程中找到board_dev.c源码来修改wifi参数的。 这个源码应该是厂家适配开发板的板载Wi-Fi模块,方便用户无需重新编译工程就能通过finsh控制台在线灵活更改wifi参数设计的。 ``` /**************************************************************************//** * * @copyright (C) 2019 Nuvoton Technology Corp. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2020-1-16 Wayne First version * ******************************************************************************/ #include
#include
#if defined(BOARD_USING_ESP8266) #include
#define LOG_TAG "at.sample.esp" #undef DBG_TAG #include
static struct at_device_esp8266 esp0 = { "esp0", /* esp8266 device name */ "uart4", /* esp8266 serial device name, EX: uart1, uuart1 */ // "NT_ZY_BUFFALO", /* Wi-Fi SSID */ // "12345678", /* Wi-Fi PASSWORD */ "like-3_Wi-Fi5", /* Wi-Fi SSID */ "LIKE85333051", /* Wi-Fi PASSWORD */ 1024 /* Receive buffer length */ }; static int rt_hw_esp8266_port(void) { struct at_device_esp8266 *esp8266 = &esp0; rt_base_t esp_rst_pin = NU_GET_PININDEX(NU_PC, 13); rt_base_t esp_fwupdate_pin = NU_GET_PININDEX(NU_PD, 12); /* ESP8266 reset pin PC.13 */ rt_pin_mode(esp_rst_pin, PIN_MODE_OUTPUT); rt_pin_write(esp_rst_pin, 1); /* ESP8266 reset pin PD.12 */ rt_pin_mode(esp_fwupdate_pin, PIN_MODE_OUTPUT); rt_pin_write(esp_fwupdate_pin, 1); return at_device_register(&(esp8266->device), esp8266->device_name, esp8266->client_name, AT_DEVICE_CLASS_ESP8266, (void *) esp8266); } INIT_APP_EXPORT(rt_hw_esp8266_port); static void at_wifi_set(int argc, char **argv) { struct at_device_ssid_pwd sATDConf; struct at_device *at_dev = RT_NULL; /* If the number of arguments less than 2 */ if (argc != 3) { rt_kprintf("\n"); rt_kprintf("at_wifi_set
\n"); return ; } sATDConf.ssid = argv[1]; //ssid sATDConf.password = argv[2]; //password if ((at_dev = at_device_get_first_initialized()) != RT_NULL) at_device_control(at_dev, AT_DEVICE_CTRL_SET_WIFI_INFO, &sATDConf); else { rt_kprintf("Can't find any initialized AT device.\n"); } } #ifdef FINSH_USING_MSH MSH_CMD_EXPORT(at_wifi_set, AT device wifi set ssid / password function); #endif #endif /* BOARD_USING_ESP8266 */ ``` 通过AT指令可知开发板板载Wi-Fi模块ESP-12F的运行波特率为115200. ![NuMaker-M2354_0133_wifi组件评测.png](https://oss-club.rt-thread.org/uploads/20211205/a1954e88b4d6a4ea6d6232186921f2bf.png) 新唐厂家做的demo中已经将NTP自动网络授时功能适配完善了,因为NTP server参数中的"time.stdtime.gov.tw"授时服务器访问不畅,wifi联网后都会有相关的错误提示, [E/at.clnt] execute command (AT+CIPDOMAIN="time.stdtime.gov.tw") failed! 通过menuconfig配置更换为国内的cn.ntp.org.cn服务器之后就不会有类似的失败提示信息了。 一般开发板上电约30秒左右,板载wifi模块就能完成联网并通过NTP工具实现网络自动授时。 ### 外设性能指标测试 本来打算借助RT-Thread的网络工具集 (NetUtils)组件里的Iperf工具测试wifi模块联网的性能和带宽、NetIO工具测试网络的吞吐量、轻量级文件传输工具TFTP测试文件传输的。结果几个工具都无法运行服务器模式, msh />tftp -s msh />[E/at.clnt] execute command (AT+CIPCLOSE=0) failed! tftp server bind failed!! exit msh />iperf -s -p 5001 msh />[E/at.clnt] execute command (AT+CIPCLOSE=0) failed! [E/iperf] Unable to bind! msh />iperf --stop msh /> 网上搜索一番才了解到,因为wifi模块是借助at_device组件联网的,而at_device组件还不支持服务器模式,所以只能放弃,暂时先进行可在客户端模式下运行的iperf工具做个简单的网络性能和带宽测试。 Iperf 使用的是主从式架构,即一端是服务器,另一端是客户端,开发板上的iperf做客户端时,需要借助JPerf测试软件来运行为服务器。 JPerf 测试软件的windows安装文件可在开发板BSP包目录下的\numaker-m2354\packages\netutils-latest\tools文件夹中找到,这个是绿色软件,无需安装,解压到新文件夹即可使用。 不过因为JPerf需要JAVA的运行环境,所以还得先下载安装好JAVA运行环境才能运行。 设置运行在服务器模式并启动后,就可以在finsh控制台运行iperf客户端来进行网络性能测试。 ![NuMaker-M2354_0136_wifi组件评测.png](https://oss-club.rt-thread.org/uploads/20211205/84def863d3774d7e65517afc080de27c.png) iperf -c 192.168.10.12 -p 5001 iperf --stop 要停止测试时,需要先在finsh shell界面停止iperf,再到JPerf测试软件界面停止服务器。 [380] 178.0-179.0 sec 10.0 KBytes 81.9 Kbits/sec [380] 179.0-180.0 sec 10.0 KBytes 81.9 Kbits/sec [ ID] Interval Transfer Bandwidth [380] 0.0-180.4 sec 1856 KBytes 84.3 Kbits/sec Done. ![NuMaker-M2354_0143_wifi组件评测.png](https://oss-club.rt-thread.org/uploads/20211205/6070cd0dbabe056c205bca5b49957159.png.webp) wifi模块的网络吞吐量比较低,本来我以为和连接wifi模块的串口波特率有关,但和安信科售后联系过,得知串口波特率对模块的网络吞吐性能是没有影响的。 ### 测试工程文档 [码云保存备份的工程文档](https://gitee.com/zhd0305/IoT/tree/master/M2354/numaker-m2354) ### 心得体会 小结: 1、厂家对开发板在RT-Thread系统上的适配程度比较高; 2、从iperf的测试结果看,板载wifi模块的传输速度平均只有84.3 Kbits/sec!这个结果超出我的预期,不知那里出了问题。还得再研究查找原因。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
zhd0305
快进入嵌入式大门了
文章
1
回答
1
被采纳
0
关注TA
发私信
相关文章
1
关于ESP8266的配网
2
at device跑esp8266, 总是提示缓冲区不够,应该怎么解决?
3
at device跑esp8266提示连接超时
4
ESP8266 连接问题
5
AT组件配网问题 ESP8266微信配网
6
请问一下esp8266能在at指令组件下支持ap模式吗
7
esp8266用paho-mqtt出现溢出
8
ONENET+esp8266连接报错
9
ESP8266通过smartconfig配网?
10
esp8266 WiFi名设成中文后 打不开RT_Thread Settings
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
ADC
BSP
中断
keil_MDK
编译报错
socket
MicroPython
GD32
msh
Debug
ulog
SDIO总线
SFUD
rt_mq_消息队列_msg_queue
C++_cpp
本月问答贡献
xiaorui
7
个答案
3
次被采纳
sakumisu
4
个答案
3
次被采纳
三世执戟
31
个答案
1
次被采纳
梦笑真美
18
个答案
1
次被采纳
踩姑娘的小蘑菇
14
个答案
1
次被采纳
本月文章贡献
Z_Y
2
篇文章
5
次点赞
Alipay
2
篇文章
3
次点赞
2345vor
2
篇文章
1
次点赞
比特饼干
1
篇文章
6
次点赞
Vangaoven
1
篇文章
3
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部