ESP8266 TCP-соединение WiFiClient проблема
Я использую плату ESP8266 01 для отправки некоторых данных через TCP на сервер в локальной сети. Мой код:
#include <ESP8266WiFi.h>
const char* ssid = "ssid";
const char* password = "pas";
const char* host = "192.168.1.103";
void setup() {
Serial.begin(115200);
delay(10);
// Wi-Fi соединение
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
delay(5000);
Serial.print("connecting to ");
Serial.println(host);
// Используйте класс WiFiClient для создания TCP-соединений
WiFiClient client;
const int port = 8888;
if (!client.connect(host, port))
{
Serial.println("connection failed");
return;
}
}
void loop() {
while(Serial.available() == 0)
{
//ждем серийных данных arduino
}
while(Serial.available())
{
// отправляем данные на сервер
client.print(Serial.read());
}
}
После взлома кода в Arduino IDE я получаю сообщение об ошибке:
In function 'void loop()':
espwifitcp1:57: error: 'client' was not declared in this scope
client.print(Serial.read());
^
exit status 1
'client' was not declared in this scope
Похоже, что если я объявлю WiFiClient client;
внутри функции setup()
, к нему нельзя будет получить доступ извне. Я правильно понимаю задачу? Я пытался объявить объект вне функций setup()
и loop()
, но получил еще больше ошибок. Есть предложения?
@Austris, 👍2
2 ответа
Лучший ответ:
▲ 3
Вы объявили WiFiClient client;
только в рамках setup(). Переместите его объявление в глобальную область, поместив его над объявлением void setup()
,
@Mazaryk
Смотрите также:
- ESP8266 отправляет TCP HEX-пакет из 4 символов
- Веб-сервер ESP8266 недоступен через 2 минуты после сброса
- ESP8266 не подключается к Wi-Fi
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Можно ли отключить WiFi на ESP8266?
- Несколько клиентских серверов через Wi-Fi
- Как отключить или остановить точку доступа в ESP8266?
- ESP8266 — действительно ли у него по умолчанию плохой радиус действия Wi-Fi?
Или напишите «WiFiClient» вместо «WifiClient» X_X., @qräbnö