某宝淘得NL6621:
测了一下引脚:
做了以下功课:
新岸线物联网NL6621解决方案是高性价比、完全开源、高成熟度的解决方案,特别为高数据吞吐率低成本的无线局域网产品而设计。它集成了MCU, MAC,1T1R基带和带功放RF收发机于一颗芯片上。NL6621支持802.11b/g/n/i/e/p和Wi-Fi direct,BSS STA, 软AP,WiFi保护设置。它还支持WMM-PS和WPA/WPA2安全协议。
相关资料获得:gitee、github上可以搜到:
1、标准SDK:cailiyang/NL6621_StandardSDK
2、串口穿透SDK:GitHub - NufrontIOT/NL6621_SerialNet_SDK: NL6621 WIFI转串口SDK代码
还有很多,不一一列出。
一、首先要解决烧录问题
在各个SDK的tool目录下分别找到了3个官方的烧录工具:
1、BootTool.exe(第一版)
2、bootTool_Ack_0822.exe(第二版)
3、NuDevTool ver1.11.0(第三版)
每一版都有官方说明文件。
1、反复试了多次,对于手头的模块,第二版 烧录工具可以烧录成功。
2、第一版用Uart boot方式可以烧录但烧完程序不能运行,用Uart Burn方式报错“写固件头出错”不能烧录。
3、第三版会卡在擦除flash,只能烧录burntool.bin和启动参数,无法烧录bootloader.bin 和固件0、固件1。但是可以烧录其他数据就是图中0X64000以后的区域。
说说第二版的固件烧录步骤:
1、模块的第9引脚(TP引脚)FLASH(DI),在上电前(GND先不接)需接高电平,如图boot键(9引脚)先按下,使该引脚处于与VCC相连。
(9引脚其实就是qspi_so,固件启动方式由qspi_hold,qspi_wp,qspi_so三个引脚决定,模块中qspi_hold,qspi_wp未引出,可以认为已经默认分别设置的0和1,而qspi_so为1时从UART启动,可以烧录程序。qspi_so为0时从flash启动,应用正常运行。)
2、上电:杜邦线GND接入
3、释放boot键,这样模块就处于烧录模式了。
4、烧录时“burt file”按键选择要烧录的固件。点击“boot+uart”一键烧录burntool.bin和nft_sd_uapsta.bin(应用固件)。
二、其他
1、烧录了个AT固件:
AT指令:
+++++++ COMMAND LIST ++++++
AT+HELP
AT+VER
AT+SVER
AT+SAVE
AT+FACTORY
AT+RST
AT+SYSTIME
AT+BAUDRATE
AT+UARTFT
AT+UARTFL
AT+MSLP
AT+LSLPT
AT+IPCONFIG
AT+PING
AT+MAC
AT+WQSOPT
AT+WPHYMODE
AT+WTXRATE
AT+WSCANAP
AT+WSBCN
AT+WSCAP
AT+WSMTCONF
AT+WSTOP
AT+NQSCNN
AT+NLOCIP
AT+WSACONF
AT+AIRKISS
AT+BCTTXSTART
AT+BCTTXSTOP
AT+BCTTXDATA
AT+BCTRXSTART
AT+BCTRXSTOP
AT+QUIT
------- COMMAND LIST ------
+OK
AT支持多种配网模式,试了一下NLDirectConfig,好用。
串口上发出AT+WSMTCONF指令, 进入 DirectConfig 模式,手机上用NLDirectConfig广播,使模块联网:
然后,执行完以下指令就可以TCP SERVER方式穿透了
1、AT+NQSCNN=1,1,8101,0 //配置透传模式参数
2、AT+BAUDRATE=115200 //配置串口波特率
3、AT+UARTFL=1024 //配置自动成帧的帧长
4、AT+UARTFT=100 //配置自动成帧的每帧发送时长
5、AT+QUIT //进入透传模式
2、GPIO操作:
BSP_GPIOPinMux(9); //设置复用引脚为GPIO9
BSP_GPIOSetDir(9, GPIO_DIRECTION_OUTPUT); //设置GPIO9 为输出
BSP_GPIOSetValue(9,GPIO_HIGH_LEVEL); //设置GPIO9为高电平
有了上面的这些函数,点灯没问题了
3、驱动个ILI9225:
源码链接:https://pan.baidu.com/s/1NCWOWWeseMOgNRMJZNarCg?pwd=ewty
提取码:ewty
三、说明
1、最新的官方SDK都是15年的了,感觉官方不是很上心,但是模块在某宝上竟然还有卖的。
2、二次开发时,要好好看SDK说明文档,避坑。
3、NuDevTool ver1.11.0可以烧其他数据如字库,在驱动ILI9225中,上传了个字库gb2312_80.bin到0X64000,具体烧录方法类似于固件烧录。每个固件上传后,会被添加一个256字节的固件头,所以在计算字库偏移时需加上一个256字节。
4、模块竟然有14个GPIO引出,背后的W25Q32应该有4M BYTE空间,mcu主频也是160Mhz,这个模块基本面还是不错。在NL6621-NuAgent这个SDK中函数库语法是类STM32的,SDK资源也是可圈可点的。
5、最后这个模块0.8元买的。