Почему, когда я пытаюсь подключить ESP8266 к узлу, разорванному в моем локальном хосте, он продолжает отключаться и подключаться?
Я думаю, что проблема в библиотеке, потому что я попытался реализовать этот код в соответствии с учебником, который я нашел на YouTube Youtube. Обсуждение этого урока-это первая часть, в которой они реализуют сервер node js для прослушивания определенного события из сокета ввода-вывода, вторая часть, в которой они создают простое приложение iOS, использующее swift для управления RGB-подсветкой на ESP8266, и последняя часть, в которой они делают ESP8266 для прослушивания события, которое имеет полезную нагрузку в качестве значений RGB. Тем не менее, в моей реализации я использую веб-приложение angular для управления включением и выключением света на Arduino, но проблема в том, что при попытке прослушать событие, которое включается и выключается, мой ESP8266 не подключается к моему серверу и не печатает все это сообщение на последовательном.
Вот код для моего ESP8266 для подключения к моему узловому серверу.
#include <SocketIoClient.h>
#include<ESP8266WiFi.h>
#include<Arduino.h>
#define USER_SERIAL Serial
SocketIoClient socket;
const char* ssid = "bunvath_guest";
const char* pass = "*************";
void setup() {
USER_SERIAL.begin(115200);
searchWifi();
initWiFi();
socket.on("message", handleMessage);
socket.on("light_on",handleMessage);
socket.emit("message","hello from esp");
socket.begin("192.168.0.102",3000);
}
void loop() {
socket.loop();
}
void handleMessage(const char* message, size_t length){
USER_SERIAL.println(message);
}
void initWiFi(){
WiFi.mode(WIFI_STA);
WiFi.hostname("ESP-host");
WiFi.setPhyMode(WIFI_PHY_MODE_11G);
WiFi.enableInsecureWEP(true);
WiFi.begin(ssid,pass);
while(WiFi.status() != WL_CONNECTED){
USER_SERIAL.print(".");
delay(1000);
}
USER_SERIAL.print("");
USER_SERIAL.println("WiFi connected");
USER_SERIAL.print("IP Address: ");
USER_SERIAL.println(WiFi.localIP());
WiFi.setAutoReconnect(true);
WiFi.persistent(true);
}
void searchWifi(){
int numberOfNetwork = WiFi.scanNetworks();
USER_SERIAL.println("-----");
for ( int i = 0; i< numberOfNetwork;i++){
USER_SERIAL.print("Network name: ");
USER_SERIAL.println(WiFi.SSID(i));
USER_SERIAL.print("Signal Strength: ");
USER_SERIAL.println(WiFi.RSSI(i));
USER_SERIAL.println("-------------");
}
}
Вот мой код сервера узла для получения всех подключений от клиента и печати идентификатора клиента при подключении нового клиента. Кроме того, этот сервер узла будет прослушивать все события, которые клиент выделяет и транслирует другому клиенту.
var port = process.env.PORT||3000
const http = require('http')
const app = require('./app')
const cors = require('cors');
let message = ''
const server = http.createServer(app)
const io = require('socket.io')(server,{cors:{
origin:'http://localhost:4200',
credentials: true
}}
)
server.listen(port,()=>{
console.log("server run on ", port)
})
io.on("connection",(socket)=>{
console.log(socket.id)
socket.on('message', data =>{
// console.log(data)
socket.broadcast.emit('message',data)
})
socket.on('open_light',data=>{
socket.broadcast.emit('open_light',data)
console.log(data)
})
})
Вот сообщение, которое я получил от serial monitor, я чувствую, что мой Arduino уже подключен к моему серверу, но он продолжает восстанавливаться. Более того, в моем сервере я не видел подключения какого-либо нового клиента к серверу, поэтому я действительно понимаю, что происходит с этим. Кроме того, я уверен, что мой сервер узлов работает отлично, потому что у меня реализовано веб-приложение angular для создания событий, и я видел, как это событие печатается на сервере.
12:57:13.083 -> Network name: Meas Nakry
12:57:13.083 -> Signal Strength: -85
12:57:13.083 -> -------------
12:57:13.083 -> Network name: bunvath_guest
12:57:13.083 -> Signal Strength: -57
12:57:13.083 -> -------------
12:57:13.083 -> Network name: BLaNKxD
12:57:13.083 -> Signal Strength: -89
12:57:13.121 -> -------------
12:57:13.121 -> Network name: Tuy vanny1
12:57:13.121 -> Signal Strength: -85
12:57:13.121 -> -------------
12:57:13.121 -> ....WiFi connected
12:57:17.165 -> IP Address: 192.168.0.100
12:57:17.165 -> [SIoC] add packet 42["message",hello from esp]
12:57:17.269 -> [SIoC] Disconnected!
12:57:17.269 -> [SIoC] event disconnected not found. 2 events available
12:57:17.787 -> [SIoC] Disconnected!
12:57:17.787 -> [SIoC] event disconnected not found. 2 events available
12:57:18.376 -> [SIoC] Disconnected!
12:57:18.376 -> [SIoC] event disconnected not found. 2 events available
12:57:18.992 -> [SIoC] Disconnected!
12:57:18.992 -> [SIoC] event disconnected not found. 2 events available
12:57:19.633 -> [SIoC] Disconnected!
12:57:19.633 -> [SIoC] event disconnected not found. 2 events available
12:57:20.217 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:20.217 -> [SIoC] packet "42["message",hello from esp]" emitted
12:57:20.251 -> [SIoC] Disconnected!
12:57:20.251 -> [SIoC] event disconnected not found. 2 events available
12:57:20.771 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:20.771 -> [SIoC] Disconnected!
12:57:20.771 -> [SIoC] event disconnected not found. 2 events available
12:57:21.435 -> [SIoC] Disconnected!
12:57:21.435 -> [SIoC] event disconnected not found. 2 events available
12:57:22.044 -> [SIoC] Disconnected!
12:57:22.044 -> [SIoC] event disconnected not found. 2 events available
12:57:22.596 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:22.596 -> [SIoC] Disconnected!
12:57:22.596 -> [SIoC] event disconnected not found. 2 events available
12:57:23.178 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:23.178 -> [SIoC] Disconnected!
12:57:23.178 -> [SIoC] event disconnected not found. 2 events available
12:57:23.798 -> [SIoC] Disconnected!
12:57:23.798 -> [SIoC] event disconnected not found. 2 events available
12:57:24.403 -> [SIoC] Disconnected!
12:57:24.403 -> [SIoC] event disconnected not found. 2 events available
12:57:24.945 -> [SIoC] Disconnected!
12:57:24.945 -> [SIoC] event disconnected not found. 2 events available
12:57:25.533 -> [SIoC] Disconnected!
12:57:25.533 -> [SIoC] event disconnected not found. 2 events available
12:57:26.201 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:26.201 -> [SIoC] Disconnected!
12:57:26.201 -> [SIoC] event disconnected not found. 2 events available
12:57:26.792 -> [SIoC] Disconnected!
12:57:26.792 -> [SIoC] event disconnected not found. 2 events available
12:57:27.380 -> [SIoC] Disconnected!
12:57:27.380 -> [SIoC] event disconnected not found. 2 events available
12:57:27.894 -> [SIoC] Disconnected!
12:57:27.894 -> [SIoC] event disconnected not found. 2 events available
12:57:28.711 -> [SIoC] Disconnected!
12:57:28.711 -> [SIoC] event disconnected not found. 2 events available
12:57:29.426 -> [SIoC] Disconnected!
12:57:29.426 -> [SIoC] event disconnected not found. 2 events available
12:57:30.131 -> [SIoC] Disconnected!
12:57:30.131 -> [SIoC] event disconnected not found. 2 events available
12:57:30.655 -> [SIoC] Disconnected!
12:57:30.655 -> [SIoC] event disconnected not found. 2 events available
12:57:31.254 -> [SIoC] Disconnected!
12:57:31.254 -> [SIoC] event disconnected not found. 2 events available
12:57:31.787 -> [SIoC] Disconnected!
12:57:31.787 -> [SIoC] event disconnected not found. 2 events available
12:57:32.375 -> [SIoC] Disconnected!
12:57:32.375 -> [SIoC] event disconnected not found. 2 events available
12:57:33.171 -> [SIoC] Disconnected!
12:57:33.171 -> [SIoC] event disconnected not found. 2 events available
12:57:33.731 -> [SIoC] Disconnected!
12:57:33.731 -> [SIoC] event disconnected not found. 2 events available
12:57:34.435 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:34.435 -> [SIoC] Disconnected!
12:57:34.435 -> [SIoC] event disconnected not found. 2 events available
12:57:34.978 -> [SIoC] Connected to url: /socket.io/?transport=websocket
12:57:34.978 -> [SIoC] Disconnected!
12:57:34.978 -> [SIoC] event disconnected not found. 2 events available
12:57:35.581 -> [SIoC] Disconnected!
12:57:35.581 -> [SIoC] event disconnected not found. 2 events available
12:57:36.180 -> [SIoC] Disconnected!
12:57:36.180 -> [SIoC] event disconnected not found. 2 events available
Надеюсь, кто-нибудь сможет найти, в чем проблема в этих кодах, я действительно расстроен из-за этого уже 3 дня.
@Ly Bunvath, 👍1
Обсуждение1 ответ
Я думаю, вам нужно разрешить все источники, по крайней мере, для начала. В данный момент только соединения, идущие от узла, на котором работает машина, могут получить доступ к серверу.
Удаление учетных данных в качестве следующего шага, который я не вижу, чтобы он использовался, также может продвинуть ваше тестирование.
const io = require('socket.io')(server,{cors:{
origin:'*:*',
credentials: true
}}
- Как отправить HTTP-post данные в Node Express API с Arduino esp822 6?
- Продолжать получать скандон
- Сервер NodeMCU перестает отвечать через некоторое время
- Ошибка запроса HTTP myphp RFID
- Не удается подключиться к Интернету с помощью проекта Proteus Arduino
- Команда продолжает повторяться, потому что веб-страница пытается обновить
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
localhost
- это ESP8266, @jsotolaЕсть ли какая-то особая причина, по которой вы устанавливаете ESP8266 на древний протокол 802.11 g?, @StarCat
Я думаю, 802.11 g, я использую его для отладки, когда пытаюсь подключиться к своему Wi-Fi, но в этом нет ничего полезного, @Ly Bunvath
для локального хоста сервер узла не ESP8266, @Ly Bunvath
Я могу подтвердить, что в этом протоколе нет ничего полезного, но когда я удаляю этот код, мой ESP8266 все еще не может подключиться к моему узловому серверу js., @Ly Bunvath
@LyBunvath "локальный узел" на узловом сервере доступен только с узлового сервера, поскольку локальный узел является внутренней обратной связью, @jsotola
Я думаю, что использую одну и ту же сеть для запуска своего сервера node js, а также подключаю свой esp к той же сети, так что это может быть не из-за этой проблемы. Более того, я видел учебник, которому я следую, они могут подключаться подобным образом., @Ly Bunvath