Inhoudsopgave:

Radio LoRa Ra-01 met STM32 en ESP32 - Ajarnpa
Radio LoRa Ra-01 met STM32 en ESP32 - Ajarnpa

Video: Radio LoRa Ra-01 met STM32 en ESP32 - Ajarnpa

Video: Radio LoRa Ra-01 met STM32 en ESP32 - Ajarnpa
Video: Безопасная передача данных радиомодулями Lora с UART интерфейсом 2024, Juli-
Anonim
Image
Image
Demonstratie
Demonstratie

Omdat dit een populair onderwerp is onder degenen die mijn berichten volgen, heb ik besloten om vandaag over LoRa te praten. Ik ga het onderwerp echter bespreken met enkele nieuwe elementen: deze keer zonder de ESP32 te gebruiken, maar in plaats daarvan de STM32. Ik heb altijd al iets willen posten over de STM32, omdat deze een hele familie van 32-bits microcontrollers vormt, geproduceerd door STMicroelectronics. Ik heb verschillende vrienden die deze chip buiten Brazilië gebruiken. Ze kunnen getuigen van het succes van dit Europese productieapparaat. Eerst ga ik de STM32 introduceren en ook de LoRa Ra-01-module bespreken. Daarnaast bespreek ik het programmeren van de STM32 in de Arduino IDE.

Deze video laat je een STM32-ontwikkelingskit zien die niet bedoeld is om in Arduino te programmeren, maar in plaats daarvan met C-taal of die eigen zijn aan STMicroelectronics. Als ik me niet vergis, zijn er acht bedrijven die compilers voor STM32 produceren, wat ons laat zien dat er een aanzienlijke mondiale cultuur bestaat rond deze chip.

Ik wil je hier uitleggen dat STMicroelectronics minstens vier keer groter is dan Microchip en de STM32-familie produceert. Het bestaat uit architecturen variërend van zeer kleine chips tot STM32 F7, die ik als "superkrachtig" beschouw.

In onze montage gebruiken we een STM32 Maple Mini, die eruitziet als een Arduino Nano. Het is echter veel krachtiger. We zullen ook de Ai-Thinker Ra-01 gebruiken. Het staat los van de LoRa-radio, die via SPI (de communicatie van de Semtech LoRa-chip) met de STM32 zal communiceren.

Stap 1: Demonstratie

In onze video kun je in de montage zien dat we de STM32 Maple Mini via SPI hebben aangesloten op de Ra-01-module. Deze assembly verzendt de gegevens naar onze "geliefde" ESP32, die een ingebed i2c-display heeft dat de pakketten weergeeft. U kunt zien dat het voorbereiden, verzenden en ontvangen van het pakket door de ESP32 slechts 81 milliseconden duurt, evenals voor de weergave op het scherm. Als de afstand wordt vergroot, en er is een wijziging in de software, heeft deze tijd de neiging om toe te nemen.

Ons doel met deze assembly is om de STM32, een andere chip, te laten zien die gegevens verzendt in de standaard Lora-radio. Het is belangrijk om te onthouden dat er twee verschillende hardwaredelen zijn die via het LoRa-radioprotocol praten.

Stap 2: LoRa-module Ra-01

LoRa-module Ra-01
LoRa-module Ra-01

Kortom, we hebben hier de Semtech LoRa-chip, met enkele discrete componenten op het bord, waaronder een antenne-uitgang. De interface is SPI. Op dit moment moeten we de kwestie van de chipsnelheid ter sprake brengen, die boven de 300 Kbps ligt. We weten dat LoRa niet werkt op deze snelheid, omdat het slechts met 37K of minder draait. Waarom? Om ver te gaan, moet u de bitsnelheid verlagen. Het is belangrijk om te onthouden dat snelheid niet een zorg is van LoRa, maar eerder van de reikwijdte ervan. De frequentie van dit apparaat is 433 MHz en het zendvermogen is ongeveer 18 dBm, met 3v3-vermogen.

Stap 3: Esdoorn Mini

Esdoorn Mini
Esdoorn Mini

Ik vind dit bijzonder wat betreft de STM32. Wat is het verschil tussen dit en de STMicroelectronics-ontwikkelkit (de STM32 L4-serie met ultra laag vermogen)? De kit is krachtiger, maar de Maple Mini werkt in de Arduino IDE, wat het een stuk eenvoudiger maakt voor degenen die niet zo goed op de hoogte zijn van programmeren. We kunnen stellen dat Maple Mini functioneert als een soort Arduino, met een Flash van 128 KB. De Maple Mini heeft ook 20 KB RAM, USB-ingang, LED's, knoppen, een hoogtepunt voor zijn 34 IO's, plus 12 16-bits PWM's en 9 12-bits analoge ingangen.

Stap 4: Vastzetten

Vastzetten
Vastzetten

Hier afgebeeld is de Maple Mini Pinout.

Stap 5: Installeer ondersteuning voor ARM 32bit-kaarten

Ondersteuning voor ARM 32bit-kaarten installeren
Ondersteuning voor ARM 32bit-kaarten installeren

Ga in de Arduino IDE naar Tools-> Board-> Board Manager …

Zoek in het geopende venster naar Arduino SAM Boards en installeer Arduino SAM Boards (32-bit ARM Cortex-M3)

Stap 6: Lora-bibliotheek

Lora-bibliotheek
Lora-bibliotheek

Ga nu naar Sketch-> Bibliotheek opnemen-> Bibliotheken beheren …

Zoek naar LoRa en installeer LoRa van Sandeep Mistry

Stap 7: SMT32 Arduino

SMT32 Arduino
SMT32 Arduino

Download de zip op

Pak de map uit en kopieer deze naar Documenten / Arduino / hardware

Stap 8: Montage

samenkomst
samenkomst

Hier kunt u zien hoe eenvoudig ons schema is. Via SPI verbind ik de Ai-Thinker module (LoRa) met STM32.

Stap 9: Instellingen

Instellingen
Instellingen

Na het downloaden van de bron

code, beschikbaar aan het einde van dit artikel, ga je vervolgens naar de build. Volg daarna de stappen in deze afbeelding.

Stap 10: Code gebaseerd op ESP32 LoRa Video verzenden en ontvangen

Code gebaseerd op ESP32 LoRa Video verzenden en ontvangen
Code gebaseerd op ESP32 LoRa Video verzenden en ontvangen

De broncode die we in dit project gebruiken is dezelfde die we al hebben gebruikt in een assembly met een ESP32, in de video: ESP32 LoRa met Arduino IDE: Send and Receive TX RX, met één uitzondering: het heeft geen display. Dit onderdeel van i2C is al verwijderd uit de code die ik hieronder heb gedownload. Bekijk de video om erachter te komen hoe deze code werkt.

Stap 11: Bestanden

Download de bestanden:

PDF

INO

Aanbevolen: