Skip to content

Commit

Permalink
Подключил сокеты
Browse files Browse the repository at this point in the history
  • Loading branch information
tretyakovsa committed Mar 17, 2019
1 parent f975132 commit 3d52814
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 6 deletions.
2 changes: 1 addition & 1 deletion Scenary.ino
Expand Up @@ -33,7 +33,7 @@ void handleScenary() {

//addFileString("events.txt",configJson+"\r\n");
goCommands(Scenary); // Делаем разбор сценариев
//webSocket.broadcastTXT(configJson);
webSocket.broadcastTXT(configJson);
// Serial.println("test");
sendStatus("voice", emptyS);
flag = false;
Expand Down
8 changes: 4 additions & 4 deletions Sonoff_WiFi_switch.ino
Expand Up @@ -11,12 +11,12 @@
//#define DimmerM // 784
//#define safeData
//#define macros
//#define webSocketM
#define webSocketM
#include "sets.h"

void setup() {
Serial.begin(115200);
Serial.println();
//Serial.begin(115200);
//Serial.println();
chipID = String( ESP.getChipId() ) + "-" + String( ESP.getFlashChipId() );
TickerScheduler(1);
SPIFFS.begin();
Expand All @@ -31,7 +31,7 @@ void setup() {
initScenary();
setupToInit();
#ifdef webSocketM

initWebSoket();
#endif
//testPin();
}
Expand Down
54 changes: 54 additions & 0 deletions Web.ino
Expand Up @@ -414,7 +414,61 @@ String FileList(String path) {


#ifdef webSocketM
void initWebSoket() {
webSocket.begin();
webSocket.onEvent(webSocketEvent);
sendOptions(webSocketS, 1);
}
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
switch (type) {
case WStype_DISCONNECTED: // Событие происходит при отключени клиента
//Serial.println("web Socket disconnected");
break;
case WStype_CONNECTED: // Событие происходит при подключении клиента
{
//Serial.println("web Socket Connected");
webSocket.sendTXT(num, configJson); // Отправим в всю строку с данными используя номер клиента он в num
}
break;
case WStype_TEXT: // Событие происходит при получении данных текстового формата из webSocket
if (length > 0) {
String command = String((const char *)payload);
String cmd = jsonRead(command, "cmd");
if (cmd == "") {
cmd = jsonRead(command, voiceS);
sendOptions(voiceS, cmd);
flag = sendStatus(voiceS, cmd);
} else {
sendOptions("test", cmd);
sCmd.readStr(cmd);
}

//Serial.print("cmd=");
//Serial.println(cmd);

}

//webSocket.sendTXT(num, "message here"); // Можно отправлять любое сообщение как строку по номеру соединения
// webSocket.broadcastTXT("message here");
break;
case WStype_BIN: // Событие происходит при получении бинарных данных из webSocket
// webSocket.sendBIN(num, payload, length);
break;
}
}
// Отправка данных в Socket всем получателям
// Параметры Имя ключа, Данные, Предыдущее значение
void SoketData (String key, String data, String data_old) {

if(getOptions(webSocketS) != "") {
if (data_old != data) {
String broadcast = "{}";
jsonWrite(broadcast, key, data);
webSocket.broadcastTXT(broadcast);
//Serial.println(getOptions(webSocketS));
}
}
}


#endif
2 changes: 1 addition & 1 deletion sets.h
Expand Up @@ -28,7 +28,7 @@ TickerScheduler ts(15);
StringCommand sCmd; // Обьект для работы с командами
//#include <ESP8266LLMNR.h>
//#include <ESP8266NetBIOS.h>
#ifdef webSocket
#ifdef webSocketM
#include <WebSocketsServer.h> //https://github.com/Links2004/arduinoWebSockets
WebSocketsServer webSocket = WebSocketsServer(81);
#endif
Expand Down

0 comments on commit 3d52814

Please sign in to comment.