Оглавление:
- Шаг 1: Компоненты:
- Шаг 2: ОСНОВНОЙ ДАТЧИК: влажность почвы FC 28
- Шаг 3. Общие сведения о MQTT: для удаленной публикации данных
- Шаг 4: MQTT: настройка учетной записи брокера MQTT
- Шаг 5: MQTT: создание экземпляра
- Шаг 6: MQTT: информация об экземпляре
- Шаг 7: MQTT: добавление пользователя
- Шаг 8: MQTT: назначение правила ACL
- Шаг 9: Nodemcu: настройка
- Шаг 10: Nodemcu: загрузка скриптов Lua в Nodemcu с помощью ESPlorer_1
- Шаг 11: Nodemcu: загрузка скриптов Lua в Nodemcu с помощью ESPlorer_II
- Шаг 12: Nodemcu: загрузка скриптов Lua в Nodemcu с помощью ESPlorer_III
- Шаг 13: Nodemcu: настройка Arduino для работы с Nodemcu
- Шаг 14: Nodemcu: настройка клиента MQTT в Android
- Шаг 15: Дополнительные шаги: работа с Nokia LCD 5110
- Шаг 16: Окончательная сборка
Видео: СМОТРИТЕ СВОЙ САД: 16 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Контролируйте свой сад из любого места, используйте локальный дисплей для локального мониторинга состояния почвы или используйте мобильный телефон для дистанционного мониторинга. В схеме используется датчик влажности почвы, а также температура и влажность, чтобы определять условия окружающей среды в почве.
Шаг 1: Компоненты:
- Arduino uno
- Нодемку
- Датчик температуры и влажности DHT 11
- Датчик влажности почвы - FC28
- Аккумулятор 10000 мАч (для питания arduino и nodemcu)
- Nokia LCD 5110
- Резистор (5 x 10 кОм, 1 x 330 Ом)
- Потенциометр поворотного типа (для регулировки яркости ЖК-дисплея) 0-100K
- Провода перемычки
- Макетная плата
Шаг 2: ОСНОВНОЙ ДАТЧИК: влажность почвы 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: для удаленной публикации данных
Прежде чем мы начнем дальше, давайте сначала рассмотрим удаленную публикацию данных для 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: создание экземпляра
Я создал экземпляр с именем "myIOT"
план: Симпатичный план
Шаг 6: MQTT: информация об экземпляре
Экземпляр подготавливается сразу после регистрации, и вы можете просмотреть подробные сведения об экземпляре, например информацию о подключении, на странице сведений. Вы также можете получить доступ к интерфейсу управления оттуда. Иногда вам нужно указать URL-адрес подключения
Шаг 7: MQTT: добавление пользователя
Создайте пользователя с именем «nodemcu_12» и укажите пароль.
Шаг 8: 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
- Нажмите кнопку "Обновить".
- Выберите порт COM (связь) и скорость передачи (обычно используется 9600)
- Нажмите "Открыть"
Шаг 11: Nodemcu: загрузка скриптов Lua в Nodemcu с помощью ESPlorer_II
Шаг 12: 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
Последний шаг для просмотра информации на мобильном телефоне с помощью клиента Android: -
Существует множество приложений для Android MQTT, я использовал приложение из Google Play по следующей ссылке:
.https://play.google.com/store/apps/details?
Конфигурация приложения для Android довольно проста, и необходимо настроить следующие
- Адрес хоста MQTT вместе с номером порта
- Имя и адрес пользователя MQTT
- Адрес узла брокера MQTT
После добавления вышеуказанных деталей подключите приложение, если приложение подключено к брокеру MQTT, тогда все данные о состоянии входов / данные последовательной связи от Arduino отображаются в виде журнала.
Шаг 15: Дополнительные шаги: работа с 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.
При желании мы также можем использовать настенное зарядное устройство в течение длительного времени.
Рекомендуемые:
Garduino - умный сад с Arduino: 4 шага (с изображениями)
Garduino - умный сад с Arduino: в наши дни никто не виноват. Есть ли кто-нибудь, кто случайно не убил растение ??? Трудно сохранить ваши растения живыми. Вы покупаете новое растение, а в худшем случае просто забываете его полить. В лучшем случае вы помните, что он существует, но вы
Умный домашний травяной сад: 6 шагов (с изображениями)
Умный домашний травяной сад: в этом руководстве я покажу вам, как я создал свой умный домашний травяной сад! У меня было несколько источников вдохновения для этого проекта, первое из которых - интерес к домашним моделям Aerogarden. Вдобавок у меня был неиспользованный Arduino Mega с
Автоматический горшок для растений - Маленький сад: 13 шагов (с изображениями)
Автоматизированный горшок для растений - Маленький сад: Я учусь на факультете мультимедийных и коммуникационных технологий в Howest Kortrijk. Для нашего последнего задания нам пришлось разработать проект Интернета вещей по нашему собственному выбору. Посмотрев вокруг в поисках идей, я решил сделать что-нибудь полезное для моей мамы, которая любит выращивать
Cane-eye: Смотрите своими ушами: 16 шагов (с изображениями)
Cane-eye: See Your Ears: я хочу создать интеллектуальную ‘ трость ’ которые могут помочь людям с нарушениями зрения гораздо больше, чем существующие решения. Трость сможет уведомить пользователя об объектах спереди или по бокам, создавая шум в окружающем звуке t
Смотрите или слушайте свои медиа в любом месте с подключением к Интернету: 5 шагов
Смотрите или слушайте свои медиафайлы в любом месте с подключением к Интернету: это руководство покажет вам, как создать mp3-сервер и веб-сайт, на котором размещены Flash-видео (FLV), подобные тем, которые вы видите на Youtube.com