参考博文: https://blog.csdn.net/zhuguanlin121/article/details/118862684
https://blog.csdn.net/chinesekobe/article/details/108089201?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE%E7%9A%84%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85wemos&utm_medium=distribute.pc_search_result.none-task-blog-2
all
sobaiduweb~default-3-108089201.pc_search_result_control_group&spm=1018.2226.3001.4187
wemos服务端代码
#include <ESP8266WiFi.h> //WIFI头文件
char ssid[] = "youbao"; //自己家的WIFI账号
char passwd[] = "12345678"; //WIFI密码
const byte open_data_tv[] =
{
0xB3,0x4C,0xDC //电视的打开码 开和关的码一致
};
const byte close_data_tv[] =
{
0xB3,0x4C,0xDC //电视的关闭码 开和关的码一致
};
const byte open_data_airc[] = //空调的打开码
{
0x40,0xDB,0x04
};
const byte close_data_airc[] = //空调的关闭码
{
0x01,0xFA,0xDE
};
void initWifiSta()
{
WiFi.mode(WIFI_STA); // 设置STA模式
WiFi.begin(ssid, passwd); //连接网络
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(WiFi.localIP()); //打印IP地址
delay(500);
}
int port = 8888; //端口号
WiFiServer server(port); // 设置服务器端口号
void setup()
{
Serial.begin(9600); //设置波特率(和红外设相连接的波特率)
initWifiSta();
}
void loop() {
WiFiClient client = server.available(); //设置为服务端
server.begin();//服务初始化
Serial.println(WiFi.localIP()); //打印IP
while (client.connected()) //等待客户端的连接
{
while (client.available() > 0) {
char cmd = client.read(); //从客户端读取数据
Serial.println(cmd); //打印读取的数据
if(cmd=='1')
{
Serial.write(open_data_tv,(sizeof(open_data_tv) / sizeof(open_data_tv[0]))); //给红外设备发送开电视码
}
else if(cmd=='2')
{
Serial.write(close_data_tv,(sizeof(close_data_tv) / sizeof(close_data_tv[0])));//给红外设备发送关电视码
}
if(cmd=='3')
{
Serial.write(open_data_airc,(sizeof(open_data_airc) / sizeof(open_data_airc[0]))); //给红外设备发送开空调码
}
else if(cmd=='4')
{
Serial.write(close_data_airc,(sizeof(close_data_airc) / sizeof(close_data_airc[0])));//给红外设备发送关空调码
}
}
}
}
版权声明:本文为mantouyouyou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。