Солнечная панель + аккумулятор 18650: автономное питание ESP32 в поле за 1 500 ₽

Админ·13 апреля 2026 г.·16 мин чтения

18650 аккумулятор + контроллер TP4056 + солнечная панель 6 Вт = датчик, который работает в поле месяцами без обслуживания. Расчёт энергобаланса, deep sleep ESP32, мониторинг заряда, версии для Wi-Fi и LoRa — с рабочим кодом.

Солнечная панель + аккумулятор 18650: автономное питание ESP32 в поле за 1 500 ₽

В предыдущих статьях серии мы собрали метеостанцию, датчик влажности, GPS-трекер — и объединили их через LoRa-передатчик, который бьёт на 10 километров. Все проекты работают. Но у каждого один и тот же вопрос: чем питать ESP32 в поле, где нет розетки?

USB-powerbank на 10 000 мА·ч хватает на 3–5 дней, потом нужно ехать менять. Провод от дома — нереально на расстоянии в километр. Генератор — дорого и шумно. Ответ — солнечная панель + аккумулятор 18650 + контроллер заряда TP4056. Бюджет: 1 500 ₽. Работает месяцами без обслуживания.

Как устроено автономное питание: 2 минуты теории

Схема простая: солнечная панель заряжает аккумулятор 18650 через контроллер заряда TP4056. ESP32 питается от аккумулятора. Днём панель генерирует больше, чем ESP32 потребляет — аккумулятор заряжается. Ночью ESP32 работает от аккумулятора.

Критический момент — энергобаланс. Если ESP32 потребляет больше, чем панель успевает зарядить за день — аккумулятор сядет через несколько суток. Поэтому ключевой приём — deep sleep: ESP32 просыпается раз в 15 минут, отправляет данные за 5–10 секунд и снова засыпает. В режиме deep sleep потребление падает с 80 мА до 10 микроампер — в 8 000 раз.

Что понадобится

  • ESP32 DevKit — любая плата из предыдущих проектов, 300–500 ₽
  • Солнечная панель 6 Вт, 6 В — 400–600 ₽ (Aliexpress, Ozon). Размер ~170×200 мм. Обязательно 6 В — не 5 В и не 12 В
  • Модуль заряда TP4056 с защитой — 50–80 ₽. Именно с маркировкой «TYPE-C» или «micro-USB» и с двумя микросхемами на плате (заряд + защита от переразряда). Плата только с одной микросхемой не защищает аккумулятор!
  • Аккумулятор 18650 — 200–400 ₽. Берите брендовые (Samsung, LG, Panasonic) ёмкостью 2 600–3 400 мА·ч. «Ноунейм» за 50 ₽ с заявленными 9 800 мА·ч — реально содержит 800 мА·ч
  • Держатель 18650 — 30 ₽
  • Диод Шоттки 1N5817 — 5 ₽ (защита от обратного тока ночью)
  • Провода, термоусадка — 50 ₽
  • Герметичный бокс — 100–200 ₽ (распаечная коробка IP65 из строймага)

Итого: ~1 200–1 800 ₽ за полностью автономную систему питания.

Схема подключения

Соединяем компоненты в следующем порядке:

Солнечная панель (6V)
      │
      ├── + ──► Диод 1N5817 (анод) ──► (катод) ──► IN+ (TP4056)
      └── − ──────────────────────────────────────► IN− (TP4056)

TP4056:
      OUT+ ──► VIN (ESP32)    или    3V3 через стабилизатор
      OUT− ──► GND (ESP32)

      BAT+ ──► + (аккумулятор 18650)
      BAT− ──► − (аккумулятор 18650)

Зачем диод Шоттки? Ночью, когда панель не генерирует, аккумулятор может начать разряжаться обратно через панель. Диод Шоттки блокирует обратный ток, при этом «съедает» всего 0.2–0.3 В (обычный диод — 0.7 В). Для солнечной панели на 6 В потеря 0.3 В — приемлемо, на выходе будет ~5.7 В, что достаточно для TP4056.

Куда подключать ESP32? Выходы OUT+ и OUT− на TP4056 (с защитой) — это стабилизированное питание от аккумулятора. Подключайте к пину VIN (или 5V) ESP32 — встроенный стабилизатор платы понизит до 3.3 В. Не подключайте напрямую к 3V3 — напряжение литиевого аккумулятора (3.0–4.2 В) может повредить 3.3 В-линию без стабилизации.

Выбор солнечной панели: почему 6 Вт и 6 В

Контроллер TP4056 принимает входное напряжение 4.5–8 В. Солнечная панель на 6 В при ярком солнце выдаёт ~6.5 В, в пасмурную погоду — 4.5–5.5 В. Это идеально попадает в диапазон TP4056.

Панель на 5 В в облачную погоду просядет до 3.5–4 В — TP4056 перестанет заряжать. Панель на 12 В — сожжёт TP4056 (максимум 8 В на входе).

Мощность 6 Вт — оптимальный минимум для средней полосы России. При прямом солнце панель даёт ~1 А при 6 В = 6 Вт. В реальных условиях (не полдень, не юг, облака) — в среднем 0.3–0.5 А за световой день. Этого хватает, чтобы за 6–8 часов света полностью зарядить 18650 на 3 000 мА·ч.

Для Краснодарского края или Ростовской области хватит и 3 Вт панели. Для Ленинградской области зимой лучше взять две панели по 6 Вт параллельно — световой день всего 6 часов и постоянные облака.

Deep sleep: главный секрет автономности

ESP32 в активном режиме с Wi-Fi потребляет 80–160 мА. При 3 400 мА·ч аккумулятора — это 21–42 часа непрерывной работы. С солнечной панелью — чуть дольше, но аккумулятор всё равно сядет за пару суток в пасмурную погоду.

Deep sleep меняет всю математику. В этом режиме ESP32 отключает Wi-Fi, процессор, большую часть периферии — остаётся только RTC (часы реального времени) и ULP-копроцессор. Потребление: 10 мкА.

Типичный цикл автономного датчика:

  1. Просыпается (100 мс)
  2. Подключается к Wi-Fi или формирует LoRa-пакет (2–5 сек)
  3. Читает датчики (100 мс)
  4. Отправляет данные (1–3 сек через Wi-Fi, 0.5 сек через LoRa)
  5. Засыпает на 15 минут

Активная фаза: ~5 секунд при 100 мА. Сон: 895 секунд при 0.01 мА. Среднее потребление за цикл:

(5 сек × 100 мА + 895 сек × 0.01 мА) / 900 сек ≈ 0.57 мА

При 3 400 мА·ч аккумулятора: 3 400 / 0.57 ≈ 5 965 часов ≈ 248 дней. Восемь месяцев от одного аккумулятора, без солнечной панели. С панелью — теоретически бесконечно.

LoRa вместо Wi-Fi даёт ещё лучший результат: LoRa-передача занимает 0.3–0.5 секунды вместо 3–5 секунд на Wi-Fi (без SSL-хендшейка и DNS-запроса). Если вы уже собрали LoRa-передатчик из нашей статьи — это идеальная пара с солнечным питанием.

Код: автономный датчик с deep sleep

Полный рабочий скетч метеостанции с deep sleep. Просыпается каждые 15 минут, читает DHT22, отправляет по Wi-Fi (или LoRa — раскомментируйте нужное) и засыпает обратно.

#include <WiFi.h>
#include <HTTPClient.h>
#include <DHT.h>

// === НАСТРОЙКИ === //
const char* WIFI_SSID     = "Название_сети";
const char* WIFI_PASSWORD  = "пароль";
const char* SERVER_URL     = "http://192.168.1.100:1880/ferma/pole1";

#define DHT_PIN    4
#define DHT_TYPE   DHT22
#define SLEEP_MIN  15          // интервал сна в минутах
#define VBAT_PIN   34          // GPIO для измерения напряжения батареи

// Делитель напряжения: 100кОм + 100кОм между BAT+ и GND
// Средняя точка → GPIO34. Коэфф: напряжение = ADC * 2 * 3.3 / 4095
#define VBAT_COEFF  (2.0 * 3.3 / 4095.0)

DHT dht(DHT_PIN, DHT_TYPE);

// Глубокий сон на заданное число минут
void goToSleep(int minutes) {
  uint64_t sleepUs = (uint64_t)minutes * 60ULL * 1000000ULL;
  esp_sleep_enable_timer_wakeup(sleepUs);
  Serial.println("Сплю " + String(minutes) + " мин...");
  Serial.flush();
  esp_deep_sleep_start();
}

void setup() {
  Serial.begin(115200);
  dht.begin();

  // 1. Подключаемся к Wi-Fi (таймаут 10 сек)
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  WiFi.setSleep(false);  // быстрее подключение

  unsigned long start = millis();
  while (WiFi.status() != WL_CONNECTED) {
    if (millis() - start > 10000) {
      Serial.println("Wi-Fi таймаут, сплю");
      goToSleep(SLEEP_MIN);
    }
    delay(100);
  }
  Serial.println("Wi-Fi OK: " + WiFi.localIP().toString());

  // 2. Читаем датчики
  float temp = dht.readTemperature();
  float hum  = dht.readHumidity();

  // 3. Измеряем напряжение батареи
  int rawADC = analogRead(VBAT_PIN);
  float vBat = rawADC * VBAT_COEFF;
  int batPercent = constrain(map(vBat * 100, 320, 420, 0, 100), 0, 100);

  Serial.printf("T=%.1f H=%.1f Vbat=%.2fV (%d%%)\n", temp, hum, vBat, batPercent);

  // 4. Проверяем валидность данных
  if (isnan(temp) || isnan(hum)) {
    Serial.println("Датчик не ответил");
    goToSleep(SLEEP_MIN);
  }

  // 5. Отправляем JSON на сервер
  HTTPClient http;
  http.begin(SERVER_URL);
  http.addHeader("Content-Type", "application/json");
  http.setTimeout(5000);

  String json = "{\"temp\":" + String(temp, 1)
    + ",\"hum\":" + String(hum, 1)
    + ",\"vbat\":" + String(vBat, 2)
    + ",\"bat_pct\":" + String(batPercent)
    + ",\"device\":\"pole1\"}";

  int code = http.POST(json);
  Serial.println("HTTP: " + String(code));
  http.end();

  // 6. Засыпаем
  goToSleep(SLEEP_MIN);
}

void loop() {
  // Никогда не вызывается — после setup() уходим в deep sleep
}

Ключевые моменты кода:

  • Весь код в setup() — функция loop() пустая. ESP32 после deep sleep перезагружается заново, то есть выполняет setup() с нуля. Это нормальное поведение
  • Таймаут Wi-Fi 10 секунд. Если роутер не отвечает — не висим и не разряжаем батарею, а засыпаем. В следующем цикле попробуем снова
  • Измерение напряжения батареи. Делитель напряжения (два резистора по 100 кОм) нужен, потому что АЦП ESP32 принимает максимум 3.3 В, а аккумулятор выдаёт до 4.2 В. Средняя точка делителя подключается к GPIO34 (только вход, без подтяжки). Результат отправляем на сервер — видим заряд в дашборде
  • WiFi.setSleep(false) — отключает energy-saving Wi-Fi ESP32, что ускоряет подключение с 3–5 сек до 1–2 сек. Раз мы всё равно засыпаем через 5 секунд — экономия Wi-Fi-модуля не нужна

Мониторинг заряда батареи

Аккумулятор 18650 отдаёт 4.2 В при полном заряде и 3.0 В при полном разряде. Модуль TP4056 с защитой отключает нагрузку при ~2.5 В — но доводить до этого не стоит, глубокий разряд убивает литий.

Схема делителя напряжения для измерения:

BAT+ ──┬── R1 (100 кОм) ──┬── R2 (100 кОм) ──┬── GND
       │                   │                   │
       │                   └── GPIO34 (ADC)    │
       └───────────────────────────────────────┘

При 4.2 В на батарее → 2.1 В на GPIO34. При 3.0 В → 1.5 В. АЦП ESP32 (12-bit) переводит в диапазон 0–4095. Формула: V_bat = ADC × 2 × 3.3 / 4095.

Полезные пороги для алертов:

  • > 4.0 В (90%+) — полный заряд, всё отлично
  • 3.7–4.0 В (50–90%) — нормальная работа
  • 3.5–3.7 В (20–50%) — заряд снижается, но ещё нормально
  • 3.3–3.5 В (5–20%) — предупреждение: панель не справляется или пасмурно слишком долго
  • < 3.3 В (< 5%) — критично, скоро отключится. Можно увеличить интервал сна до 30–60 мин для экономии

Адаптивный интервал сна: экономим заряд в пасмурную погоду

Продвинутый приём — изменять интервал сна в зависимости от заряда батареи. Когда батарея полная — отправляем данные каждые 10 минут. Когда заряд падает — увеличиваем интервал до 30 или 60 минут.

// После измерения vBat, перед goToSleep():
int sleepMinutes;

if (vBat > 3.9) {
  sleepMinutes = 10;   // батарея полная — чаще отправляем
} else if (vBat > 3.6) {
  sleepMinutes = 15;   // норма
} else if (vBat > 3.4) {
  sleepMinutes = 30;   // экономим
} else {
  sleepMinutes = 60;   // критический уровень — минимум передач
}

goToSleep(sleepMinutes);

Это увеличивает автономность в 2–4 раза при затяжной пасмурной погоде. А когда солнце вернётся — батарея зарядится и интервал автоматически уменьшится.

Защита от переразряда: не убиваем аккумулятор

Литиевый 18650 нельзя разряжать ниже 2.5 В — это необратимо снижает ёмкость. Модуль TP4056 с защитой (две микросхемы на плате) отключает нагрузку при 2.4–2.5 В. Но есть нюанс: после отключения ESP32 всё ещё потребляет несколько микроампер через стабилизатор. За несколько недель это может добить аккумулятор.

Программная защита — дополнительный барьер:

// В setup(), после измерения vBat:
if (vBat < 3.2) {
  // Критический заряд — уходим в сверхглубокий сон на 6 часов
  // Отправлять нет смысла — зарядки не хватит на Wi-Fi
  Serial.println("Батарея критична! Сон 6ч");
  goToSleep(360);  // 6 часов
}

При 3.2 В модулю TP4056 ещё не нужно отключать нагрузку, но ESP32 «знает», что заряд мал и уходит в длительный сон. Шанс дожить до утреннего солнца — максимальный.

Расчёт энергобаланса: хватит ли панели

Считаем для средней полосы России (Москва, Саратов, Казань):

Потребление ESP32 с deep sleep (интервал 15 мин):

Активная фаза: 5 сек × 100 мА = 500 мА·с = 0.139 мА·ч
Сон:           895 сек × 0.01 мА = 8.95 мА·с = 0.0025 мА·ч
За цикл (15 мин): 0.141 мА·ч
За сутки (96 циклов): 96 × 0.141 = 13.6 мА·ч/день

Генерация солнечной панели 6 Вт:

Лето (июнь–август), 14 часов солнца:
  Средний ток зарядки: 400 мА × 0.6 (КПД, облака) = 240 мА
  За день: 240 мА × 14 ч = 3 360 мА·ч

Весна/осень (март, октябрь), 10 часов:
  240 мА × 0.4 × 10 ч = 960 мА·ч

Зима (декабрь), 7 часов:
  240 мА × 0.25 × 7 ч = 420 мА·ч

Потребление 13.6 мА·ч/день. Генерация зимой — 420 мА·ч/день. Запас даже зимой — 30-кратный. Панель 6 Вт для ESP32 с deep sleep — это с огромным запасом.

Можно взять панель поменьше (3 Вт) и она всё равно справится. Но запас не помешает: Россия — это не Калифорния, бывают недели без солнца.

Сборка: пошаговая инструкция

Шаг 1. Припаиваем провода к TP4056. Красный провод — к IN+, чёрный — к IN−. С другой стороны: красный — к OUT+, чёрный — к OUT−. Отдельно провода от BAT+ и BAT− к держателю 18650.

Шаг 2. Устанавливаем диод Шоттки. Между плюсом солнечной панели и IN+ на TP4056. Полоска на диоде — к TP4056 (катод). Направление тока: от панели к TP4056, обратно — заблокировано.

Шаг 3. Подключаем ESP32. OUT+ → VIN (ESP32). OUT− → GND (ESP32). Добавляем делитель напряжения для мониторинга батареи: BAT+ → резистор 100 кОм → GPIO34 → резистор 100 кОм → GND.

Шаг 4. Вставляем аккумулятор 18650. Соблюдаем полярность — на держателе отмечены + и −. TP4056 не взорвётся при переполюсовке, но и заряжать не будет.

Шаг 5. Прошиваем ESP32 кодом из этой статьи (последний раз по USB-кабелю — дальше через OTA).

Шаг 6. Всё, кроме панели, убираем в герметичный бокс IP65. Панель крепим снаружи на южную сторону столба/стены. Провода от панели заводим в бокс через кабельный ввод (PG7 / PG9).

Герметизация: датчик живёт на улице

Электроника в поле — это дождь, роса, пыль, насекомые. Без защиты плата сгниёт за месяц.

  • Распаечная коробка IP65 (100–200 ₽ в строймаге) — основной корпус. Влезает ESP32, TP4056, аккумулятор и провода
  • Кабельные вводы PG7 — для проводов от солнечной панели и датчика. Не сверлите просто дырку — через неё зальёт
  • Датчик DHT22 — снаружи бокса, под навесом. Если запихнёте внутрь бокса — будет измерять температуру платы, а не воздуха. Провода от датчика — через кабельный ввод
  • Силиконовый герметик — замазать все щели вокруг кабельных вводов. Лучше перестраховаться
  • Пакетик силикагеля (из коробки с обувью) — бросьте внутрь бокса. Поглотит конденсат

Установка солнечной панели: угол и ориентация

Неправильно установленная панель даёт на 40–60% меньше энергии.

  • Ориентация — строго на юг (для северного полушария). Определить юг можно по компасу в телефоне или по тени от вертикальной палки в полдень
  • Угол наклона — равен широте вашего региона. Москва: 56°, Краснодар: 45°, Новосибирск: 55°. Зимой оптимальный угол на 15° больше (71° для Москвы), летом на 15° меньше (41°). Для круглогодичной работы выбирайте среднее значение — широту
  • Без затенения! Даже тень от ветки на 10% площади панели снижает генерацию на 50% и более. Солнечные ячейки соединены последовательно — затенённая ячейка становится «бутылочным горлышком»
  • Очистка. Раз в месяц протирайте панель от пыли и птичьего помёта. Загрязнённая панель теряет 10–20% мощности

Что если панели не хватает: два аккумулятора

В регионах с длинными пасмурными периодами (Питер, Мурманск) или если интервал отправки — каждые 5 минут, одного 18650 может не хватить. Решение — два аккумулятора параллельно:

  • Берёте два одинаковых 18650 (обязательно одного бренда, одной ёмкости, в идеале — из одной партии)
  • Соединяете параллельно: плюс к плюсу, минус к минусу
  • Подключаете к BAT+ и BAT− на TP4056

Ёмкость удваивается: 6 800 мА·ч вместо 3 400. Потребление не меняется. Автономность без солнца — 248 × 2 = 496 дней. Полтора года от двух аккумуляторов по 200 ₽.

Важно: не ставьте параллельно разные аккумуляторы (старый + новый, разных ёмкостей). Более заряженный будет «заряжать» менее заряженный — это нагрев и деградация.

Версия с LoRa: максимальная автономность

Если у вас уже есть LoRa-шлюз на Raspberry Pi, замена Wi-Fi на LoRa даёт два преимущества:

  1. Не нужен Wi-Fi в поле. LoRa работает на 10 км без роутера
  2. Меньше потребление. LoRa-передача: 0.3 сек × 120 мА. Wi-Fi-передача: 3–5 сек × 100 мА. Разница — в 10 раз. Аккумулятор прослужит ещё дольше

Код для LoRa-версии (замена блока Wi-Fi + HTTP в setup()):

#include <SPI.h>
#include <LoRa.h>

#define LORA_SS    5
#define LORA_RST   14
#define LORA_DIO0  2
#define LORA_FREQ  868E6  // 868 МГц для России

void setup() {
  Serial.begin(115200);
  dht.begin();

  // Инициализация LoRa
  LoRa.setPins(LORA_SS, LORA_RST, LORA_DIO0);
  if (!LoRa.begin(LORA_FREQ)) {
    Serial.println("LoRa init failed");
    goToSleep(SLEEP_MIN);
  }
  LoRa.setSpreadingFactor(7);   // баланс дальность/скорость
  LoRa.setSignalBandwidth(125E3);
  LoRa.setTxPower(17);          // 17 dBm — максимум без PA

  // Читаем датчики
  float temp = dht.readTemperature();
  float hum  = dht.readHumidity();
  int rawADC = analogRead(VBAT_PIN);
  float vBat = rawADC * VBAT_COEFF;

  // Формируем компактный пакет
  String packet = "P1:" + String(temp,1) + ":" + String(hum,1)
    + ":" + String(vBat, 2);

  // Отправляем
  LoRa.beginPacket();
  LoRa.print(packet);
  LoRa.endPacket(true);  // true = async, быстрее уснём
  delay(100);             // даём время на передачу

  LoRa.sleep();           // LoRa-модуль тоже спит
  goToSleep(SLEEP_MIN);
}

Пакет P1:24.5:63.2:3.87 — это 18 байт. LoRa-модуль SX1278 при spreading factor 7 передаёт его за 50 мс. Вся активная фаза — менее 1 секунды. Среднее потребление падает до 0.15 мА, и одного аккумулятора хватает на 2.5 года. Солнечная панель в этом сценарии — скорее страховка, чем необходимость.

Типичные ошибки и как их избежать

TP4056 без защиты (одна микросхема). Самая частая ошибка новичков. TP4056 без DW01A (микросхема защиты) продолжает разряжать аккумулятор до 0 В — и убивает его за один цикл. На плате с защитой — две микросхемы: TP4056 (заряд) и DW01A (защита от переразряда, перезаряда и КЗ). Визуально: у платы с защитой 6 контактов, у платы без защиты — 4.

Панель 12 В вместо 6 В. TP4056 принимает максимум 8 В. Панель 12 В при ярком солнце даёт 18–20 В. Сгорит мгновенно. Если у вас только 12 В панель — добавьте понижающий DC-DC преобразователь (MP1584 за 60 ₽, выставите выходное на 5 В) между панелью и TP4056.

ESP32 не просыпается из deep sleep. Проверьте: используете ли GPIO для пробуждения, который поддерживает RTC? Не все пины ESP32 доступны в режиме RTC. Для таймерного пробуждения (как у нас) — проблем нет. Для пробуждения по внешнему сигналу (кнопка, PIR-датчик) — допустимы только: GPIO 0, 2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 33, 34, 35, 36, 39.

Аккумулятор быстро теряет ёмкость. Дешёвые «UltraFire» 18650 с Aliexpress заявляют 9 800 мА·ч — в реальности 500–800 мА·ч. Покупайте только брендовые ячейки: Samsung INR18650-25R (2 500 мА·ч), LG HG2 (3 000 мА·ч), Panasonic NCR18650B (3 400 мА·ч). Стоят 200–400 ₽, но реально работают.

Конденсат внутри бокса. Даже IP65 бокс не защищает от конденсата — он образуется при перепаде температур (день/ночь). Бросьте внутрь пакетик силикагеля и раз в сезон проверяйте. Если платы покрылись белым налётом — протрите изопропиловым спиртом и покройте лаком (PLASTIK 71 или любой акриловый лак для плат).

ESP32 DevKit потребляет больше 10 мкА в deep sleep. На некоторых дешёвых DevKit-платах стоит линейный стабилизатор AMS1117, который сам потребляет 5 мА в режиме покоя. Это убивает весь смысл deep sleep. Решения: (1) запитать ESP32 напрямую через 3V3-пин от выхода TP4056 через LDO MCP1700 (потребление покоя 1.6 мкА), либо (2) использовать плату без AMS1117 — например, ESP32-C3 Super Mini или Lolin D32 Pro.

Итоговая стоимость

  • ESP32 DevKit — 400 ₽
  • Солнечная панель 6 Вт 6 В — 500 ₽
  • TP4056 с защитой — 60 ₽
  • Аккумулятор 18650 (Samsung 2500 мА·ч) — 250 ₽
  • Держатель 18650 — 30 ₽
  • Диод Шоттки 1N5817 — 5 ₽
  • Резисторы 2 × 100 кОм — 5 ₽
  • Герметичный бокс IP65 — 150 ₽
  • Провода, термоусадка — 50 ₽

Итого: ~1 450 ₽ — и датчик работает в поле месяцами без обслуживания.

Для сравнения: готовый промышленный автономный метеодатчик с солнечной панелью — от 25 000 ₽. Разница в 17 раз.

Что дальше

Солнечная панель + deep sleep — это фундамент для всех полевых проектов. Теперь любой датчик из наших предыдущих статей можно поставить в чистом поле, в километрах от ближайшей розетки — и он будет работать автономно.

В следующей статье серии — умная вентиляция теплицы: сервопривод + термодатчик + расписание. Форточки открываются сами, когда жарко, и закрываются на ночь. Бюджет: ~3 000 ₽.

Весь код из статьи — рабочий, обе версии (Wi-Fi и LoRa). Компоненты продаются на Aliexpress и Ozon. Если что-то не получилось — пишите в комментариях, разберём.

💬 Комментарии

Чтобы оставить комментарий, войдите или зарегистрируйтесь

Загрузка комментариев...

Похожие статьи