Метеостанция на VarnaLab с LoRaWAN и Micropython
Проекта ползва следните библиотеки:
- SDS011 сензор за фини прахови частици
- BME280 сензор за температура, налягане и влажност
- Микроконтролер LILYGO TTGO E32
Итеглете специфичният фърмуер за микроконтролера LilyGo от тук
Сензора bmе280 се свързва по I2C на следните пинове на микроконтролера sda = 21, scl= 22
Сензора за прах се свързва по UART на следните пинове на микроконтролера rx = 16, tx = 17
Във файла config.py се намират полетата за wifi настройка, както и настройките за The Things Network В TTN трябва да създадете устройство, което работи само с ABP автентикация, понеже драйвера за микропитон не подържа OTA.
Файлът ttn_payload_formatter_function.js съдържа javascript, който форматира данните в TTN. Функцията от този файл трябва да се сложи в полето намиращо се в
Applications > [вашето приложение] > End devices > eui-[айди на вашето у-во] > Payload formatters > Uplink
Тази функция е настроена да работи с формата на struct-a от кода на микроконтролера.
Важно е да сложите на микроконтролера следните файлове в посочената файлова структура:
В папка Extras има клас (esp32ble.py), който позволява ползването на блутут-а на esp32. Още не съм го имплементирал в главният main.py, но може да се ползва за UART дебъг докато станцията работи. Има примерен код в същата папка.
Във фърмуера на LilyGo няма преинсталиран umqtt модула, затова трябва да го добавим. Сложете цялата директориа umqtt заедно със съдържанието ѝ на микроконтролера.