суббота, 12 августа 2017 г.

Как сделать датчик температуры и влажности с мониторингом по тлефону (Часть 2)

Софт

Для реализации проекта нужно установить на свой персональный компьютер программу, которя позволит прошить модуль. Для этого очень хорошо подходит ARDUINIO IDE - среда разработки програмного обеспечения для ARDUINO компонентов. Что такое ARDUINO? Это скажем так, электронный конструктор. Разные электронные модули, которые можно програмировать, соединять вместе, и таким образом создавать  разные очень интересные вещи. ESP8266 является ARDUINO совместимым модулем, поэтому можно использовать для програмирования ARDUINO IDE. 
Данные передаются на телефон с помощью апликации Blynk

Ставим софт

ARDUINO IDE 
Качаем отсюда ARDUINO версию для вашей операционной системы. У меня на Windows 10 стоит ARDUINO 1.8.3. Заинсталировав ARDUINO IDE надо "настроить" систему для работы с ESP8266.
Открываем IDE
1. Идем - File - Preferences, и вставляем на вкладке Preferences - линк:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Таким образом мы добавляем в список оборудования с которым работает IDE нашу плату ESP8266.


2. Tools - Boards - Boards manager
В Board manager видим что- то вроде ESP8266 by...
Находим, жмем, инсталируем

Ждем...
3. Теперь в списке плат появится наша 8266. Выбираем нашу плату - ставим кружочек :)


4. Выбираем порт на котором будем. работаь с платой.

Да кстати, там же в Tools указываем Upload speed 11520. 

5. Ставим  библиотеки в ARDUINO IDE для работы с ESP8266 и Blynk (о Bynk далее).
Жмем Choose to Download - download zip

Как скачается - распаковываем в папку Arduino - libraries.

BLYNK
Опять же ставим библиотеку. Библиотеку качаем отсюда.  Описание как ставить на английском тут. Но мне не трудно, переведу :)
1. По ссылке указанной ранее, качаем новеиший zip фаил.
2. Распаковываем. В арчиве будут несколько папок и фаилов.
3. Копируем содержание папки "libraries" в папку "Arduino" ----"libraries".  Папку "tools" просто копируем в папку "Arduino".  Папка "Arduino " должна быть у вас на компьютере. Она появляется в ходе инсталиации Arduino IDE.

Далее, находим на Google Play или на App store (как оно там у Apple называется),  регистрируемся. Дальше надо создать новый проект, жмем "Create new project".


Дальше введите название проекта, например  "ESP8266". Таакже в поле "Hardware model"надо выбрать тип устройства с которым будете работать. В нашем случае это ESP8266. Далее на ыказанный вами почтовый ящик, придет уникальный код, так называемый "Auth token".


После нажатия кнопки "Create", появится собственно само поле для проектирования графического инттерфейса вашего приложения.


Жмем на плюсик вверху справа — появится панель инструментов "Widget Box" для добавления виджетов на вашу панель управления.


Забегая вперед скажу, что для нашего проекта понадобятся виджеты: "Button", "LCD" и "History graph".
Это скажем так была общая часть. Тоесть все это пригодится для любого проекта ESP8266/Blynk.
Пока все. В следуюший раз объясню как сделать саму апликацию в Blynk, как написать скетч ARDUINO, и как поменять прошывку модуля ESP8266.

четверг, 3 августа 2017 г.

Как сделать датчик температуры и влажности с мониторингом по тлефону

Как сделать датчик температуры и влажности с мониторингом по тлефону

Итак, как я писал ранее, в планах у меня создание системы умной теплицы на основе микрокомпьютера Raspberry Pi.
Еще в самом начале проектирования, возник у меня вопрос. А какже передавать данные с датчиков на сам комп? По проводам? Так это минимум метров 5 кабеля. Это если комп ставить в элэктрощиток у самой теплицы. Но тогда придется его снимать кахдый раз по окончании сезона, и ставить в начале сезона, ибо зиму комп не переживет. Да и неясно н затухнет ли сигнал от датчика в таком длинном кабеле?Ставить в доме? Э то вобще метров 15 кабеля, который еще в дом завести надо. И тут пару месяцев назад знакомый  показал мне чудесную штуку под названием ESP8266. Это модуль WiFI размером с большую монету и ценой около 2 баксов. Можно почитать подробнее тут: https://ru.wikipedia.org/wiki/ESP8266.
А если по простому, то с помосшью этой штуки можно считывать данные с датчиков разных, и передавать эти данные по вайфаю, ну или подключив какую-нибудь нагрузку, например розетку, управлять ею дистанционно.
Итак решение проблемы с проводами наидено :). Для начала решил сделать чтот- то попроще. Так сказать поиграться с течнологией.
А "попроще", это датчик температуры и влажности с передачей данных на мой телефон по сети интернет.

Железки

Итак, что вам понадобится для создания такого устройства.

1. собственно сам модуль вайфай. Брал вот такой.
ESP8266-01 (advanced)

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

2. ТТЛ конвертер или програматор специаальный. Если будете использовать ТТЛ конвертер, придеться самим еще небольшую схемку для прошивки модуля сделать. Схемы в инете доступны- публиковать не буду специально. У самого признаюсь с ТТЛ конвертером не получилось. А потом нашел на Али ппрограматор для ESP08266-01.

USB to ESP8266 ESP-01 Wi-Fi Adapter Module w/ CH340G Driver -R179 

С ним все работаает. Но подходит он только для 01 серии устройств.

3. Конвертер напряжения. Для питаание ESP модулей нужно постоянное напряжение 3.0В - 3.6В. В идеале 3,3В.
Запитать можно от акумуляторов, батареек или от сети, преобразовав переменный ток 220В в постоянный. В любом случае понадобится дополнительный конвертер ибо ни с помощью батареек ни от сети получить идеальные 3.3В не получится.
Например литий-ионный акумулятор дает при полном заряде до 4.2В. Такое напряжение скорее всего убъет модуль. 3 батарейки по 1.5В, соответственно дают 4.5В. Поэтому и нужен конвертер, чтобы снизить напряжение до нужного в  3.3В. Кстати забегая вперед скажу, что у меня от одного литиевого акума,  счема отработала всего 6 часов. Маловато как-то. С батарейками тотже результат (3*1.5В).
Так что лучше всего взять источник постоянного напряжения работающий от сети. Если источник выдает 5В, то вам вполне подоидет вот такой конвертер:

5V To 3.3V DC-DC Step-Down Power Supply Buck Module AMS1117 800MA
В спецификации указано, что максимальное входное напряжение для данного конвертера - 10В. При более высоком входном напряжении, можно использовать допустим вот такой понихзющий конвертер:
https://www.amazon.com/RioRand-LM2596-Converter-1-23V-30V-1Pcs-LM2596/dp/B008BHAOQO
 Step- down converter

4. Датчик тмпературы и влажности DHT22 (AM2302). Довольно-таки знааменитый датчик. Информации по нему полно.
DHT22 (AM2302)

5. Источник питания.
Я планирую использовать импульсный блок питания на 12В. Тоесть я уже пробовал такой подключать. Купил блочек который монтируется на реику в электрощитке. Но почему-то при подаче на него напряжения в 220В, вщитке выбивает реле утечки. Толи блочек бракованный, толи я чего - то не знаю.
Пока подключил схему от 12В акумулятора.
6. Провода, выключатель, корпус и т. д.

В следующей части речь поидет о програмном обеспечении, нужном для реализации проекта :).