
Wayfinder








Погодная станция на ESP8266 - прошивка и настройка (часть 4)
Вэлкам снова!
Итак самая большая часть моего повествования - установка прошивки и настройка.
Итак первое что нам нужно сделать - прошить ESP. Для этого необходимо скачать и установить все необходимые драйвера, и также Nodemcu Flasher. Запускаем его, выбираем соответствующий COM порт
Далее переходим на вкладку Config и выбираем нашу прошивку, в качестве адреса указываем 0х00000
На вкладке Advanced выбираем наш размер флеша (для nodemcu и wemos d1 выбираем 4 мегабайта). Возвращаемся на вкладку Operation и жмем кнопку Flash. Дожидаемся окончания процесса...
Если все прошло нормально, запускаем любой клиент для COM порта (я использую Putty). Перезапускаем наш контроллер кнопкой reset и нажимаем кнопку подключенную по схеме (у nodemcu эта кнопка не нужна, там нужно нажать кнопку flash). При этом контроллер отформатирует SPIFFS файловую систему (на скрине видна строчка Formating FS) Мы должны увидеть что-то типа того:
Девайс запустился в режиме точки доступа, теперь к ней можно подкючиться, SSID ESP8266 и пароль password. Далее открываем адрес в браузере 192.168.1.4, должна открыться такая страница
Жмем ссылку Admin page, при запросе пароля вводим логин и пароль admin, откроется страница настроек, где нужно задать настройки вашей WiFi сети и отключить режим точки доступа (Ap mode). Нажимаем сохранить и опять смотрим нашу консоль, теперь модуль должен подключиться в кашей сети и показать айпи по которому можно к нему подключиться.
Открываем полученный ip в браузере, и опять переходим на страничку администрирования, затем на вкладку Devices. Настраиваем датчики (галочка включить, пин к которому подключен датчик и тип датчика для DHT датчиков).
Если все настроили верно то по ссылке Home page мы увидим показания датчиков. Если же датчик не прочитался, то увидим температуру -127
Датчики работают, теперь нужно настроить веб интерфейс, распаковываем файлы из скаченного архива в корень флеш карты, и в папке JS открываем main.js любым удобным редактором, на нужна секция Config. Здесь нужно указать апи ключ для получения погоды (его можно получить бесплатно на сайте http://openweathermap.org/ но нужна регистрация), город для которого вы хотите получать прогноз, а также типы выводимых данных для страницы "На улице" и "В доме". Параметры tname и hname берутся из данных с вашего контроллера по ссылке http://ip_вашего_контроллера/sensors.json где tname - имя температурного параметра (например dht1_temp), а hname - влажности. Здесь для примера указаны мои параметры, кроме апи ключа.
Если все в норме, вставляем флешку, перезапускаем контроллер и в Putty мы должны увидеть строчку Init SD card, что означает флеш карта инициализорована. Все готово! Теперь можно попробовать открыть страничку на компьютере или телефоне http://ip_вашего_контроллера/index.htm. Если вы увидели такое, товсе получилось! (Не обращайте внимание на -127, датчик ds просто не был подключен)
Получилось не совсем просто, но на мой взгляд, вполне приемлемо. Жду вопросов )
Погодная станция на ESP8266 - схема (часть 3)
Дабы уменьшить количество геморроя для построения станции, все делалось так просто, как это возможно. Схема получилась достаточно простой: сам ESP, на данной схеме используется контроллер Wemos на ESP-12 (в качестве альтернативы можно использовать Nodemcu); датчик DHT-22 (для удобства лучше использовать DHT22 shild от тех же Wemos); SD card shield (опять же лучше всего использовать готовый shield от Wemos); кнопка, она нужна для сброса настроек на дефолтовые (шилд с кнопкой есть и у сами знаете кого :) ); и второй датчик, у меня подключен DS в металлическом корпусе (резистор 4.7ком подключает между плюсом питания и сигнальной ногой).
У меня все собрано примерно вот так:
Здесь под датчиком сам микроконтроллер. Веселые китайцы прислали мне вместо SD шилда второй ESP, поэтому пришлось подключить такую махину. Шилда с кнопкой тут нет, т.к. впринципе для постоянной работы он не нужен, только на этапе настройки.
Схема достаточно простая, особых знаний не требует (все ноги подписаны). С шилдами от Wemos вообще никакого геморроя нет, все ставится друг на друга как бутерброд.
Теперь по предыдущей части. SD карту прикрутил, все работает, но код страницы пришлось поправить, большую часть библиотек пришлось подгружать с CDN сервисов, т.к. их достаточно много, плюс шрифты погодных иконок и ветра, а браузер запускает по 5 потоков одновременно и ESP малость задыхается. Да и отдача контента у него не быстрая. С загрузкой из CDN страничка грузится значительно быстрее.
В следующей части будет сама прошивка и блок файлов для флеш карты.
Погодная станция на 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...
Погодная станция на ESP8266
Решил я тут заделать домой погодную станцию с возможностью просмотра погодки на телефоне. Ввиду того что я не очень люблю километры проводов, было решено сделать сие творение на микроконтроллере ESP8266. К нему достаточно много готовых прошивок, даже есть замечательная прошивка WIFI-IOT (даже 100р не жалко), которую я вначале и использовал, но кое что мне в ней не нравилось и было принято решение написать свою. Функции достаточно простые, должен был быть вэб интерфейс управления, с заданием настроек сети и авторизации, ну и небольшая страничка управления датчиками. Датчиков планировалось 2 - DHT22 для дома и DS18x20 для улицы. Прошивка на данные момент достаточно сырая, но выглядит примерно так:
У контроллера есть возможность экспорта данных в JSON формате. Тут начинается самое интересное - красивое представление. Посмотрел много разных фреймворков в итоге решил писать интерфейс на Framework7. Штука достаточно интересная, позволяет писать веб сайты крайне похожие на нативные приложения IOS и Android. Получилось вот такое:
Данные о погоде считывается с openweathermap, прогнозы конечно не айс, но вполне достаточно. на компе выглядит примерно так:
В планах привязать в контроллеру SD карточку и перенести вэб интерфейс полностью на него, сейчас он расположен на сервере на базе Cubieboard. Есть правда подводные камни - в отличие от полноценного веб сервера, ESP единовременно может отдавать только один поток. Но для меня это собственно не сильно принципиально.
ЗЫ: собственно с задачей для которой все делалось, ESP справляется достаточно хорошо. SSID и пароль от вайфая там есть, я просто их затер :)
Ху из мистер Потапенко?
Наткнулся на такое расследование в ЖЖ. Думаю некоторым будет интересно.
http://cargomax.livejournal.com/2982.html
ЗЫ: пост не ради рейтинга, если кто-то хочет, может переделать в нормальном виде. Прошу модераторов не цепляться за якобы баяны.
Народ, давайте потролим медиамаркт
OnePlus One однодневный инвайт
Ссылка:
https://account.oneplus.net/invite/claim/GL2Z-05FM-INWP-NWRC
Может кому надо.