Оглавление:

MOS - IoT: ваша подключенная система Fogponic: 4 шага
MOS - IoT: ваша подключенная система Fogponic: 4 шага

Видео: MOS - IoT: ваша подключенная система Fogponic: 4 шага

Видео: MOS - IoT: ваша подключенная система Fogponic: 4 шага
Видео: Умный дом как экосистема: цифровые платформы, платформы IoT и приложения для управления подсистемами 2024, Ноябрь
Anonim
MOS - IoT: ваша подключенная система Fogponic
MOS - IoT: ваша подключенная система Fogponic

Смягчение шока с помощью Superflux: наш сайт

Этот Instructables является продолжением системы Fogponic. Здесь у вас будет больше возможностей для измерения данных с вашего компьютера теплицы и управления несколькими операциями, такими как поток водяного насоса, время освещения, интенсивность вентилятора, туманообразователи и все другие контроллеры, которые вы стремитесь добавить в свой Fogponic. проект.

Шаг 1. Установите ESP 8266-01 Wifi Shield на Arduino

Установите ESP 8266-01 Wifi Shield на Arduino
Установите ESP 8266-01 Wifi Shield на Arduino

Минимальные требования к материалам:

  • Ардуино MEGA 2560
  • ESP 8266-01 Щит
  • Смартфон
  • Wi-Fi соединение

Связь:

  • ARDUINO --- ESP 8266
  • 3 В --- VCC
  • 3 В --- CH_PD
  • GND --- GND
  • RX0 --- TX
  • TX0 --- RX

Шаг 2: Настройте ESP8266-12 Shield

Несколько шагов, которые нужно выполнить:

  1. После подключения экрана ESP866-91 к Arduino вам необходимо загрузить пример Bareminimum, чтобы удалить предыдущий код на вашей плате.
  2. Загрузите код в Arduino, откройте Serial monitor, установите Baudrate на 115200 и установите NL и CR.
  3. В Serial Monitor введите следующую команду: AT. Обычно вы должны получить сообщение «ОК». Если нет, поменяйте местами следующие провода: RX и TX Arduino. В зависимости от щита положение ствольной коробки может быть разным.
  4. Вам нужно будет настроить РЕЖИМ вашего щита. Существует 3 разных варианта: станция (1), режим AP (2) и точка доступа + станция (3). Для MOS нам просто нужно получить первый режим, введите следующую команду: AT + CWMODE = 1. Если щит настроен правильно, вы получите сообщение «ОК». Вы можете узнать, в каком РЕЖИМЕ вы находитесь, набрав: AR + CWMODE?
  5. Чтобы подключить ESP8266-01 к вашему типу подключения Wi-Fi: AT + CWJAP = «Сеть Wi-Fi», «Пароль»
  6. Отличная работа! Прототип MOS подключен к Интернету. Теперь нам нужно подключить ESP8266 к приложению.

Шаг 3. Настройте подключение к Wi-Fi

#include #define BLYNK_PRINT Serial2 #include #include #define EspSerial Serial2 ESP8266 wifi (EspSerial); char auth = «b02cfbbfd2b34fd1826ec0718613306c»; #include #include

void setup () {

Serial2.begin (9600); задержка (10); EspSerial.begin (115200); задержка (10); Blynk.begin (авторизация, Wi-Fi, «ИМЯ ПОЛЬЗОВАТЕЛЯ», »ПАРОЛЬ»); timer.setInterval (3000L, время отправки); }

void sendUptime () {

Blynk.virtualWrite (V1, DHT. Температура); Blynk.virtualWrite (V2, DHT.humidity); Blynk.virtualWrite (23, м); }

пустой цикл ()

{rtc.begin (); timer.run (); Blynk.run ();

}

  1. Загрузите и установите последнюю библиотеку Blynk в папку библиотеки вашей программы Arduino.
  2. Загрузите и установите последнюю библиотеку Blynk ESP8266 в папку библиотеки. Возможно, вам потребуется заменить esp8226.cp другой версией.
  3. Установите приложение BLYNK в магазине приложений или Google Play и создайте новый проект.
  4. Скопируйте / вставьте приведенный выше код в новый эскиз Arduino. Вам нужно будет изменить поле char auth на ключ аутентификации из вашего проекта BLYNK. Текущий ключ приложения MOS - «b02cfbbfd2b34fd1826ec0718613306c».
  5. Напишите, что вы используете доску wi, и свой пароль в следующей строке: Blynk.begin (auth, wifi, «???», «???»);.
  6. Запустите скетч Arduino и откройте Serial Monitor. Не забудьте изменить Baudrate на 115200 и линейную кодировку на «Both NL and CR».
  7. Через несколько секунд MOS Arduino обычно подключается к Интернету. Пришло время создать приложение MOS Blynk!

Шаг 4. Изучите и примените язык BLYNK

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

  • Пример виртуальной записи на скетче Arduino: Blynk.virtualWrite (pin, action);
  • Вы можете добавить в приложение все нужные виджеты, выполнив указанные выше действия.
  • Но имейте в виду, что некоторым датчикам потребуется внести некоторые изменения в исходный код, чтобы он соответствовал приложению BLYNK.

Например, DHT-11 + BLYNK:

  1. Убедитесь, что не выставили задержку для кода настройки недействительности после последней задержки (10); Timer.setInterval (1000, Senduptime) используется в качестве задержки для экрана ESP8266-01, а не для последовательного монитора. Вам нужно установить как минимум 1000 миллисекунд на эту задержку, иначе ESP-щит будет бороться с отправкой и получением информации.
  2. Вам нужно будет обновить библиотеку DHT для приложения Blynk. Для этого вы можете загрузить новую библиотеку DHT, набрав DHT.h и DHT11.h в Google. Есть хороший репертуар Github с библиотекой DHT внутри.
  3. Большое изменение находится в void sendUptime () с новой библиотекой DHT, вам просто нужно будет установить виртуальный контакт, который вы хотите, с желаемым условием: температура или влажность. Итак, давайте посмотрим на пример строки, которую вы можете написать для отправки данных о влажности или температуре в приложение Blynk: Blynk.virtualWrite (V1, DHT.temperature);. Blynk.virtualWrite (виртуальный пин, датчик).
  4. Void loop () получает два новых условия: Blynk.run (); и timer.run ();. Но также, даже если вы вызвали DHT в пустоте ниже, которая функционирует как цикл void (), вам также нужно будет вызвать датчик в последней пустоте.

#include dht11 DHT; #define DHT11_PIN A0 #include SimpleTimer timer; #include #define BLYNK_PRINT Serial #include #include #de ne EspSerial Serial ESP8266 wi (EspSerial); char auth = «b02cfbbfd2b34fd1826ec0718613306c»; #include #include

void setup () {

Serial2.begin (9600); задержка (10); EspSerial.begin (115200); задержка (10); timer.setInterval (1000, sendUptime); }

недействительным sendUptime ()

{Blynk.virtualWrite (V1, DHT.temperature); Blynk.virtualWrite (V2, DHT.humidity); }

void loop () {

int chk = DHT.read (DHT11_PIN); timer.run (); Blynk.run ();

}

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