![]() |
發布時間: 2024-1-14 17:03
正文摘要:ESP-01S體積小價格便宜,用兩個ESP-01S就可以制作一個遙控開關。遙控器裝在一個直經2.5厘米長12厘米的塑料線管中。平時還可作為小手電筒使用。開關采用成品模塊,遙控器電路圖與外觀圖如下。如有需求 ... |
新玩法,學習了。 |
為何貼子里看不本人的回復? |
jhczy 發表于 2024-1-15 09:54 //發送程序 #include <ESP8266WiFi.h> #include <espnow.h> uint8_t broadcastAddress[] = {0x84, 0xCC, 0xA8, 0xA0, 0x2D, 0xCF};//接收ESP-01S的MAC值,可先用MAC程序獲取。 typedef struct struct_message { char a[32]; int b; } struct_message; struct_message myData; void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) { Serial.print("Last Packet Send Status: "); if (sendStatus == 0){ Serial.println("Delivery success"); } else{ Serial.println("Delivery fail"); } } void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); if (esp_now_init() != 0) { Serial.println("Error initializing ESP-NOW"); return; } pinMode(1,INPUT); pinMode(3,INPUT); esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); esp_now_register_send_cb(OnDataSent); esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_SLAVE, 1, NULL, 0); } void loop() { if(digitalRead(1)==HIGH) myData.b = 1; if(digitalRead(3)==HIGH) myData.b = 2; esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData)); delay(2000); } //MAC #include <ESP8266WiFi.h> void setup(){ Serial.begin(115200); Serial.println(); Serial.print("ESP8266 Board MAC Address: "); Serial.println(WiFi.macAddress()); } void loop() { } //接收程序 #include <ESP8266WiFi.h> #include <espnow.h> int k; typedef struct struct_message { char a[32]; int b; } struct_message; struct_message myData; void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) { memcpy(&myData, incomingData, sizeof(myData)); Serial.print("Int: "); Serial.println(myData.b); k=myData.b; Serial.println(); } void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); if (esp_now_init() != 0) { Serial.println("Error initializing ESP-NOW"); return; } pinMode(0,OUTPUT); digitalWrite(0, LOW); pinMode(2,OUTPUT); digitalWrite(2, LOW); esp_now_set_self_role(ESP_NOW_ROLE_SLAVE); esp_now_register_recv_cb(OnDataRecv); } void loop(){ if(k==2) { digitalWrite(0, LOW); digitalWrite(2, LOW); } if(k==1) { digitalWrite(0, HIGH); digitalWrite(2, HIGH); } } |
好東西。價格便宜又實用 |
熱烈歡迎樓主全盤奉獻![]() |