目前市面上基于2.4/5.8G wifi通讯信号干扰很频繁,基于Wi-Fi Halow的sub1g wifi既可以绕过干扰还可以达到公里级别控制,并且实现高清图传非常方便。
什么是Wi-Fi Halow?有何优势?
早在2016年3月,Wi-Fi联盟就针对物联网市场发布了一项无线局域网的物理层和媒体接入控制层协议,其是能在低于1GHz(750MHz—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);
}
///