Мини-кейс 6: Arduino IoT Cloud
Сообщество Arduino запустило свою IoT-платформу под названием Arduino IoT Cloud. Arduino IoT Cloud предоставляет комплексное решение, которое упрощает создание подключенных проектов для разработчиков, энтузиастов Интернета вещей и профессионалов от начала до конца. Платформа поддерживает различные методы взаимодействия, включая HTTP REST API, MQTT, инструменты командной строки, Javascript и WebSockets. Вы можете подключить несколько устройств друг к другу и разрешить им обмениваться данными в режиме реального времени. Вы также можете отслеживать данные из любого места, используя простой пользовательский интерфейс. Чтобы узнать больше об облаке Arduino IoT, вы можете просмотреть часть документации.
В этом руководстве мы будем управлять светодиодом с помощью облачной панели Arduino IoT. Аналогичным образом мы отправим данные датчиков на облачную панель управления и визуализируем их в различных красивых виджетах.
Настройка Arduino IoT Cloud DashBoard
Перейдите на сайт cloud.arduino.cc и зарегистрируйтесь.
Перейдите на страницу things и нажмите
+CREATE THINGили+THINGесли у вас уже есть проекты.
Создание вещи
Здесь вы можете увидеть раздел настройки, а также раздел скетча и мета данных.

Теперь вам нужно добавить переменные, чтобы их создать нужно нажать на кнопку
«ADD».Например, для управления светодиодом дадим имя
led. В типе переменной выберитеLight, так как нам нужно отправлять команды 1 и 0. Переменная будет автоматически объявлена как CloudLight led. Вы можете назначить разрешение переменной как чтение-запись, так и только чтение. Таким образом, для светодиода вы можете назначить чтение и запись. Наконец, нажмите«ADD VARIABLE».
Аналогичным образом добавьте еще переменные для датчика широкого спектра газов Амперки MQ-2.
Для сжиженных углеводородных газов, метана, дыма, водорода с типом целых чисел (Integer Number).
Variable Permission установите «Read & Write», чтобы значения нельзя было изменять в облаке.

Настройка устройства
Теперь нам нужно настроить устройство. Для этого нажмите на кнопку
«Select Device», а после в окне«Associate device»на кнопку«Set up new device».В окне
«Setup Device»мы выберем«Compatible device», поскольку ESP8266 является устройством стороннего производителя. Далее из списка выберите плату ESP8266. И из списка моделей выберите тип«Generic ESP8266 Module». Затем нажмите«CONTINUE».Назовите устройство во втором пункте, в
«Give a name to the Device»и нажмите на галочку.В третьем пункте
Set up Device...Идентификатор устройства и секретный ключ созданы. Это очень важные параметры при программировании. Вам нужно скопировать их или просто нажать
«Download»и загрузить файл pdf, в котором всё это указано.Нажмите в окне на галочку
«I saved my Device ID and Secret Key»и на кнопку«CONTINUE». Итак, вы наконец завершили настройку устройства.
Вас вернёт к панели управления
Think, где в«Associated Device»должно уже быть указано ваше устройство, если не указано, то нужно указать вручную.Настройка сети Теперь нам также необходимо настроить подключение устройства к сети. Итак, нажмите кнопку
«Set Network»в блоке«Associated Device». Откроется окно«Network Credentials Update», и там нажмите на кнопку«GO TO DEVICE PAGE». Откроется окно вашего созданного устройства и на ней нажмите на«WiFi (& secret)»напротив с пунктом«Network». Введите здесь в поле«Wi-Fi Name»свой SSID Wi-Fi, пароль в поле«Passwod»и секретный ключ в поле«Secret Key»(в скаченном файле называется Client Secret?), которые вы скопировали/скачали ранее. Затем нажмите«SAVE AND UPLOAD LATER».
Настройка панели мониторинга
Перейдите в панель управления (Dashboards), чтобы настроить панель управления и виджеты на нём для вашего устройства. Затем нажмите на
«CREATE DASHBOARD».
Откроется новая панель управления, которой следует написать имя. Нажать на
Untitled>Rename.В окне указать новое имя и нажать на кнопку«RENAME»

Нажмите в нанеле кнопку
«EDIT».Нажмите на
«ADD». В этом списке виджетов выберите«Switch», поскольку мы хотим включать и выключать светодиод.Дайте имя
«Led»переключателю.Затем нажмите на кнопку
«Link Variable»и свяжите переменную с светодиодом(LED)из списка.
Затем нажмите
«LINK VARIABLE», а затем«DONE».
Аналогичным образом добавьте ещё оставшиеся виджеты.
Для
mq2_LPGустановите тип виджетаValue, дайте в окне создания виджета имя виджета«LPG».Для
mq2_methaneтипGaugeи соотвествующее имя виджета«Methane», а такжеValue range(диапазон возможных значений).Для mq2_smoke выбрать тип
Chartи соотвествующее имя виджета«Smoke».Для
mq2_hydrogenвыберите любой из тех, который были выше и установите соответствующее имя виджета«Hydrogen».
Итак, наша панель управления готова. Вы также можете нажать переместить видежеты зажатие на них и изменить размер виджета стрелочкой в его вправом нижнем углу. Также можно с помощью тумблера, в котором отображаются иконки монитора и смартфона менять отображение панели управления и настроить соответствующим образом для каждого из них.
По завершению редактирования нажимайте на кнопку «DONE».

Исходный код/программа для модуля WIFI с ESP8266
Зайдите с главной страницы Arduino Cloud в веб-редактор (Sketches). Слева, выберите пункт Sketchbook. И откроется список проектов, которые хранятся в веб. Исходный код для использования облака Arduino IoT с ESP8266 прост в использовании, поскольку некоторые команды и объявления генерируются автоматически.
Перейдите на вкладку скетча. Таким образом, будет создан эскиз по умолчанию, основанный на основе различных переменных. Определены некоторые заголовочные файлы и установлены параметры для светодиода. Поэтому нам нужно изменить код.
Будут отображаться несколько вкладок. Один из них файл скетч формата Untitled_oct12a.ino, thingProperties.h, ReadMe.adoc, Sketch Secrets.
Вкладке Secret (файл
arduino_secrets.h) отображаютсяSECRET_SSID,SECRET_OPTIONAL_PASS,SECRET_DEVICE_KEY, т.е. имя wifi сети, пароль и ключ девайса.Установите для браузера Arduino Create Agent, чтобы веб-редактор мог подключится с устройством для прошивки.
Исходный код/программа для WiFi модуля Амперки
Слева в вкладке
«Libraries»в поиске найдите библиотеку«GParser»и нажмите на кнопку«INCLUDE».Вставьте код в
inoфайл...В thingProperties.h должно быть что-то вроде:
Над кодом есть раскрывающийся список, в которой нужно выбрать
«Select Other Board & Port», чтобы выбрать правильную плату для компиляции и загрузки кода. При этом должена одображаться плата Arduino, через которую мы будем загружать.
В открывшемся окне нужно выбрать плату, воспользовавшийсь поиском и порт, чтобы в этих двух полях стояли галочки, а после нажимаем на кнопку
«OK».
Переводим плату в режим загрузки прошивки с помощью комбинации.
Нажимаем на кнопку
«Upload and Save»и наблюдаем процесс прошивки в окне под кодом.
На последовательном мониторе (вкладка
«Monitor») вы увидите, что соединение MQTT установлено и устройство подключено к сети WiFi. Он также отображает значения.
Исходный код/программа для Arduino
Соберите устройство и тестируйте
Установите сигнальный пин датчика MQ-2 на A1, а пин E на 12.
Теперь вернитесь на панель управления, чтобы проверить виджет. Как видите, все данные загружаются сюда через определенный интервал.
Также попробуйте приложение для Android.
Модуль WI-Fi Амперки нельзя менять из раза в раз, т.к. при подсоединении модуля к их серверам остаётся какая-то информация о контроллере и если поменять контроллер, то будут ошибки при подсоединении к их серверам.
Если тип данных, который вы ходите записать в облачную переменную отличен от того типа, что установлено в облаке, тогда у вас значение просто не будет изменяться! Напимер, если число float записывать в облачную переменную типа int.
Last updated
Was this helpful?