ESP8266远程控制:实现网络通讯与设备控制

[复制链接]
发表于 2025-7-7 16:47:21 | 显示全部楼层 |阅读模式
概述:
迩来一直在弄esp8266的网络通讯,但是一直都还没搞懂到底esp8266可不可以通过毗连一个网络过后,在很远的地方使用网络将其关掉
  在网上找了两个教程都有程序,都跑通了
  第一个
第二个找不到了,但是程序有
     CSDN上放文件好像你们取不了,三连私聊找我取也可以
    下面是获取资料的途径和开发工具的途径: https://docs.ai-thinker.com/esp8266
https://docs.ai-thinker.com/tools
  有一篇文章提到:http://tcp.doit.am/
这个网站,你们可以打开看看,有一个网址是115开头的,这个IP地点的意思是你在给你esp8266写入AT指令时写入服务器的IP地点,也就是说,写入后,你的esp8266就连上的公用的IP只不过和别人使用的通道大概不同(还必须连一个网络才可以),然后你的手机端就可以通过输入信息到这个IP和通道就可以让esp8266接收信息了
  ESP8266远程控制:实现网络通讯与设备控制

一、背景与目标

物联网物联网项目中,远程控制设备是一个常见的需求。ESP8266作为一种低功耗、高性能的WiFi模块,被广泛应用于各种远程控制场景。本文将探究如何通过ESP8266实现远程控制功能,特别是如何在毗连到网络后,通过网络指令远程关闭设备。
二、实现远程控制的方案

(一)硬件与网络底子

ESP8266模块通过WiFi毗连到网络,可以接收来自网络的指令来控制设备。为了实现远程控制,必要以下硬件和网络底子:


  • ESP8266模块:用于毗连WiFi网络并接收控制指令。
  • 稳定的WiFi网络:ESP8266必要毗连到一个可访问互联网的WiFi网络。
  • 云平台或服务器:用于转发控制指令到ESP8266模块。
(二)云平台的选择

在实现远程控制时,选择一个可靠的云平台至关紧张。云平台的作用是作为中央人,转发手机或电脑发送的指令到ESP8266模块。Doit.am远程信息转发服务是一个不错的选择,它提供了简单的使用步调和稳定的转发服务。
(三)编程实现

1. 毗连到WiFi网络

起首,必要让ESP8266毗连到一个WiFi网络。这可以通过发送AT指令AT+CWJAP来实现,指定WiFi的名称和密码。
  1. char c[]="AT+CWJAP="WIFI名称","WIFI密码"";
  2. esp8266_send_cmd1((u8 *)c);
复制代码
2. 创建TCP毗连

毗连到WiFi后,必要创建一个TCP毗连到云平台提供的服务器。使用AT+CIPSTART命令来创建毗连,指定服务器的IP地点和端口号。
  1. char e[]="AT+CIPSTART=0,"TCP","IP地址",端口号";
  2. esp8266_send_cmd1((u8 *)e);
复制代码
3. 接收与处理控制指令

一旦TCP毗连创建,ESP8266就可以接收来自云平台转发的控制指令。通过串口接收停止服务函数,可以实时接收并处理这些指令。
  1. void USART3_IRQHandler(void)
  2. {
  3.     u8 res;
  4.     if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)//接收到数据
  5.     {
  6.         res =USART_ReceiveData(USART3);
  7.         if(res != 'A')                     //以‘A’为结束位,收到‘A’表示一次接收消息完成
  8.         {
  9.             if((USART3_RX_STA&(1<<15))==0)//接收完的一批数据,还没有被处理,则不再接收其他数据
  10.             {
  11.                 USART3_RX_BUF[USART3_RX_STA++]=res;        //记录接收到的值
  12.             }
  13.             else
  14.             {
  15.                 USART3_RX_STA|=1<<15;                                //没有收到结束符‘A’,收到的字节数>=0x80,强制标记接收完成
  16.             }
  17.         }
  18.         else
  19.         {
  20.             USART3_RX_STA|=1<<15;                                //接收消息完成
  21.         }
  22.     }
  23. }
复制代码
在主函数中,根据接收到的指令控制设备。比方,收到"on"指令时打开LED,收到"off"指令时关闭LED。
  1. int main(void)
  2. {
  3.     USART_Config();
  4.     delay_init();
  5.     LED_Init();
  6.     usart3_init(115200);
  7.     esp8266_start_trans();
  8.     printf("初始化完成\n");
  9.     USART3_RX_STA=0;
  10.     while(1)
  11.     {
  12.         if(USART3_RX_STA&0x8000)   //如果消息接收完成,则处理
  13.         {
  14.             if(strstr((const char*)USART3_RX_BUF,"on"))  //这里是看接收到的消息中有没有自己设置的命令“on”
  15.             {
  16.                 GPIO_ResetBits(GPIOC,GPIO_Pin_13);
  17.             }
  18.             if(strstr((const char*)USART3_RX_BUF,"off"))
  19.             {
  20.                 GPIO_SetBits(GPIOC,GPIO_Pin_13);
  21.             }
  22.             USART3_RX_STA=0;    //消息处理完成,开始重新接收
  23.             memset(USART3_RX_BUF,0,600);         //将接收区清0
  24.         }
  25.     }
  26. }
复制代码
(四)开发工具与资源

为了方便开发,可以使用以下工具和资源:


  • SDK一体化开发环境:支持ESP32和ESP8266的开发,可以从安信可科技获取。
  • 烧录工具:用于烧录WiFi固件,可以从安信可科技下载。
  • 串口调试助手:用于调试串口通讯,可以从安信可科技获取。
三、测试与验证

(一)测试环境搭建


  • 毗连ESP8266到WiFi网络:确保ESP8266能够成功毗连到指定的WiFi网络。
  • 创建TCP毗连:使用云平台提供的IP地点和端口号,创建TCP毗连。
  • 发送控制指令:通过手机或电脑端的网络调试助手,发送控制指令到ESP8266。
(二)测试结果

通过测试,验证了ESP8266模块可以成功毗连到WiFi网络,并通过云平台接收来自手机或电脑的控制指令。当发送"on"指令时,LED灯亮起;发送"off"指令时,LED灯熄灭。


   如果必要手机端或者电脑端网络调试软件的可以三连支持一下,私信我获取
  

使用ESP8266模块毗连到一个特定的TCP服务器,这个服务器是由http://tcp.doit.am/提供的远程信息转发服务。
使用AT+CIPSTART命令用于创建一个TCP或UDP毗连。
  1. AT+CIPSTART=<id>,"<type>","<ip_addr>",<port>
复制代码
使用这个特定的IP和端口可以确保您的ESP8266模块能够毗连到这个公共服务器,并与其他客户端举行通讯。
如果你想要用APP或者网页来控制你的esp8266,你必要创建一个自己的IP

这是我自己做的一个网页
   如果必要这个网页可以私信我获取
  通过这个网页向esp8266发送请求对IO口举行控制拉高或者拉低
四、总结与预测

本文先容了如何使用ESP8266模块实现远程控制功能。通过毗连到WiFi网络和云平台,ESP8266可以接收来自网络的控制指令,并根据指令控制设备。将来,可以进一步优化控制逻辑,增长更多的控制功能,如温度监控监控、湿度监控监控等,以满足更多的应用场景需求。

如果您必要获取相关代码或进一步的资助,可以通过私信接洽我。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

快速回复 返回顶部 返回列表