Размер шрифта
-
+

ESP32 для начинающих: Умный дом своими руками - стр. 12


..WiFi.begin("YOUR_SSID", "YOUR_PASSWORD");


..while (WiFi.status() != WL_CONNECTED) {


....delay(1000);


....Serial.println("Connecting to WiFi…");


..}


..Serial.println("Connected to WiFi");


}


Функция `loop()` выполняется бесконечно и отвечает за основную логику приложения. Здесь вы будете проверять состояние датчиков, отправлять данные на сервер или управлять различными компонентами, подключенными к вашему ESP32.

Установка библиотек

Для расширения возможностей ESP32 в Arduino IDE вы можете использовать специальные библиотеки. Они упрощают программирование, предлагая готовые функции и классы. Чтобы установить библиотеку, откройте Arduino IDE и перейдите в меню "Инструменты" > "Управление библиотеками". Введите название нужной библиотеки, например, "Adafruit Unified Sensor" для работы с различными датчиками.

После установки библиотеки добавьте её в свой проект, вставив следующую строку в начале вашего кода:

pp


#include


Это откроет доступ к функциям, содержащимся в этой библиотеке, и упростит взаимодействие с датчиками.

Установка и использование Монитора порта

Для отладки и мониторинга данных, отправляемых и получаемых вашей платой ESP32, используйте "Монитор порта" в Arduino IDE. Он позволяет просматривать сообщения от ESP32 в реальном времени. Чтобы открыть Монитор порта, нажмите комбинацию клавиш Ctrl + Shift + M или выберите соответствующий пункт в меню.

Перед отправкой данных в Монитор порта убедитесь, что скорость передачи данных настроена правильно. Например, если в вашем коде указано `Serial.begin(115200);`, то и в Мониторе порта также установите 115200.

Пример вывода сообщения об ошибке подключения к Wi-Fi:

pp


if (WiFi.status() != WL_CONNECTED) {


..Serial.println("Failed to connect. Retrying…");


}


Примеры проектирования

Теперь, когда вы ознакомились с основами программирования, настало время практики. Рассмотрим простую задачу – подключение датчика температуры и отправка данных в облачный сервис. Допустим, вам нужно подключить датчик DHT11 для измерения температуры и влажности.

Сначала установите библиотеку DHT Sensor Library, затем добавьте её в ваш проект следующим образом:

pp


#include

#define DHTPIN 4...... // Пин, к которому подключен датчик


#define DHTTYPE DHT11..// Тип датчика

DHT dht(DHTPIN, DHTTYPE);


В функции `setup()` инициализируйте датчик DHT:

pp


void setup() {


..Serial.begin(115200);


..dht.begin();


}


В функции `loop()` добавьте код для считывания данных с датчика и их вывода в Монитор порта:

pp


void loop() {


..float h = dht.readHumidity();.. // Чтение влажности


..float t = dht.readTemperature(); // Чтение температуры

..if (isnan(h) || isnan(t)) {......// Проверка на ошибки


....Serial.println("Failed to read from DHT sensor!");


....return;


..}

..Serial.print("Humidity: ");


..Serial.print(h);


..Serial.print(" %\t");


..Serial.print("Temperature: ");


..Serial.print(t);


..Serial.println(" *C");


..


..delay(2000); // Ожидание перед следующим чтением


}


Советы по отладке

При разработке проектов важно не забывать о процедурах отладки. Всегда используйте вывод в Монитор порта для проверки правильности выполнения команд. Если ваш код не работает, как предполагалось, проверьте правильность подключения датчиков и компонентов, а также обратите внимание на сообщения в Мониторе порта, которые могут указать на причины проблем.

Страница 12