Оглавление:

Солнечная метеостанция ESP32: 4 шага (с фотографиями)
Солнечная метеостанция ESP32: 4 шага (с фотографиями)

Видео: Солнечная метеостанция ESP32: 4 шага (с фотографиями)

Видео: Солнечная метеостанция ESP32: 4 шага (с фотографиями)
Видео: LILYGO® TTGO T4: Модуль на ESP32 с дисплеем Ili9341. Информер для умного дома Home Assistant 2024, Июль
Anonim
Солнечная метеостанция ESP32
Солнечная метеостанция ESP32

Для своего первого проекта IoT я хотел построить метеостанцию и отправить данные на data.sparkfun.com.

Небольшая поправка: когда я решил открыть свою учетную запись в Sparkfun, они не принимали больше подключений, поэтому я выбрал другой сборщик данных IoT thingspeak.com.

Продолжаем…

Система будет размещена на моем балконе и будет определять температуру, влажность и давление воздуха. Для этого проекта выбран микроконтроллер FireBeetle ESP32 IOT Microcontroller, поставляемый DFRobot.

Пожалуйста, посетите вики-страницу DFRobot для получения дополнительной информации об этом микроконтроллере и о том, как загрузить код с помощью Arduino IDE.

Все физические параметры даются датчиком BME280. Также проверьте страницу вики для получения дополнительной информации.

Чтобы сделать систему полностью «беспроводной», необходимо питание от двух солнечных панелей на 6 В, которые могут выдавать мощность 2 Вт. Ячейки будут подключены параллельно. Затем вырабатываемая энергия хранится в полимерно-литий-ионной батарее 3,7 В с емкостью +/- 1000 мАч.

Модуль Solar Lipo Charger от DFRobot будет отвечать за управление энергопотреблением.

Шаг 1: Компоненты

Компоненты
Компоненты
Компоненты
Компоненты
Компоненты
Компоненты

Для этого проекта вам понадобятся:

  • 1x - DFRobot FireBeetle ESP32 IOT
  • 1x - DFRobot Gravity - I2C BME280
  • 1x - DFRobot 3,7 В литий-ионный полимерный
  • 1x - зарядное устройство DFRobot Solar Lipo Charger
  • 2x - 6V 1W солнечная панель
  • 1x - перфорированная плита
  • 1x - Женский заголовок
  • 1x - Корпус / коробка
  • Провода
  • Винты

Также вам понадобятся следующие инструменты:

  • Пистолет для горячего клея
  • Паяльник
  • Дрель

Шаг 2: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

Микроконтроллер FireBeetle ESP32 IOT питается от батареи 3,7 В, которая подключена к солнечному зарядному устройству Lipo через входной порт батареи. Солнечные элементы подключаются к портам PWR In. Порты Vcc и GND микроконтроллера FireBeetle ESP32 IOT подключены к портам Vout зарядного устройства Solar Lipo.

Питание BME280 подается через порт 3,3 В микроконтроллера FireBeetle ESP32 IOT. Связь осуществляется через линии I2C (SDA / SCL).

Чтобы закрепить все компоненты в коробке, я использовал монтажную плату, несколько заголовков и проводов.

Что касается солнечных элементов, я просто приклеил их горячим клеем к верхней крышке коробки. Так как в коробке уже были дыры, больше ничего делать не надо:)

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

Подробнее об этом можно прочитать в:

www.instructables.com/community/Use-of-diodes-when-connecting-solar-panels-in-para/

Шаг 3: Код

Код
Код
Код
Код
Код
Код

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

Первый - это определение имени и пароля вашей сети Wi-Fi. Второй - получение ключа API от Thingspeak.com. Я объясню это ниже. Также вы можете определить новый интервал сна, если хотите.

Thingspeak.com Если у вас нет учетной записи Thingspeak, вам необходимо перейти на сайт www.thingspeak.com и зарегистрироваться.

После того, как ваш адрес электронной почты будет проверен, вы можете перейти в «Каналы» и создать новый канал. Добавьте переменные, которые вы хотите загрузить. Для этого проекта «Температура, влажность и давление».

Прокрутите вниз и нажмите «Сохранить канал». После этого вы можете щелкнуть API-ключи. И получите ключ записи API. Затем добавьте его в свой файл кода.

Если все верно, ваша метеостанция может начать отправлять данные на ваш канал.

Шаг 4: Заключение

Заключение
Заключение

Как всегда в моих проектах, я хочу дать место для будущих улучшений, это не исключение.

Во время разработки меня беспокоит энергопотребление системы. Я уже поместил ESP32 и BME280 в спящий режим, и даже в этом случае у меня потребление составляет около 2 мА !!! Поскольку BME280 несет большую ответственность за это, мне, вероятно, понадобится переключатель, чтобы полностью выключить модуль в спящем режиме.

Еще одна интересная функция - получить напряжение батареи. После некоторого исследования и тестирования некоторых внутренних функций ESP32 ничего не работало. Так что, вероятно, я добавлю делитель напряжения и подключу его к аналоговому входу и буду считывать напряжение напрямую. Пожалуйста, дайте мне знать, если найдете лучшее решение.

Пожалуйста, напишите мне, если вы обнаружили ошибку или у вас есть предложения / улучшения или вопросы: «Не скучайте, сделайте что-нибудь»

Рекомендуемые: