您的位置: 主页  >  新闻中心  >  行业新闻  > 以远距离wifi模块为核心的智能5G无线设备控制系统

以远距离wifi模块为核心的智能5G无线设备控制系统

发布日期:2021-12-23  浏览次数:2230
远距离wifi模块为核心的无线控制系统通用设计,当今,无线设备高速发展迎接5G时代,以华为为代表的众多手机厂商纷纷推出5G手机,那时无线已成为一种趋势,但WiFi控制的生活却并不多,现在每天可以看到的都是用红外线对生活进行控制,而这在手机中具有红外线的功能却屈指可数,但每一个智能手机用户都拥有WiFi的功能。

平时,家用电器大多采用按键和红外线等半自动控制方式,很少用手机或平板类来控制移动设备,然后向移动设备发送切换指令到远距离wifi模块CV520S无线WIFI模块该模块通过串口接收移动设备的指令发送给单片机STC12,然后,单片机根据预先设定的指令对电扇进行开关,从而实现了无线控制家电的目的。

该系统概览系统设计概述STC12小系统为主,通过增加外部物联网设备远距离wifi模块CV520S无线WIFI模块(本后文简称WIFI模块)和220VAC继电器,该无线模块要求具有固件和预置模式,STC12小系统无多余外置极大地减少了I/O占用的同时,也减少了系统负载,再通过I/O口控制220VAC继电器,就可以达到对家庭电扇的控制效果。该系统分为四个模块:控制模块(STC12)、WIFI模块(CV520S)、移动控制设备(TCP/UDP调试助手)、受控模块(220AC继电器)WIFI模块和单片机通过串口进行通讯,二者需要相同的波特率,除此之外,每次上电MCU需要发送指令来启动WiFi模块,至此模块成功启动,此时移动端TCP/UDP调试助手可以搜索WiFi模块的热点。移动者发送字符串"kaiFS",WiFi模块通过串口接收字符串"kaiFS",MCU接收"kaiFS"的启动继电器,电扇启动成功。还可以发送guanFS来达到关闭风扇的效果。

编程MCU时使用C语言,先编写串口功能VoidUSART_Init()设置函数名S2CON=0x50;设置1,8个数据位,波特率可变。AUXR=0XF7;使能单独产生波特率,波特率不增加。AUXR=0x04;将1T的时钟周期设置为BRT=0XD9;BRT=0MH,波特率为9600。AUXR=0x01;启动独立波特率生成器(BRT)EA=1;开启总中断。IE2=1;开启串口二中断至此串口初始化函数写完。

voidUart2_sendbyte(unsignedchardate);这里是发送单字节的无符号字符,S2BUF=date;向发送数据缓冲寄存器发送数据,在停止位发送后,串口控制寄存器S2CON第二位是发送中断请求标注位S2TI发送请求标志位由软件到1,即S2TI=1;发送一个字节后S2TI=0;S2TI=0;与WiFi模块通信时大多数发送和接收的数据是字符串,因此需要能够发送字符串功能的函数。unsignedchar*p,voidUart2_send_string(unsignedchar*p);这里是while的起始地址,向字符串开始地址(*p!='\0');通过while()以不间断的方式,发送单字节到达发送字符串的功能Uart2_sendbyte(*p);在2.2.1中有说明,p++这段代码的作用就是持续指向下一位,发送完成后,p将指向空字节,使*p=='\0'。跳过while()循环(C语言编程),字符串成功发送。

STC12单片机中的串口二有中断功能打开仅需加interrupt8即可,例如voiduart2_isr(void)interrupt8;在串口控制寄存器S2CON的一个比特是接收中断请求标志位S2RI此外,如果接收数据完成,则由硬件设置1即S2RI=1;接收完成后必须置零,否则,下次接收到的数据将不响应接收中断。接受字符data=S2BUF;S2BUF是接收数据缓冲器。将dat[i++]=date;dat数组只需保存来自WiFi模块的数据,而dat阵列则保存该数组。

本文主要介绍远距离wifi模块CV520SWiFi模块,该模块具有AP和STA两种模式。AP通常用作server,(基于51单片机物联网家庭电话Wi-Fi控制开关系统)STA常作为客户端使用实现对家电的控制功能仅需AP模式。接下来,您需要设置AP指令,AT+CWSAP=“CV520”,“12345678”,11,3打开WiFi热点名称位CV520。口令为12345678,AT+CIPSTART="TCP","192.168.4.2",11,3,可以通过TCP连接且地址为192.168.4.2端点8888,端口号码可以修改。WiFi模块和单片机要有同样的波特率才能完全通讯。设定WiFi模块的波特率需要与PC相连这里我使用的是USB转TTL模块,WIFI模块成功启动后,PC上位机上一台“ready”指示说明成功启动。在AT+RST重新启动模块后,我们通过串口助理发送代码AT+CIOBAUD=9600设置成功WiFi模块将返回OK指示设置成功,然后AT+RST重启模块才能生效。重新启动成功也将显示“ready”此时模块可以与单片机通信,MCU每次充电都需要发送AT+CIPMUX=1;AT+CIPSERVER=1,8080;模块收到后,移动设备WiFi功能可以搜索到名为CV520且输入密码12345678可以成功地连接。此时WiFi模块设置完毕!

TCP/UDP调试助手连接WiFi模块发出的热点之前,需要手机端连接成功连接WiFi如何连接到2.3有叙述IP地址192.168.4.2和端口号8888,通过TCP/UDP调试程序在移动设备端进行调试。可以发送数据表明连接成功。然后可以实现2.3的功能设置TCP/UDP调试助手发送“kaiFS”,远距离wifi模块接收数据通过TXD-RXD发送到单片机,单片机接收命令关闭风扇,同样关闭风扇发送“guanFS”。

本文详细介绍了远距离wifi模块和单片机的配置,并给出了一些具体代码,移动设备通过TCP/UDP客户端发送开关指令,从而实现通过手机对家电进行控制。
QQ咨询
微信咨询
联系电话
18681563125
返回顶部