单片机基于TXW8301的Wi-Fi Halow物联网控制

张开发
2026/4/9 4:21:13 15 分钟阅读

分享文章

单片机基于TXW8301的Wi-Fi Halow物联网控制
目前市面上基于2.4/5.8G wifi通讯信号干扰很频繁基于Wi-Fi Halow的sub1g wifi既可以绕过干扰还可以达到公里级别控制并且实现高清图传非常方便。什么是Wi-Fi Halow有何优势早在2016年3月Wi-Fi联盟就针对物联网市场发布了一项无线局域网的物理层和媒体接入控制层协议其是能在低于1GHz750MHz—930MHz免许可的频段内运行的新型WLAN系统标准即IEEE 802.11ah该技术又被称为Wi-Fi Halow。由于Wi-Fi Halow可以运行在低于1GHz的频段这也使得其能够保持相对较高速率的基础上实现更长距离、更低功耗的连接可以满足很多对于传输速率、距离、功耗有着更高要求的物联网市场的需求。在stm32/gd32上基于spi接口的驱动代码库#include txw8301.h //下发消息处理 static void CMD_Recv_Handle(void const *argument) { osEvent evt; uint8_t*cmdstr; uint8_t cmdstrlen; TXW8301_Init(); //方便TXW8301_Init中有消息投递处理 while(!Is_CMD_Empty()) { Out_CMD_Queue(cmdstr,cmdstrlen); if(Is_CommonCmd(cmdstr,cmdstrlen)) { Cmd_Resolve(cmdstr,cmdstrlen); } } //wifi正常启动则自动使能wps功能 is_wifi_wps_enabled TRUE; for(;;) { // wait for a signal evt osSignalWait (SIGNAL_CUSTOM_01, osWaitForever); if (evt.status ! osEventSignal) continue; /** TXW8301的TX和RX存在先后顺序,不能并行,只能采用互斥锁防冲突 */ osMutexWait(mutex_upload_id,osWaitForever); TXW8301_Rx(); osMutexRelease(mutex_upload_id); while(!Is_CMD_Empty()) { Out_CMD_Queue(cmdstr,cmdstrlen); if(Is_CommonCmd(cmdstr,cmdstrlen)) { Cmd_Resolve(cmdstr,cmdstrlen); } } } } osThreadId cmd_recv_id NULL; osThreadDef (CMD_Recv_Handle, osPriorityRealtime, 1, 0); /////////////////////////////////////////////////////////////////////////// 上报消息 void Upload_Period_Protocol(void) { uint8_t*sendata; uint8_t sendatalen; osMutexWait(mutex_upload_id,osWaitForever); if(!Is_Upload_Empty()) { Out_Upload_Queue(sendata,sendatalen); //USART1_SendBuf(sendata,sendatalen); TXW8301_Tx(sendata,sendatalen); } osMutexRelease(mutex_upload_id); } ///////////////////////////////////////////////////////////////////////////////

更多文章