ESP8266. Настройка скетча и прошивка

Чтобы прошить скетч в Wemos D1 Mini нужна Arduino IDE с поддержкой плат на контроллерах ESP8266. Для этого нужно установить драйвер для CH340 и скачать обновление для менеджера плат. Как это сделать, подробно рассказано в разделе “Инструкция по настройке IDE для работы с WeMos” на странице:

https://arduinomaster.ru/datchiki-arduino/esp8266-wemos-d1-mini-raspinovka/

Я использовал Arduino IDE 1.8.9 и обновление esp8266 by ESP8266 Community версия 2.5.0.

После установки обновления в списке плат нужно выбрать Wemos D1 R1:


Настройка скетча

На странице Menu.h всё делаем, как и прежде, для проводного варианта трекера: Настройка скетча в файле Menu.h . Я использовал верхний модуль GY-9250, поэтому я заменил строку #define SensorVariant 2 на

#define SensorVariant 8

Остальные строки я оставил без изменений:

#define OUTPUT__HAS_RN_BLUETOOTH 0

#define OUTPUT__BAUD_RATE 57600


Страница Battery.h в варианте с ESP8266 не используется, вместо неё редактируем страницу ESP8266.h:

#define UseWiFi 1

  • 0 - трекер работает только по USB

  • 1 – трекер работает по WiFi и USB


#define BATTERY_CONTROL 1

0 – нет контроля батареи. Имеет смысл при питании трекера от повербанка, тогда и резистор Rplus не нужен.

1 – есть контроль батареи. Используется резистор Rplus.


#define Battery_ADC_pin A0

Вход АЦП, который используется для измерения напряжения батареи. Это значение не нужно менять, у Wemos есть только один вход АЦП.


#define Rplus 120.0

Сопротивление резистора (120 kOm) между контактом Wemos A0 и 5V. При сопротивлении 120 kOm, диапазон измеряемых напряжений 0…4,4V.


#define Alpha 0.1

Коэффициент экспоненциального фильтра 0,01…1,0. Чем меньше это значение, тем больше постоянная времени фильтра.


#define LEDpin 2

Номер контакта светодиода индикации режимов. Значение 2 – это встроенный в Wemos синий и очень тусклый светодиод. Я вместо него использовал внешний яркий красный светодиод, который подключил между контактами D7 и GND. Поэтому я изменил эту строку на: #define LEDpin D7.



#define UseVibro 1

#define VibroPulses 3

#define VibroLength 10 // in (VibroLength * 20) milliseconds

#define VibroPeriod 30

#define VibroPin D7

Товарищ _HABEPHO_ предложил использовать вибромоторчик от мобильника для индикации низкого напряжения батареи. С вышепоказанными настройками Vibro, вибромоторчик, подключенный между контактами D7 и GND, при снижении напряжения меньше Umin, будет трижды вздрагивать через каждые 30 секунд.


Прошивка скетча

Прошивка скетча производится, как и обычно.

Для этого нужно подключить трекер шнуром микро-USB к компьютеру. При работе через USB выключатель трекера должен быть выключен! К парному к используемому порту USB не должно быть ничего подключено.

В меню инструменты выбрать номер виртуального COM-порта, к которому подключен Wemos и нажать кнопку “Upload” или [Ctrl+U].

Компиляция скетча для Wemos длится дольше, чем для Arduino, вплоть до пары минут. После компиляции скетч загрузится в Wemos:

После прошивки нужно переподключить трекер. То есть отключить от USB и снова подключить.

Светодиод на плате Wemos будет часто мигать в течение 15 секунд, это трекер пытается подключиться к WiFi сети, затем светодиод будет делать вспышки с периодом 4 секунды. Это означает, что программа трекера дошла до основного цикла, но так и не смогла подключиться к WiFi сети.

Значит, теперь самое время настроить трекер:

ESP8266: Настройка WiFi трекера.


ESP8266. WiFi версия трекера