Menu
ESP8266 - беспроводное всё

ESP8266 - беспроводное всё

  • Разновидности
  • Настройка Arduino IDE
  • Справочник по программированию
  • Готовые проекты

ESP-01 с модулем реле

1  Настройка среды Arduino IDE

  • Файл > Настройки > Доп.Ссылки для менеджера плат > http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Инструменты > плата >  Менеджер плат > поиск > esp8266 by ESP8266 Community > Выбрать версию > Установка
  • Выбор платы, настройка COM порта, скорости 115200 и тд.

Для ESP-01 требуется выбрать "Generic ESP8266 Module"

2  Аппаратное подключение

, где GPIO 0 должно быть притянуто к земле В РЕЖИМЕ ПРОШИВКИ, также используется в китайском модуле с реле.

GPIO 1 - TX и светодиод

Уровень сигналов - 3,3V

3 Простой тестовый код подёргать "ногой"

void setup() {
  pinMode(0, OUTPUT);
}

void loop() {
  digitalWrite(0, HIGH);
  delay(1000);
  digitalWrite(0, LOW);
  delay(1000);
}

Wemos D1 mini

Более сложная плата, но более удобная для разработки, ввиду наличия USB-Serial адаптера

В arduino Ide после установки библиотеки esp8266 можно выбрать плату "LOLIN(WEMOS) D1 R2 & mini".

Для управление реле лучше использовать GPIO4,5,12,13,14, так как они не меняют состояние при запуске устройства

Отличается большим количеством GPIO и выведенным 2,5 UART, С пинов TX0/RX0 на пины TX2/RX2 можно переключаться следующим кодом:

Serial.begin(115200, SERIAL_8N1);
//your  code
Serial.swap(); //change PINs
Serial.flush(); //clear serial buffer

Использовать TX0 1 можно инициализировав его:

Serial1.begin(115200, SERIAL_8N1);

Справочник по программированию

Переменные

Название Альт. название Вес Диапазон Особенность
boolean bool 1 байт * 0 или 1, true или false Логический тип
char 1 байт -128… 127 (AVR), 0.. 255 (esp) Символ (код символа) из таблицы ASCII
int8_t 1 байт -128… 127 Целые числа
byte uint8_t 1 байт 0… 255 Целые числа
int ** int16_t, short 2 байта -32 768… 32 767 Целые числа. На ESP8266/ESP32 – 4 байта! См. ниже
unsigned int ** uint16_t, word 2 байта 0… 65 535 Целые числа. На ESP8266/ESP32 – 4 байта! См. ниже
long int32_t 4 байта -2 147 483 648…    2 147 483 647 Целые числа
unsigned long uint32_t 4 байта 0… 4 294 967 295 Целые числа
float 4 байта -3.4E+38… 3.4E+38 Числа с плавающей точкой, точность: 6-7 знаков
double 4/8 байт -1.7E+308.. 1.7E+308 Для AVR то же самое, что float.
На ESP и прочих 32-бит МК – 8 байт, точность – 15-16 знаков
int64_t 8 байт *** -(2^64)/2… (2^64)/2-1 Целые числа
uint64_t 8 байт *** 2^64-1 Целые числа

(*) – да, bool занимает 1 байт (8 бит), так как это минимальная адресуемая ячейка памяти. Есть способы запаковать логические переменные в 1 бит, о них поговорим в другом уроке.

(**) – на ESP8266/ESP32 int и unsigned int занимает 4 байта, то есть является аналогами типов long и unsigned long!

(***) – Компилятор также поддерживает 64 битные числа. Стандартные Arduino-библиотеки с переменными этого типа не работают, поэтому можно использовать только в своём коде.

Массивы

Объявление

// указываем количество ячеек
byte myInts[6];
// двумерный массив, 6х10
byte myInts[6][10];
// указываем содержимое ячеек, компилятор сам посчитает их количество
int myPins[] = {2, 4, 8, 3, 6,};
// указываем и то и то, количество ячеек в [ ] должно совпадать с { } или быть больше!
float Sens[2] = {0.2, -8.5};
// храним символы
char message[6] = {'h', 'e', 'l', 'l', 'o'};

//Присвоение 
myInts[0][1] = 50;
//Количество элементов
sizeof(myInts) / sizeof(myInts[0])

Источники:

  • https://alexgyver.ru/