Пример работы с библиотекой через протокол HTTPS на ESP8266
Общие сведения
Для работы с сервисом через протокол HTTPS необходимо оборудование с поддержкой шифрования. На данный момент (Март 2020) это можно осуществить только на ESP32 и ESP8266. Данная статья рассматривает работу только с ESP8266.
Нам понадобится
- Отладочная плата ESP8266.
- Маршрутизатор с точкой доступа WiFi
- Подключение к сети Интернет.
Подключение оборудования
Подключите ESP8266 к ПК

Скетч Arduino
Если Вы никогда не работали в среде разработки Arduino, по этой ссылке можно узнать как её установить и настроить.
Для работы в среде Arduino с платами ESP32 необходимо установить их поддержку
Установка поддержки плат ESP8266
Выберите пункт меню Файл -> Настройки (или на клавиатуре нажмите ctrl+,). В поле ввода "Дополнительные ссылки для Менеджера плат" вставьте ссылку https://arduino.esp8266.com/stable/package_esp8266com_index.json. Далее необходимо выбрать пункт меню Инструменты -> Плата: -> Менеджер плат. Откроется окно Менеджера плат. В поле поиска наберите ESP8266 и установите последнюю версию плат. Подробнее об установке плат можно узнать по ссылке.
Установка библиотеки
Для работы с библиотекой её необходимо установить в Arduino IDE. Для установки скачайте библиотеку и в Arduino IDE в меню выберите Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку и выберите скачанный .zip файл библиотеки. Подробнее об установке библиотек можно узнать по этой ссылке.
Скетч
// Подключаем бибилиотеки WiFi
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
// Подключаем библиотеку сервиса
#include <iocontrol.h>
// Данные Вашей точки доступа WiFi
const char* ssid = "название_точки_доступа";
const char* password = "пароль_точки_доступа";
// Отпечаток сертификат SSL сайта iocontrol.ru, так же его можно получить из браузера,
// нажав на пиктограмму замка рядом с полем ввода адреса
const char fingerprint[] PROGMEM = "39 46 08 B8 98 E9 5A D5 81 CD C5 47 C6 E5 09 80 C0 3E 93 36";
// Создаём объект клиента класса WiFiClientSecure
WiFiClientSecure client;
// Создаём объект iocontrol, передавая в конструктор название панели и клиента
iocontrol mypanel("test1", client);
void setup()
{
Serial.begin(115200);
WiFi.begin(ssid, password);
// Ждём подключения
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
// Устанавливаем отпечаток SSL/TLS сертификата
client.setFingerprint(fingerprint);
/* Функция setHttps() переключает порт с 80 на 443
и меняет процесс формирование строки запроса */
// Переключаем режим работы объекта библиотеки
mypanel.setHttps();
// Вызываем функцию первого запроса к сервису
mypanel.begin();
}
void loop()
{
// Если данные в памяти обновлены...
if (mypanel.readUpdate() == OK) {
// ...выводим информацию о панели в последовательный порт
Serial.println(mypanel.info());
}
}
Выберите последовательный порт к которому подключена отладочная плата нажав в меню Инструменты -> Порт -> %НОМЕР ПОРТА%, затем нажмите на кнопку загрузка или на клавиатуре ctrl+u.
Откройте монитор последовательного порта нажав левой кнопкой мыши на пункт меню Инструменты -> Монитор порта или сочетанием клавиш CTRL+SHIFT+M. В монитор последовательного порта будет выводиться информация о созданной нами тестовой панели "test1", полученная через протокол HTTPS.
