Съдържание:

НАСЛЕДВАЙТЕ ВАШАТА ГРАДИНА: 16 стъпки (със снимки)
НАСЛЕДВАЙТЕ ВАШАТА ГРАДИНА: 16 стъпки (със снимки)

Видео: НАСЛЕДВАЙТЕ ВАШАТА ГРАДИНА: 16 стъпки (със снимки)

Видео: НАСЛЕДВАЙТЕ ВАШАТА ГРАДИНА: 16 стъпки (със снимки)
Видео: 16 ошибок штукатурки стен. 2024, Ноември
Anonim
НАСЛЕДВАЙТЕ ВАШАТА ГРАДА
НАСЛЕДВАЙТЕ ВАШАТА ГРАДА

Наблюдавайте градината си отвсякъде, използвайте местен дисплей, за да следите състоянието на почвата на местно ниво или използвайте Mobile за наблюдение от дистанционно. Веригата използва сензор за влажност на почвата, съчетан с температура и влажност, за да информира за околните условия на почвата.

Стъпка 1: Компоненти:

  1. Arduino uno
  2. Nodemcu
  3. Сензор за температура и влажност DHT 11
  4. Сензор за влажност на почвата - FC28
  5. Батерия 10000mah (за захранване на arduino и nodemcu)
  6. Nokia LCD 5110
  7. Резистор (5 x 10k, 1 x 330ohms)
  8. Потенциометър Ротационен тип (за регулиране на яркостта на LCD) 0-100K
  9. Кабелни проводници
  10. Платка

Стъпка 2: ОСНОВЕН СЕНЗОР: Влажност на почвата FC 28

ОСНОВЕН СЕНЗОР: Влажност на почвата FC 28
ОСНОВЕН СЕНЗОР: Влажност на почвата FC 28

За да измерваме влагата, използваме сензор за почвена влажност FC 28, чийто основен принцип е както следва:-

Спецификациите на сензора за влажност на почвата FC-28 са следните: Входно напрежение: 3.3-5V

Изходно напрежение: 0 - 4.2V

Входящ ток: 35mA

Изходен сигнал: аналогов и цифров

Сензорът за влажност на почвата FC-28 има четири щифта: VCC: Захранване

A0: Аналогов изход

D0: Цифров изход

GND: Земя

Аналогов режим За да свържете сензора в аналогов режим, ще трябва да използваме аналоговия изход на сензора. Когато приемаме аналоговия изход от сензора за влажност на почвата FC-28, сензорът ни дава стойност от 0 до 1023. Влагата се измерва в проценти, така че ние ще картографираме тези стойности от 0 до 100 и след това ще покажем тези стойности на серийния монитор. Можете да зададете различни диапазони на стойностите на влагата и да включите или изключите водната помпа според нея.

Модулът съдържа и потенциометър, който ще зададе праговата стойност. Тази прагова стойност ще бъде сравнена от сравнителя LM393. Изходният светодиод ще светне и намалява според тази прагова стойност.

Кодът за взаимодействие със сензора за влажност на почвата се приема в следващите стъпки

Стъпка 3: Разбиране на MQTT: за отдалечено публикуване на данни

Разбиране на MQTT: за отдалечено публикуване на данни
Разбиране на MQTT: за отдалечено публикуване на данни

Преди да започнем по -нататък, нека първо преминем през Отдалеченото публикуване на данни за IOT

MQTT означава MQ телеметричен транспорт. Това е изключително прост и лек протокол за съобщения за публикуване/абониране, предназначен за ограничени устройства и ниска честотна лента, с висока латентност или ненадеждни мрежи. Принципите на проектиране са да се сведат до минимум мрежовата честотна лента и изискванията за ресурси на устройството, като същевременно се опитва да се гарантира надеждност и известна степен на сигурност на доставката. Оказва се, че тези принципи правят протокола идеален за възникващия свят на свързани машини „машина към машина“(M2M) или „Интернет на нещата“, както и за мобилни приложения, където честотната лента и захранването на батерията са на първо място.

Източник:

MQTT [1] (MQ Telemetry Transport или Message Queuing Telemetry Transport) е стандарт ISO (ISO/IEC PRF 20922) [2] протокол за съобщения, базиран на публикуване и абониране. Работи върху TCP/IP протокола. Той е предназначен за връзки с отдалечени места, където е необходим „малък код за отпечатък“или мрежовата честотна лента е ограничена.

Източник:

Стъпка 4: MQTT: Настройка на MQTT брокерска сметка

Има различни акаунти за брокер на MQTT, за този урок използвах cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT са управлявани Mosquitto сървъри в облака. Mosquitto внедрява транспортния протокол MQ Telemetry, MQTT, който предоставя леки методи за осъществяване на съобщения, използвайки модел на опашки за публикуване/абониране.

Следните стъпки трябва да бъдат изпълнени за настройване на акаунта в cloudmqtt като брокер

  • Създайте акаунт и влезте в контролния панел
  • натиснете Create+, за да създадете нов екземпляр
  • За да започнем, трябва да се регистрираме за клиентски план, можем да изпробваме CloudMQTT безплатно с плана CuteCat.
  • След създаването на „екземпляр“, следващата стъпка е да създадете потребител и допълнително да присвоите разрешение на потребителя за достъп до съобщения (чрез правила за ACL)

Пълното ръководство за настройка на брокерски акаунт на MQTT в cloudmqtt може да бъде достъпно, като следвате връзката: -

Всички горепосочени стъпки се поставят една по една в следващите слайдове

Стъпка 5: MQTT: Създаване на инстанция

MQTT: Създаване на екземпляр
MQTT: Създаване на екземпляр

Създадох инстанция с име "myIOT"

план: Сладък план

Стъпка 6: MQTT: Информация за инстанция

MQTT: Информация за инстанция
MQTT: Информация за инстанция

Инстанцията се предоставя незабавно след регистрация и можете да видите подробностите за екземпляра, като информация за връзка, на страницата с подробности. Можете също да стигнете до интерфейса за управление от там. Понякога трябва да използвате определен URL адрес за връзка

Стъпка 7: MQTT: Добавяне на потребител

MQTT: Добавяне на потребител
MQTT: Добавяне на потребител

Създайте потребител с име „nodemcu_12“и дайте парола

Стъпка 8: MQTT: Присвояване на правило за ACL

MQTT: Присвояване на правило за ACL
MQTT: Присвояване на правило за ACL

След създаването на нов потребител (nodemcu_12) запазете новия потребител, сега следващият ACL ще бъде предоставен на новия потребител. На приложената снимка може да се види, че съм предоставил както достъп за четене, така и за запис на потребителя.

Моля, обърнете внимание: Темата трябва да бъде добавена, както е показано във формат (това е допълнително необходимо за четене и запис от възел към MQTT клиент)

Стъпка 9: Nodemcu: Конфигуриране

В този конкретен проект съм използвал nodemcu от Knewron Technologies, повече информация може да бъде получена чрез връзката: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Може да се види, че NodeMCU е фърмуер, базиран на eLua за ESP8266 WiFi SOC от Espressif. Nodemcu от knowron е предварително инсталиран с фърмуер, така че просто трябва да заредим софтуера на приложението, а именно: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Всички горни скриптове lua могат да бъдат изтеглени от Github, като следвате връзката: Изтеглете от Github

От горните скриптове lua променете скриптовете config.lua с името на хоста на MQTT, паролата, wifi ssid и т.н.

За да изтеглите горните скриптове в nodemcu, трябва да използваме инструменти като "ESPlorer", вижте документите за повече информация:

Работата с ESPlorer е описана в следващата стъпка

Стъпка 10: Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_1

Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_1
Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_1
  • Щракнете върху бутона Опресняване
  • Изберете COM (комуникационен) порт и скорост на предаване (често използвани 9600)
  • Щракнете върху Отваряне

Стъпка 11: Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_II

Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_II
Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_II

Стъпка 12: Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_III

Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_III
Nodemcu: Качване на Lua скриптове в Nodemcu с ESPlorer_III

Бутонът за запазване и компилиране ще изпрати всичките четири скрипта lua до nodemcu, след като този nodemcu е готов да говори с нашия arduino.

Събиране на информацията за CHIP ID:

Всеки nodemcu има идентификатор на чип (вероятно някакъв номер). Този идентификатор на чип е допълнително необходим за публикуване на съобщение до брокера на MQTT, за да знаете за идентификатора на чипа, щракнете върху бутона Чип идентификатор в "ESPlorer"

Стъпка 13: Nodemcu: Конфигуриране на Arduino за разговори с Nodemcu

Посоченият по -долу код определя влажността на почвата, температурата и влажността и по -нататък показва данните на nokia LCD 5110 и серийно.

Код на Arduino

След това свържете Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Горният код включва и начини за използване на softserial библиотека, чрез която DO пиновете могат да се използват и за работа като серийни пинове, използвал съм RX/TX щифтове за свързване към серийния порт nodemcu.

Внимание: Тъй като nodemcu работи с 3.3V, се препоръчва използването на превключвател на нива, но аз се свързах директно без никакъв превключвател на нива и производителността изглежда точно подходяща за горното приложение.

Стъпка 14: Nodemcu: Настройка на MQTT клиент в Android

Nodemcu: Настройка на MQTT клиент в Android
Nodemcu: Настройка на MQTT клиент в Android

Последната стъпка за преглед на информацията за мобилни устройства с android клиент:-

Има различни приложения за Android MQTT, използвах това от google play със следната връзка:

.https://play.google.com/store/apps/details?

Конфигурацията за приложението за Android е доста проста и човек трябва да конфигурира следното

  • MQTT Адрес на хоста заедно с порт №
  • Потребителско име и адрес на MQTT
  • Адрес на възел на брокер на MQTT

След като добавите по -горе подробности, свържете приложението, ако приложението е свързано с MQTT брокер, тогава всички данни за състоянието на входа / серийната комуникация от arduino се показват като дневник.

Стъпка 15: Допълнителни стъпки: Работа с Nokia LCD 5110

Допълнителни стъпки: Работа с Nokia LCD 5110
Допълнителни стъпки: Работа с Nokia LCD 5110

Следват конфигурацията на щифтове за LCD 5110

1) RST - Нулиране

2) CE - Разрешаване на чип

3) D/C - Избор на данни/команди

4) DIN - Сериен вход

5) CLK - Часовник

6) VCC - 3.3V

7) LIGHT - Контрол на подсветката

8) GND - Земя

Както е показано по-горе, свържете arduino към LCD 5110 в горния ред с 1-10 K резистор между тях.

Следват връзките с пин за контакт за LCD 5110 към Arduino uno

  • CLK - Arduino Digital pin 3
  • DIN - Arduino цифров щифт 4
  • D/C - Arduino Digital pin 5
  • RST - Arduino Digital pin 6
  • CE - Arduino Digital pin 7

Допълнителен "BL" щифт на LCD 5110 може да се използва заедно с потенциометър (0-100K) за контрол на яркостта на LCD

Библиотеката, използвана за горния код, е: - Изтеглете PCD8544 от долупосочената връзка

Интеграцията на DHT11, сензор за температура и влажност с arduino може да се разгледа от следната връзка DHT11.

Стъпка 16: Окончателното сглобяване

Окончателното сглобяване
Окончателното сглобяване

Последната стъпка е да сглобите всичко по -горе в кутия за предпочитане, за захранване използвах 10000mah powerbank за захранване както на Arduino, така и на Nodemcu.

Можем да използваме и зарядно устройство за стенен контакт за дълго време, ако желаете.

Препоръчано: