Оглавление:

Часы метеостанции ESP8266: 4 шага
Часы метеостанции ESP8266: 4 шага

Видео: Часы метеостанции ESP8266: 4 шага

Видео: Часы метеостанции ESP8266: 4 шага
Видео: Интернет часы на ESP8266/ESP32 + MAX7219 2024, Июль
Anonim
ESP8266 Часы метеостанции
ESP8266 Часы метеостанции

Этот проект - хороший способ отображения времени и погоды в небольшом удобном пакете. Я объясню проект, как он работает и покажу код здесь.

Вы можете нажимать разные кнопки, чтобы показать текущую погоду в заданном месте, а также температуру и давление. Вид по умолчанию - это время, полученное с сервера NTP.

Нет необходимости устанавливать время, поскольку время синхронизируется с NTP-сервером и является очень точным. В этой конфигурации у меня есть время и локальный IP-адрес. Вы можете изменить код, чтобы включить дату, погоду, давление и температуру для отображения на главном экране или на кнопках.

Шаг 1: Схема

Схема
Схема
Схема
Схема

Схема относительно проста и проста в использовании.

следить. Есть файл gerber, если вы хотите раскрутить свою собственную печатную плату. На всю схему подается напряжение 5 В через разъем micro USB. Это делает схему простой и удобной для питания. 5 В подается на стабилизатор 3,3 В с низким падением напряжения LM 3940, который подает 3,3 В на ESP8266. На ESP8266 есть USB-разъем, однако я решил не использовать его в целом, потому что 5V также управляют ЖК-дисплеем.

3,3 В должно использоваться с ESP8266, вы не можете управлять им напрямую с 5 В, так как это убьет плату.

Два тактильных переключателя подключены к D5 и D6 и настроены в коде для вывода различной информации на экран. Я установил для них температуру / давление и прогноз.

Все компоненты легко припаяны к перфорированной плате вручную, или гербер доступен в моем GitHub по адресу

Шаг 2: Код

github.com/allenelectronics/esp8266weatherstation

Код скомпилирован в среде Arduino IDE и требует некоторой настройки для работы.

Во-первых, вам необходимо установить плату ESP8266 в IDE, чтобы загрузить в нее код.

Подробные инструкции о том, как это сделать, находятся здесь:

Чтобы получить функцию погоды, я решил использовать RemoteMe, который собирает данные о погоде прямо из API и генерирует код, который можно вставить в ваш код. Вам нужно будет зарегистрироваться и настроить поток данных на их веб-сайте:

Документацию по RemoteMe можно найти здесь:

Есть несколько специфических определений, уникальных для вашей настройки, которые вам нужно будет заполнить перед загрузкой:

#define WIFI_NAME "SSID ИДЕТ ЗДЕСЬ"

#define WIFI_PASSWORD "ПАРОЛЬ ИДЕТ ЗДЕСЬ"

#define DEVICE_ID 1

#define DEVICE_NAME "ПОЛУЧИТЬ НА REMOTEME. ORG"

#define ТОКЕН «ПОЛУЧИТЬ НА REMOTEME. ORG»

Определения здесь должны быть установлены вами на основе данных вашего Wi-Fi и токена, который вы получаете от RemoteMe.

Вам необходимо убедиться, что все эти библиотеки установлены и включены в код. Я включил ссылки на те, которые труднее получить.

# включить //https://github.com/remoteme/RemoteMeArduinoLibrary

#включают

#включают

#включают

#включают

Последняя часть, которую нужно изменить, - это ваше местоположение, поскольку в этом проекте не используется GPS. Вам необходимо изменить строку «LOCATION»:

иначе if (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("МЕСТО / n");

Serial.println (FC);

lcd.clear ();

lcd.print («МЕСТОПОЛОЖЕНИЕ»);

lcd.setCursor (0, 1);

lcd.print (fc);

lcd.setCursor (0, 0);

задержка (5000);

prevButtonState2 = buttonState2;

Шаг 3: Сборка

Сборка
Сборка
Сборка
Сборка

Сборка

В то время у меня не было доступа к 3D-принтеру, это был мой последний проект, в котором использовался готовый кейс. Я использовал легко доступный корпус панели сигнализации, предназначенный для ЖК-дисплея 16x2.

Ссылка: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Внутри все набито, ЖК-дисплей 16x2 приклеен к передней панели, а плата приклеена горячим способом.

Шаг 4: Заключение

Заключение

Это изящный проект настольных цифровых часов, который не требует регулировки или настройки, он берет время с сервера NTP и отображает его на четком ЖК-дисплее с подсветкой.

Это не для новичков, так как требуется некоторая конфигурация кода, а также необходимо настроить потоки данных. Если у вас есть какие-либо вопросы или комментарии, пожалуйста, оставьте мне комментарий.

Рекомендуемые: