API: examples/UDPClientMultiple/UDPClientMultiple.ino Source File

ESP8266 Arduino API

UDPClientMultiple.ino
1 
22 #include "ESP8266.h"
23 
24 #define SSID "ITEAD"
25 #define PASSWORD "12345678"
26 #define HOST_NAME "172.16.5.12"
27 #define HOST_PORT (5416)
28 
29 ESP8266 wifi(Serial1);
30 
31 void setup(void)
32 {
33  Serial.begin(9600);
34  Serial.print("setup begin\r\n");
35 
36  Serial.print("FW Version:");
37  Serial.println(wifi.getVersion().c_str());
38 
39  if (wifi.setOprToStationSoftAP()) {
40  Serial.print("to station + softap ok\r\n");
41  } else {
42  Serial.print("to station + softap err\r\n");
43  }
44 
45  if (wifi.joinAP(SSID, PASSWORD)) {
46  Serial.print("Join AP success\r\n");
47  Serial.print("IP: ");
48  Serial.println(wifi.getLocalIP().c_str());
49  } else {
50  Serial.print("Join AP failure\r\n");
51  }
52 
53  if (wifi.enableMUX()) {
54  Serial.print("multiple ok\r\n");
55  } else {
56  Serial.print("multiple err\r\n");
57  }
58 
59  Serial.print("setup end\r\n");
60 }
61 
62 void loop(void)
63 {
64  uint8_t buffer[128] = {0};
65  static uint8_t mux_id = 0;
66 
67  if (wifi.registerUDP(mux_id, HOST_NAME, HOST_PORT)) {
68  Serial.print("register udp ");
69  Serial.print(mux_id);
70  Serial.println(" ok");
71  } else {
72  Serial.print("register udp ");
73  Serial.print(mux_id);
74  Serial.println(" err");
75  }
76 
77  char *hello = "Hello, this is client!";
78  wifi.send(mux_id, (const uint8_t*)hello, strlen(hello));
79 
80  uint32_t len = wifi.recv(mux_id, buffer, sizeof(buffer), 10000);
81  if (len > 0) {
82  Serial.print("Received:[");
83  for(uint32_t i = 0; i < len; i++) {
84  Serial.print((char)buffer[i]);
85  }
86  Serial.print("]\r\n");
87  }
88 
89  if (wifi.unregisterUDP(mux_id)) {
90  Serial.print("unregister udp ");
91  Serial.print(mux_id);
92  Serial.println(" ok");
93  } else {
94  Serial.print("unregister udp ");
95  Serial.print(mux_id);
96  Serial.println(" err");
97  }
98  delay(5000);
99  mux_id++;
100  if (mux_id >= 5) {
101  mux_id = 0;
102  }
103 }
104 
bool send(const uint8_t *buffer, uint32_t len)
Send data based on TCP or UDP builded already in single mode.
Definition: ESP8266.cpp:386
bool joinAP(String ssid, String pwd, uint8_t pattern=3)
Join in AP.
Definition: ESP8266.cpp:178
String getVersion(void)
Get the version of AT Command Set.
Definition: ESP8266.cpp:80
uint32_t recv(uint8_t *buffer, uint32_t buffer_size, uint32_t timeout=1000)
Receive data from TCP or UDP builded already in single mode.
Definition: ESP8266.cpp:396
bool enableMUX(void)
Enable IP MUX(multiple connection mode).
Definition: ESP8266.cpp:288
String getLocalIP(void)
Get the IP address of ESP8266.
Definition: ESP8266.cpp:281
The definition of class ESP8266.
bool unregisterUDP(void)
Unregister UDP port number in single mode.
Definition: ESP8266.cpp:313
bool registerUDP(String addr, uint32_t port)
Register UDP port number in single mode.
Definition: ESP8266.cpp:308
bool setOprToStationSoftAP(uint8_t pattern1=3, uint8_t pattern2=3)
Set operation mode to station + softap.
Definition: ESP8266.cpp:146
Provide an easy-to-use way to manipulate ESP8266.
Definition: ESP8266.h:42
Generated on Thu Apr 9 2015 13:57:59 for API by   doxygen 1.8.7