СМОТРИТЕ СВОЙ САД: 16 шагов (с изображениями)
СМОТРИТЕ СВОЙ САД: 16 шагов (с изображениями)
Anonim
СМОТРИТЕ СВОЙ САД
СМОТРИТЕ СВОЙ САД

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

Шаг 1: Компоненты:

  1. Arduino uno
  2. Нодемку
  3. Датчик температуры и влажности DHT 11
  4. Датчик влажности почвы - FC28
  5. Аккумулятор 10000 мАч (для питания arduino и nodemcu)
  6. Nokia LCD 5110
  7. Резистор (5 x 10 кОм, 1 x 330 Ом)
  8. Потенциометр поворотного типа (для регулировки яркости ЖК-дисплея) 0-100K
  9. Провода перемычки
  10. Макетная плата

Шаг 2: ОСНОВНОЙ ДАТЧИК: влажность почвы FC 28

БАЗОВЫЙ ДАТЧИК: Влага почвы FC 28
БАЗОВЫЙ ДАТЧИК: Влага почвы FC 28

Для измерения влажности мы используем датчик влажности почвы FC 28, основной принцип работы которого следующий:

Технические характеристики датчика влажности почвы FC-28 следующие: Входное напряжение: 3,3 - 5 В

Выходное напряжение: 0 - 4,2 В

Входной ток: 35 мА

Выходной сигнал: аналоговый и цифровой

Датчик влажности почвы FC-28 имеет четыре контакта: VCC: Power

A0: аналоговый выход

D0: цифровой выход

GND: Земля

Аналоговый режим Чтобы подключить датчик в аналоговом режиме, нам потребуется использовать аналоговый выход датчика. Принимая аналоговый выходной сигнал датчика влажности почвы FC-28, датчик дает нам значение от 0 до 1023. Влажность измеряется в процентах, поэтому мы сопоставим эти значения от 0 до 100, а затем покажем эти значения на серийный монитор. Вы можете установить различные диапазоны значений влажности и в зависимости от этого включать или выключать водяной насос.

Модуль также содержит потенциометр, который устанавливает пороговое значение. Это пороговое значение будет сравниваться компаратором LM393. Светодиод выхода будет гореть вверх и вниз в соответствии с этим пороговым значением.

Код для взаимодействия с датчиком влажности почвы используется на следующих этапах.

Шаг 3. Общие сведения о MQTT: для удаленной публикации данных

Понимание MQTT: для удаленной публикации данных
Понимание MQTT: для удаленной публикации данных

Прежде чем мы начнем дальше, давайте сначала рассмотрим удаленную публикацию данных для IOT.

MQTT расшифровывается как MQ Telemetry Transport. Это чрезвычайно простой и легкий протокол обмена сообщениями для публикации / подписки, разработанный для устройств с ограниченными возможностями и сетей с низкой пропускной способностью, высокой задержкой или ненадежностью. Принципы проектирования состоят в том, чтобы минимизировать требования к пропускной способности сети и ресурсам устройства, одновременно пытаясь обеспечить надежность и некоторую степень уверенности в доставке. Эти принципы также делают протокол идеальным для развивающегося мира подключенных устройств «машина-машина» (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, 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, пароль, SSID Wi-Fi и т. Д.

Чтобы загрузить указанные выше скрипты в 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.

Сбор информации об идентификаторе ЧИПа:

У каждого nodemcu есть идентификатор чипа (возможно, какой-то номер), этот идентификатор дополнительно требуется для публикации сообщения брокеру MQTT, чтобы узнать об идентификаторе чипа, нажмите кнопку Chip id в "ESPlorer"

Шаг 13: Nodemcu: настройка Arduino для работы с Nodemcu

Приведенный ниже код определяет влажность, температуру и влажность почвы, а затем отображает данные на ЖК-дисплее Nokia 5110 и поочередно.

Код Arduino

Затем подключите Arduino RX --- Nodemcu TX

Ардуино TX --- Nodemcu RX

Приведенный выше код также включает способы использования библиотеки softserial, с помощью которой выводы DO могут также использоваться для работы в качестве последовательных выводов, я использовал выводы RX / TX для подключения к последовательному порту nodemcu.

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

Шаг 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

Ниже приведена конфигурация контактов ЖК-дисплея 5110

1) RST - Сброс

2) CE - Chip Enable

3) D / C - Выбор данных / команд

4) DIN - последовательный вход

5) CLK - тактовый вход

6) VCC - 3,3 В

7) СВЕТ - Управление подсветкой

8) GND - Земля

Как показано выше, подключите Arduino к LCD 5110 в указанном выше порядке с резистором 1-10 кОм между ними.

Ниже приведены контакты для подключения ЖК-дисплея 5110 к Arduino uno

  • CLK - цифровой вывод 3 Arduino
  • DIN - цифровой контакт 4 Arduino
  • D / C - цифровой вывод 5 Arduino
  • RST - цифровой вывод 6 Arduino
  • CE - Цифровой вывод 7 Arduino

Дополнительный вывод «BL» ЖК-дисплея 5110 можно использовать вместе с потенциометром (0-100K) для управления яркостью ЖК-дисплея.

Библиотека, используемая для кода выше: - Загрузите PCD8544 по указанной ниже ссылке

Интеграцию DHT11, датчика температуры и влажности с Arduino можно посмотреть по следующей ссылке DHT11.

Шаг 16: Окончательная сборка

Окончательная сборка
Окончательная сборка

Последний шаг - предпочтительно собрать все вышеперечисленное в коробке, для питания я использовал блок питания на 10000 мАч для питания как Arduino, так и Nodemcu.

При желании мы также можем использовать настенное зарядное устройство в течение длительного времени.