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 трекера.