Плата RobotDyn Wi-Fi D1 Mini в составе базового комплекта интернета вещей SK-BASE позволяет отправлять данные в "облако" в виде REST HTTP-запроса.
Чтобы плата начала отправлять данные, в ее микроконтроллер необходимо загрузить специальную программу - скетч. К этой статье прилагается стандартный скетч для отправки данных с платы в платформу интернета вещей ThingWorx и приема данных с платформы.
В этом варианте скетча, плата 1) отправляет REST запрос формата POST в "вещь", созданную в ThingWorx; 2) принимает с этой "вещи" данные в формате JSON.
POST-запрос содержит следующую информацию:
Адрес сервера, на котором установлено приложение (Host).
Имя виртуальной вещи, которой передаются параметры (Thing).
Название сервиса вещи для получения данных физического устройства (Service).
Передаваемые параметры и их значения (Properties).
Ключ приложения (Application Key) для авторизованной передачи данных.
Общий вид запроса:
<Хост>/Thingworx/Things/<название вещи>/Services/<название сервиса>?method=post&appKey=<ключ приложения>
Пример запроса:
В стандартном скетче плата отправляет в платформу данные с выходов платы A0, D0, D5, D6, D7 и D8 через значения свойств с такими же названиями.
Плата принимает обратно из платформы JSON-строку со свойствами D1, D2, D3, D4, обрабатывает значения этих свойств и отправляет их на соответствующие входы платы.
Значение свойства D3 определяет задержку между отправками данных с платы.
Значение свойства D4 определяет частоту моргания светового индикатора платы.
Инструкция
Прежде чем загрузить в микроконтроллер платы скетч, нужно предварительно:
1) установить программу Arduino IDE на компьютере для работы с платой;
2) установить драйверы, чтобы компьютер "увидел" плату;
3) установить библиотеки ArduinoJson и ESP8266WIFI;
4) настроить параметры загрузки, скачать скетч и при необходимости изменить параметры отправки в скетче: название "вещи", AppKey, название сервиса, ID платы.
После этого можно
5) загрузить скетч и убедиться, что данные отправляются.
Дальше мы последовательно рассмотрим каждый шаг.
1) Установка программы Arduino IDE
Перейдите по ссылке и скачайте Arduino IDE версии 1.8.5 (Windows Installer).
Установите Arduino IDE и откройте.
2) Установка драйверов для платы
Посмотрите код после USB-TTL на обратной стороне платы.
Если код CP2104, перейдите по ссылке, скачайте и установите драйвер.
Если код CH340, перейдите по ссылке, скачайте и установите драйвер.
В программе Arduino IDE нажмите Файл – Настройки.
В поле Дополнительные ссылки для Менеджера плат вставьте адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json и нажмите OK.
Нажмите Инструменты – Плата – Менеджер плат.
В строке с поиском введите esp8266.
Выберите esp826 by ESP8266 Community последней версии и нажмите Установить.
Подождите, пока завершится установка, и закройте менеджер плат.
Нажмите Инструменты – Плата, и выберите WeMos D1 R2 & mini в списке.
3) Установка библиотек
Нажмите Скетч – Подключить библиотеку – Управлять библиотеками.
В строке с поиском напишите arduinojson.
Выберите ArduinoJson последней версии и нажмите Установить.
Подождите, пока завершится установка.
В строке с поиском напишите esp8266wifi.
Выберите ESP8266WiFi и нажмите Установить.
Подождите, пока завершится установка, и закройте менеджер библиотек.
Нажмите Инструменты - Upload Speed - 115200.
4) Настройка параметров загрузки, скачивание скетча
Нажмите Инструменты - Upload Speed и выберите скорость загрузки 115200.
Подключите плату к компьютеру.
Нажмите Инструменты - Порт и выберите порт, к которому подключена плата.
Скачайте скетч здесь.
Откройте скетч в программе Arduino IDE.
При необходимости измените следующие параметры отправки:
Название Wi-Fi сети для подключения и пароль - строчки const char* ssid = и const char* password = .
Адрес сервера - строчки а) String host = ; б) const char* hostlink = ; в) String server = ; г) const int httpport =
Идентификатор платы - строчка String id = .
Ключ приложения - строчка String appKey = .
Имя вещи - строчка String thingName = .
Название сервиса для приема данных - строчка String serviceName = .
5) Загрузка скетча в плату и проверка отправки данных
Загрузите скетч в программе Arduino IDE.
После загрузки нажмите Инструменты - Монитор порта и убедитесь, что данные отправляются.
При корректной отправке должно быть примерно такое сообщение: