Пример работы с библиотекой через протокол 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.