Користувач:Сергей Юзовицкий/Чернетка

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Arduino IDE для ESP8266

Прошивка (програмування) для мікрокогтролера ESP8266 здійснюється за допомогою програми на мові програмування С у середовищі Arduino IDE. Середовище розробки Arduino складається із вбудованого текстового редактора програмного коду, області повідомлень, вікна виведення тексту(консолі), панелі інструментів з кнопками часто використовуваних команд і декількох меню (рис.3.1). Для завантаження програм і зв'язку середовище розробки підключається до апаратної частини Arduino [10].


Програма, яка написана у середовищі Arduino, називається скетч. Скетч пишеться в текстовому редакторові, що має інструменти вирізки/вставки, пошуку/заміни тексту. Під час збереження і експорту проекту в області повідомлень з'являються пояснення, також можуть відображуватися виниклі помилки, які виникають. Вікно виведення тексту (консоль) показує повідомлення Arduino, що включають повні звіти про помилки і іншу інформацію. Кнопки панелі інструментів дозволяють перевірити і записати програму, створити, відкрити і зберегти скетч, відкрити моніторинг послідовної шини.

У Arduino IDE для ESP8266 усі функції базової версії середовища розробки повністю збережені. Arduino IDE для ESP8266 дозволяє створювати прошивки і прошивати їх в ESP8266 точно так, як це робиться з Arduino. При цьому ніяких плат Arduino не вимагається, це не той випадок, коли ESP8266 використовується як Wi-Fi шилда для Arduino. Крім того, можливо використовувати практично усі бібліотеки Arduino разом з ESP8266 після невеликого доопрацювання.  Arduino IDE для ESP8266 підтримує усі існуючі на сьогодні модулі ESP8266.

Розглянемо короткий перелік функцій Arduino IDE для ESP8266.

1. Таймінг і delay. Функції millis і micros повертають мілісекунди і мікросекунди відповідно, які пройшли з моменту старту модуля. Використовувана багатьма функція delay також присутня і припиняє виконання скетчу на вказаний час в мілісекундах і дозволяє відпрацювати операціям Wi-Fi і TCP/IP. Функція delayMicroseconds використовується аналогічно, тільки час задається в мікросекундах.

Треба пам'ятати про те, що коли модуль підтримує Wi-Fi з'єднання, йому доводиться виконувати безліч фонових завдань, окрім вашого скетчу. Wi-Fi і TCP/IP функції бібліотек SDK мають можливість обробити усі події черги після завершення кожного циклу вашої функції loop() або під час виконання delay(..). Якщо у вашому коді є фрагменти, які виконуються більше 50 мілісекунд, то необхідно використовувати delay(..) для збереження нормальної працездатності стека Wi-Fi.

2. Послідовні порти Serial і Serial1 (UART0 і UART1).

Об'єкт Serial працює точно також, як і з Arduino. Окрім апаратного FIFO (по 128 байт для прийому і передачі) визначений і програмний буфер розміром по 256 байт для прийому і передачі даних. Прийом і передача даних відбувається по перериваннях, прозоро для вашого скетчу. Функції запису і читання блокують виконання скетчу тільки коли апаратний FIFO і програмний буфер переповнюються.

Serial використовує апаратний UART0, що працює на GPIO1(TX) і GPIO3(RX). Ці піни можуть перепризначувати на GPIO15 (TX) і GPIO13 (RX) викликом функції Serial.swap();після Serial.begin();. Повторний виклик Serial.swap(); поверне усе на свої місця.

3. Бібліотека WiFi ESP8266 (ESP8266WiFi).

Функції бібліотеки WiFi ESP8266 дуже схожі з функціями бібліотеки для звичайного Wi-Fi шилда.

Список відмінностей :

  • Wi-Fi.mode(m) : вибрати режим WI - FI_AP (точка доступу), WIFI_STA (клієнт), або WI-FI_AP_STA (обидва режими одночасно);
  • Wi-Fi.softAP(ssid) створює відкриту точку доступу;  W-iFi.softAP(ssid, password) створює точку доступу з WPA2 - PSK шифруванням, пароль має бути не менше 8 символів;
  • Wi-Fi.macAddress(mac) дозволяє отримати MAC адреса в режимі клієнта;
  • Wi-Fi.softAPmacAddress(mac) дозволяє отримати MAC адреса в режимі точки доступу (ТД);
  • Wi-Fi.localIP() дозволяє отримати IP адреса в режимі клієнта;
  • Wi-Fi.softAPIP() дозволяє отримати IP адреси в режимі ТД;
  • Wi-Fi.RSSI() доки не реалізована;
  • Wi-Fi.printDiag(Serial); виводить діагностичну інформацію;
  • Wi-Fi Server, Wi-Fi Client, і Wi-Fi UDP працюють точно так, як і з бібліотекою звичайного Wi-Fi шилда. Чотири приклади йдуть у комплекті з цією бібліотекою.
  • Для прошивки програми (скетчу) в ESP8266 необхідно використовувати USB-TTL адаптер.