• Техновижн

Загрузка скетча в микроконтроллер платы из базового набора интернета вещей. Инструкция

Плата 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=<ключ приложения>


Пример запроса:

https://academic-educatorsextension.portal.ptc.io/Thingworx/Things/TV.AgroTestThing/Services/getData?method=post&appKey=080c122e-d850-47f3-a2e9-6666cb114pae


В стандартном скетче плата отправляет в платформу данные с выходов платы 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

  1. Перейдите по ссылке и скачайте Arduino IDE версии 1.8.5 (Windows Installer).

  2. Установите Arduino IDE и откройте.

2) Установка драйверов для платы

  1. Посмотрите код после USB-TTL на обратной стороне платы.

  2. Если код CP2104, перейдите по ссылке, скачайте и установите драйвер.

  3. Если код CH340, перейдите по ссылке, скачайте и установите драйвер.

  4. В программе Arduino IDE нажмите Файл – Настройки.

  5. В поле Дополнительные ссылки для Менеджера плат вставьте адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json и нажмите OK.

  6. Нажмите Инструменты – Плата – Менеджер плат.

  7. В строке с поиском введите esp8266.

  8. Выберите esp826 by ESP8266 Community последней версии и нажмите Установить.

  9. Подождите, пока завершится установка, и закройте менеджер плат.

  10. Нажмите Инструменты – Плата, и выберите WeMos D1 R2 & mini в списке.

3) Установка библиотек

  1. Нажмите Скетч – Подключить библиотеку – Управлять библиотеками.

  2. В строке с поиском напишите arduinojson.

  3. Выберите ArduinoJson последней версии и нажмите Установить.

  4. Подождите, пока завершится установка.

  5. В строке с поиском напишите esp8266wifi.

  6. Выберите ESP8266WiFi и нажмите Установить.

  7. Подождите, пока завершится установка, и закройте менеджер библиотек.

  8. Нажмите Инструменты - Upload Speed - 115200.

4) Настройка параметров загрузки, скачивание скетча

  1. Нажмите Инструменты - Upload Speed и выберите скорость загрузки 115200.

  2. Подключите плату к компьютеру.

  3. Нажмите Инструменты - Порт и выберите порт, к которому подключена плата.

  4. Скачайте скетч здесь.

  5. Откройте скетч в программе Arduino IDE.

  6. При необходимости измените следующие параметры отправки:

  • Название 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) Загрузка скетча в плату и проверка отправки данных

  1. Загрузите скетч в программе Arduino IDE.

  2. После загрузки нажмите Инструменты - Монитор порта и убедитесь, что данные отправляются.

При корректной отправке должно быть примерно такое сообщение:


Картинка с монитором порта во время отправки данных




55 views