Оглавление:

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

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

Видео: СМОТРИТЕ СВОЙ САД: 16 шагов (с изображениями)
Видео: Золотые слова Алины Кабаевой 😍 2024, Декабрь
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.

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

Рекомендуемые: