iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

30天自我學習arduino系列 第 19

第十九天 WiFiUdp I

  • 分享至 

  • xImage
  •  

在做好區域網路的設定之後,我們可以把AP當作伺服器,用UDP傳輸訊息給其他的STA。

#include <ESP8266WiFi.h>
//AP
#define AP_SSID "ESP8266"
#define AP_PASS "password"
//UDP
#include <WiFiUdp.h>
#define UDP_PORT 1026 //這個PORT可以隨意更改,但傳送跟接收方的PORT要相同才收的到訊息
WiFiUDP UDP;
IPAddress sendudp(192,168,4,255);//196.168.4.1是本機位址,255是廣播,如果只想傳給其中一個STA可以更改IP位址
void setup( ){
  Serial.begin(9600);
  WiFi.mode(WIFI_AP);
  WiFi.softAP(AP_SSID,AP_PASS);
  UDP.begin(UDP_PORT);
  
  char *mes="Hello World";
  UDP.beginPacket(sendudp,UDP_PORT);
  UDP.write(mes);
  UDP.endPacket();
}
void loop( ){
}

這個方法只能傳送字元陣列,如果要傳送String的話要先轉換成字元陣列。

  String message="Hello World";
  char *mes=(char*)malloc((message.length()+1)*sizeof(char));
  message.toCharArray(mes,message.length()+1);
  UDP.beginPacket(sendudp,UDP_PORT);
  UDP.write(mes);
  UDP.endPacket();
  free(mes);

上一篇
第十八天 ESP8266WiFiMulti
下一篇
第二十天 WIFIUDP II
系列文
30天自我學習arduino30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言