ESP32 LoRa Temperature Sensor

Vi har ett litet gemensamt projekt där målet är hämta data från en temperatursensor (DS18B20) och via LoRa skicka informationen till en mottagare som över WiFi pratar med en MQTT-broker. Upplägget är lite av en kurs för att få en försåelse hos deltagarna på hur det fungerar och sen kunna bygga vidare på egna projekt med samma tekniker och utrustning.

Vi använder oss av “TTGO ESP32 LoRa OLED” eller “TTGO T-Beam”. Koden fungerar troligen även på andra LoRa-kort men GPOI kan behöva ändras för att stämma överens med kortet.

Som utvecklingsmiljö används VisualStudioCode tillsammans med tillägget PlatformIO. Det ger en bra utvecklingsmiljö som ger mycket hjälp för utvecklaren. Nackdelen är att det kan vara lite svårare att komma igång med, men det kommer att finnas en enklare instruktion här på sidan om hur man gör.

Koden vi använder går att finna här: https://github.com/danlarsson/ESP32-LoRa-MQTT-PlatformIO
Just nu i Maj 2021 så är den ständigt under utveckling och uppdateras med lite ojämna mellanrum.


Målet blir att kunna ha en eller flera sändare och en mottagare.
  • Sändaren skall; läsa av temperaturen från en DS18B20 och skicka den över LoRa. Alternatvit en annan sensor.
  • Mottagaren skall; ansluta mot WiFi, ta emot LoRa-signalen, skicka mätvärdet till en MQTT-Broaker.
  • Möjlighet till att använda den inbyggda displayen för att visa statusinformation.
  • Koden bör vara modulär för att kunna återanvändas i andra projekt.
 
Från början var tanken att använda microPython som språk till ESP32 kortet, men vi hittade ingen utvecklingsmiljö som kändes tillräckligt stabil. Efter att ha använt Ardruino IDE en stund bestämdes att gå över till VSCode med Platform IO för att komma runt begränsningar och ha möjlighet att sammarbeta i samma projekt med Live Share pluginen.