Wayfinder

Wayfinder

На Пикабу
7101 рейтинг 16 подписчиков 11 подписок 23 поста 1 в горячем
Награды:
Ежегодное приключениеПизанская ёлкаМакаронная статуяСкуфзаводЧайкам тут не местоЗа киберзащитуЗа киноманство10 лет на Пикабу
5

Погодная станция на ESP8266 - прошивка и настройка (часть 4)

Часть 1

Часть 2

Часть 3


Вэлкам снова!


Прошивка и файлы для SD карты


Итак самая большая часть моего повествования - установка прошивки и настройка.

Итак первое что нам нужно сделать - прошить ESP. Для этого необходимо скачать и установить все необходимые драйвера, и также Nodemcu Flasher. Запускаем его, выбираем соответствующий COM порт 

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Далее переходим на вкладку Config и выбираем нашу прошивку, в качестве адреса указываем 0х00000

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

На вкладке Advanced выбираем наш размер флеша (для nodemcu и wemos d1 выбираем 4 мегабайта). Возвращаемся на вкладку Operation и жмем кнопку Flash. Дожидаемся окончания процесса...

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Если все прошло нормально, запускаем любой клиент для COM порта (я использую Putty). Перезапускаем наш контроллер кнопкой reset и нажимаем кнопку подключенную по схеме (у nodemcu эта кнопка не нужна, там нужно нажать кнопку flash). При этом контроллер отформатирует SPIFFS файловую систему (на скрине видна строчка Formating FS) Мы должны увидеть что-то типа того:

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Девайс запустился в режиме точки доступа, теперь к ней можно подкючиться, SSID ESP8266 и пароль password. Далее открываем адрес в браузере 192.168.1.4, должна открыться такая страница

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Жмем ссылку Admin page, при запросе пароля вводим логин и пароль admin, откроется страница настроек, где нужно задать настройки вашей WiFi сети и отключить режим точки доступа (Ap mode). Нажимаем сохранить и опять смотрим нашу консоль, теперь модуль должен подключиться в кашей сети и показать айпи по которому можно к нему подключиться.

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Открываем полученный ip в браузере, и опять переходим на страничку администрирования, затем на вкладку Devices. Настраиваем датчики (галочка включить, пин к которому подключен датчик и тип датчика для DHT датчиков).

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Если все настроили верно то по ссылке Home page мы увидим показания датчиков. Если же датчик не прочитался, то увидим температуру -127

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Датчики работают, теперь нужно настроить веб интерфейс, распаковываем файлы из скаченного архива в корень флеш карты, и в папке JS открываем main.js любым удобным редактором, на нужна секция Config. Здесь нужно указать апи ключ для получения погоды (его можно получить бесплатно на сайте http://openweathermap.org/ но нужна регистрация), город для которого вы хотите получать прогноз, а также типы выводимых данных для страницы "На улице" и "В доме". Параметры tname и hname берутся из данных с вашего контроллера по ссылке http://ip_вашего_контроллера/sensors.json где tname - имя температурного параметра (например dht1_temp), а hname - влажности. Здесь для примера указаны мои параметры, кроме апи ключа.

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Если все в норме, вставляем флешку, перезапускаем контроллер и в Putty мы должны увидеть строчку Init SD card, что означает флеш карта инициализорована. Все готово! Теперь можно попробовать открыть страничку на компьютере или телефоне http://ip_вашего_контроллера/index.htm. Если вы увидели такое, товсе получилось! (Не обращайте внимание на -127, датчик ds просто не был подключен)

Погодная станция на ESP8266 - прошивка и настройка (часть 4) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Получилось не совсем просто, но на мой взгляд, вполне приемлемо. Жду вопросов )

Показать полностью 10
14

Погодная станция на ESP8266 - схема (часть 3)

Часть 1

Часть 2


Итак схема станции:

Погодная станция на ESP8266 - схема (часть 3) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Дабы уменьшить количество геморроя для построения станции, все делалось так просто, как это возможно. Схема получилась достаточно простой: сам ESP, на данной схеме используется контроллер Wemos на ESP-12 (в качестве альтернативы можно использовать Nodemcu); датчик DHT-22 (для удобства лучше использовать DHT22 shild от тех же Wemos); SD card shield (опять же лучше всего использовать готовый shield от Wemos); кнопка, она нужна для сброса настроек на дефолтовые (шилд с кнопкой есть и у сами знаете кого :) ); и второй датчик, у меня подключен DS в металлическом корпусе (резистор 4.7ком подключает между плюсом питания и сигнальной ногой).


У меня все собрано примерно вот так:

Погодная станция на ESP8266 - схема (часть 3) Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Здесь под датчиком сам микроконтроллер. Веселые китайцы прислали мне вместо SD шилда второй ESP, поэтому пришлось подключить такую махину. Шилда с кнопкой тут нет, т.к. впринципе для постоянной работы он не нужен, только на этапе настройки.


Схема достаточно простая, особых знаний не требует (все ноги подписаны). С шилдами от Wemos вообще никакого геморроя нет, все ставится друг на друга как бутерброд.


Теперь по предыдущей части. SD карту прикрутил, все работает, но код страницы пришлось поправить, большую часть библиотек пришлось подгружать с CDN сервисов, т.к. их достаточно много, плюс шрифты погодных иконок и ветра, а браузер запускает по 5 потоков одновременно и ESP малость задыхается. Да и отдача контента у него не быстрая. С загрузкой из CDN страничка грузится значительно быстрее. 


В следующей части будет сама прошивка и блок файлов для флеш карты. 

Показать полностью 2

Погодная станция на ESP8266 (часть 2)

Небольшой update. Решил потестировать SD-Card shield. Вылилось 2 проблемы:

1. Не поддерживаются длинные имена файлов. (Решение достаточно простое - укоротить имена файлов)

2. К сожалению, ввиду того, что разработчики с собой никак не договариваются, в 2-х библиотеках SD и SPIFFS используется одно имя класса - File. Соответствующий багрепорт уже есть (не мой) https://github.com/esp8266/Arduino/issues/1723


По отдельности библиотеки работают без проблем, по результатам теста, загрузка вэб интерфейса будет длиться порядка 10-12 секунд, а может быть и больше (много конечно, но ничего не поделаешь).


Первая часть тут: http://pikabu.ru/story/pogodnaya_stantsiya_na_esp8266_403928...

6

Погодная станция на ESP8266

Решил я тут заделать домой погодную станцию с возможностью просмотра погодки на телефоне. Ввиду того что я не очень люблю километры проводов, было решено сделать сие творение на микроконтроллере ESP8266. К нему достаточно много готовых прошивок, даже есть замечательная прошивка WIFI-IOT (даже 100р не жалко), которую я вначале и использовал, но кое что мне в ней не нравилось и было принято решение написать свою. Функции достаточно простые, должен был быть вэб интерфейс управления, с заданием настроек сети  и авторизации, ну и небольшая страничка управления датчиками. Датчиков планировалось 2 - DHT22 для дома и DS18x20 для улицы. Прошивка на данные момент достаточно сырая, но выглядит примерно так:

Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост
Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост
Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост

У контроллера есть возможность экспорта данных в JSON формате. Тут начинается самое интересное - красивое представление. Посмотрел много разных фреймворков в итоге решил писать интерфейс на Framework7. Штука достаточно интересная, позволяет писать веб сайты крайне похожие на нативные приложения IOS и Android. Получилось вот такое:

Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост
Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост

Данные о погоде считывается с openweathermap, прогнозы конечно не айс, но вполне достаточно. на компе выглядит примерно так:

Погодная станция на ESP8266 Esp8266, Микроконтроллеры, Умный дом, Длиннопост

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


ЗЫ: собственно с задачей для которой все делалось, ESP справляется достаточно хорошо. SSID и пароль от вайфая там есть, я просто их затер :)

Показать полностью 6
1

Ху из мистер Потапенко?

Наткнулся на такое расследование в ЖЖ. Думаю некоторым будет интересно.


http://cargomax.livejournal.com/2982.html


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

Отличная работа, все прочитано!