Как установить «IPAddress ip» с помощью переменной?
Создан файл "variableInput.h" для редактирования переменных в одном месте; вместо поиска нескольких строк кода, чтобы найти строки, требующие редактирования.
// переменнаяInput.h
//
// Определяемые пользователем переменные; одно место для редактирования переменных
// Замените сведениями о вашей сети
#define host = "esp32"
#define ssid = "YOURSSID"
#define password = "YOURPASSWORD"
// Серверы времени NTP
#define udpAddress1 = "198.50.238.156" //сервер времени NTP
#define udpAddress2 = "132.163.96.3" //сервер времени NTP
//общедоступный IP-адрес через Интернет с переадресацией портов; знай риски!!!
// IP-адрес глобальной сети. Или используйте IP-адрес LAN -- такой же, как IP-адрес сервера; нет доступа в Интернет.
#define publicIP = "YOURPUBLICIP"
#define LISTEN_PORT 8030 //порт 80 прослушивания по умолчанию для запросов "GET".
//Для построения графиков требуется «БЕСПЛАТНАЯ» учетная запись «ThingSpeak.com»..
//Введите данные "ThingSpeak.com" здесь....
//iframes графических данных доступны на «ThingSpeak.com».
#define myChannelNumber = 123456
#define myWriteAPIKey = "E12345"
//Учетные данные FTP
#define ftpUser = "FTPUSER"
#define ftpPassword = "FTPPASSWORD"
// установка адресов
#define ip(10,0,0,200);
#define gateway(10,0,0,1);
#define subnet(255, 255, 255, 0);
#define dns(10,0,0,1);
//Ограниченный доступ к списку IP-адресов клиентов.
#define Restricted = "/ANYNAME"
//Учетные данные OTA
//имя пользователя по умолчанию: USERNAME
// пароль по умолчанию: ПАРОЛЬ
// «установка адресов» — это та часть, которую я не понимаю.
Отдел связанного кода из функции "wifi_Start":
//установка адресов
IPAddress ip;
IPAddress gateway;
IPAddress subnet;
IPAddress dns;
Есть ли решение?
Уильям
@WILLIAM, 👍0
Обсуждение2 ответа
Лучший ответ:
Вы неправильно используете #define. Синтаксис: #define {имя} {значение}. Между именем и значением нет =, поэтому для строк вашего IP-адреса вы хотите #define myIp ip(192, 168, 1, 11)
Закончилось "#define ip {10,0,0,11}" в файле "variableInput.h" и "IPAddress ip;" в функции Wi-Fi-Старт. Цените помощь!, @WILLIAM
Вот как я это делаю (для Arduino, которая подключается к моему серверу Mosquitto) с помощью проводного Ethernet (WiFi работает так же):
#include <Ethernet.h>
#include <PubSubClient.h>
EthernetClient ethClient;
PubSubClient client(ethClient);
byte mac[] = {
0xde, 0xad, 0xbe, 0xef, 0xca, 0xfe
};
IPAddress ip(192, 168, 1, 75);
IPAddress server(192, 168, 1, 11);
void setup() {
client.setServer(server, 1883);
client.setCallback(callback);
Ethernet.begin(mac, ip);
}
Я так понимаю это обычное использование; Мне нужна переменная для «192.168.1.11.»., @WILLIAM
Вы можете создать структуру IPAddress(0,0,0,0)
и присвоить ей значение. Вам нужно будет взять десятичный адрес с точками vvv.xxx.yyy.zzz и умножить vvv*256^3+xxx*256^2+yyy*256^1+zzz*256^0, чтобы получить значение для присвоения., @Dougie
- Как получить исходные файлы для библиотек Arduino?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Существуют ли библиотеки сглаживания сигналов для Arduino?
- Wire.h не найден!
- Библиотека FastLED: Как настроить яркость одного пикселя в абсолютном масштабе?
- Как эта строка кода определяет, подключен ли последовательный интерфейс?
- Ошибка Specified folder/zip file does not contain a valid library
неясно, о чем вы спрашиваете... вы включили плохо отформатированный листинг кода, но неясно, как он относится к вашему вопросу... пожалуйста, объясните более подробно, что вы пытаетесь сделать... также, пожалуйста, отформатируйте листинг кодов, @jsotola
константы .h в моем проекте https://github.com/jandrassy/Regulator/blob/master/Regulator/consts.h, @Juraj
вы не должны использовать #define для констант. #define — это директивы для препроцессора., @Juraj