arduino esp8266 websocket 简单示例
使用esp8266连接websocket需要用到arduinoWebSockets库
https://github.com/Links2004/arduinoWebSockets
看代码:
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <WebSocketsServer.h>
WebSocketsServer webSocket = WebSocketsServer(81);
// 消息到来
void event(uint8_t num, WStype_t type, uint8_t *payload, size_t length) {
/* param:
num: 客户端编号,可以判断接收的消息来自哪个连接的客户端
type: 事件类型
payload: 事件携带数据
length: 事件携带数据长度
*/
// 客户端消息到来
if (type == WStype_TEXT) {
// 将消息同样发回去
webSocket.sendTXT(num, payload);
}
// 客户连接时
else if (type == WStype_CONNECTED) {
webSocket.sendTXT(num, "hello");
}
// 客户端关闭连接
else if (type == WStype_DISCONNECTED || type == WStype_ERROR) {
}
}
void setup() {
// 初始化websocket
webSocket.begin();
// 设置事件处理回调
webSocket.onEvent(event);
// 断开连接
// webSocket.disconnect();
// 关闭ws
// webSocket.close();
}
void loop() {
webSocket.loop();
}