LoRaWAN met Raspberry Pi Zero

Als je een internet of things toepassing wilt maken met een Raspberry Pi Zero W en wilt aansluiten aan KPN LoRa of The Things Network, dan heb je niet al te veel keus in kant-en-klare pHATs. Eén van de weinige opties die ik tegenkwam is de Uputronics Raspberry Pi Zero LoRa(tm) Expansion Board, een niet al te duur bordje ter grootte van een Raspberry Pi Zero, voorzien van een HopeRF RFM96W (een Semtech SX1276 kloonn) zendontvanger-module.

De Uputronics Raspberry Pi Zero LoRa board

De HopeRF RFM96W heeft de volgende specificaties (zie datasheet):

  • SPI interface
  • LoRa modem
  • Ingebouwde temperatuursensor en batterijvoltagemeting
  • Frequentiebereik 137 MHz - 1020 MHz (de RMF96/97/98 verschillen hierin)
  • Spreading factor 6 - 12
  • Bit rate 0,018 - 37,5 kbps

Het Uputronics bordje heeft een vaste SMA antenneaansluiting, geschikt voor een schroefbare antenne. Ik had persoonlijk liever een kleine U.FL printconnector gezien, zodat je wat flexibeler bent in de montage van de antenne, maar voor experimenteerdoeleinden kan dit geen kwaad.

Om te verbinden met een LoRaWAN gateway zijn de volgende stappen nodig:

  • Activeren van de SPI interface op de Raspberry Pi
  • Python bibliotheek voor de SPI interface
  • Python bibliotheek voor gebruik met de RFM96W module
  • Python bibliotheek om te verbinden met de LoRaWAN gateway
  • Instellingen op het LoRaWAN netwerk (APP ID, etc)
  • Toepassing die data genereert om te versturen naar de gateway

Da's nog wel veel om helemaal vanaf nul te ontwikkelen. Maar misschien hoeft dat ook niet. Er zijn wat modules en ander voorwerk beschikbaar die mogelijk gaan helpen:

Ik ben op zoek naar een Python basis die gebruikt kan worden voor onderwijsdoeleinden. Dat betekent ondermeer inzicht in alle code, zowel voor het LoRa deel als het LoRaWAN deel.