Een LoRa-platform maken met STM32WL

ICR3ATE is constantly looking at ways to improve the design phase of prototyping new IoT devices. While Low Code platforms are often sufficient for functional prototyping, ICR3ATE has been looking at a closer-to-hardware way of prototyping IoT devices. With the launch of ST’s STM32WL series of LoRa capable microcontrollers perfectly matching these demands, development has been started on a LoRa platform using these chips.

Low code platforms zijn vaak perfect bruikbaar voor functionele prototyping van IoT-apparaten. Wanneer u echter begint te kijken naar meer productieklare industriële toepassingen, wordt lage code een knelpunt. Low code platforms geven vaak geen controle over diepe systeemconfiguratie, zoals het wijzigen van specifieke interne klokken en het hebben van beperkte foutopsporingsmogelijkheden.

ST heeft onlangs hun nieuwe STM32WL-line-up van LoRa-compatibele microcontrollers uitgebracht, waaronder een microcontroller voor algemeen gebruik en sub-GHz-radio op één chip. Gebouwd met behulp van Arm Cortex M4-kernen en ondersteunend vele draadloze standaarden, zijn ze de ideale keuze voor industriële kant-en-klare draadloze IoT-apparaattoepassingen. Dit in combinatie met de uitgebreide ontwikkeling die ST in de loop der jaren heeft opgebouwd, heeft STM32WL de perfecte keuze gemaakt voor ICR3ATE.


Het doel


Het doel van de integratie van de STM32WL in de portefeuille van ICR3ATE is vanaf het begin duidelijk geweest; Het creëren van een ontwikkelomgeving die eenvoudige functionele prototyping mogelijk maakt op dezelfde manier als de huidige low code-technieken toestaan, terwijl gebruik wordt gemaakt van de meer geavanceerde functies die het gebruik van C / C ++ direct op de hardware ontgrendelt.

Hiervoor zijn drie subdoelen gesteld:

  1. In staat zijn om binnen enkele minuten een project op te zetten door de ontwikkelomgeving als uitgangspunt te nemen
  2. Eenvoudige configuratie van de LoRa-interface mogelijk maken
  3. Maak een softwaresjabloon voor het verzenden van LoRa-berichten met behulp van alle drie de initialisers van klasse A-berichten (timer, externe interrupt en downlink)

Het proces

Met behulp van de Windy Module van Midatronics als eerste ontwikkelbord samen met STM32CubeIDE en STM32CubeProgrammer, werd de eerste installatie gedaan. De door ST aangeleverde voorbeeldprojecten zorgden voor een goed startpunt en maakten het mogelijk om de eerste LoRa-berichten te versturen. Van daaruit werd een leeg project gemaakt en werd het instellen van de randapparatuur gedaan met CubeMX.

Vervolgens werd code geschreven om te communiceren met de lagere abstractielagen van de STM32WL-firmwarestack om een hoog abstractieniveau te bieden aan toekomstige toepassingen. Door oproepen naar de verschillende firmwarelagen in één set bestanden te consolideren, was alle vereiste functionaliteit nu gemakkelijk toegankelijk. Deze aanpak zorgt ervoor dat toekomstige ontwikkelaars, zelfs degenen die misschien niet bekend zijn met de STM32-omgeving, hun applicaties gemakkelijk kunnen realiseren zonder naar lagere abstractielagen te hoeven kijken.



Ten slotte zijn er enkele helperfuncties geschreven waarmee alle drie klasse A-interrupts op één plek kunnen worden configuratie mogelijk. Met behulp van een sequencer kunnen taken worden gemaakt en gepland om functies aan te roepen wanneer de processor de slaapstand verlaat. Voorbeeldfuncties zijn gemaakt om eenvoudige Cayenne-compatibele LoRa-berichten te kunnen verzenden.

Conclusie

Kortom, de nieuwe STM32WL-line-up van microprocessors heeft bewezen perfect te voldoen aan de vereisten van ICR3ATE voor industrialisatieklare IoT-oplossingen. De mogelijkheid voor geavanceerde functies en besturing in combinatie met de gecreëerde modulaire softwareomgeving maakt prototypingsnelheid vergelijkbaar met low-code alternatieven, terwijl de programmeur meer controle krijgt.

In de toekomst zal dit platform op de proef worden gesteld in daadwerkelijke IoT-oplossingen, door een combinatie van deze softwareomgeving en aangepaste hardware.

Like it?

Share it!