Inhaltsverzeichnis:

Radio LoRa Ra-01 mit STM32 und ESP32 - Gunook
Radio LoRa Ra-01 mit STM32 und ESP32 - Gunook

Video: Radio LoRa Ra-01 mit STM32 und ESP32 - Gunook

Video: Radio LoRa Ra-01 mit STM32 und ESP32 - Gunook
Video: LoRa - Long-Range Radio for IoT | Arduino, ESP32, RPI Pico 2024, Juli
Anonim
Image
Image
Demonstration
Demonstration

Da dies ein beliebtes Thema unter denen ist, die meine Beiträge verfolgen, habe ich beschlossen, heute über LoRa zu sprechen. Ich werde das Thema jedoch mit einigen neuen Elementen diskutieren: Diesmal ohne den ESP32, sondern stattdessen den STM32. Ich wollte schon immer etwas über den STM32 schreiben, da er eine ganze Familie von 32-Bit-Mikrocontrollern von STMicroelectronics umfasst. Ich habe mehrere Freunde, die diesen Chip außerhalb Brasiliens verwenden. Sie können die Erfolge dieses europäischen Fertigungsmittels bezeugen. Zuerst werde ich den STM32 vorstellen und auch das LoRa Ra-01 Modul diskutieren. Außerdem werde ich auf die Programmierung des STM32 in der Arduino IDE eingehen.

Dieses Video zeigt Ihnen ein STM32-Entwicklungskit, das nicht für die Programmierung in Arduino gedacht ist, sondern mit C-Sprache oder solchen, die für STMicroelectronics nativ sind. Wenn ich mich nicht irre, gibt es acht Unternehmen, die Compiler für STM32 produzieren, was uns zeigt, dass es eine beträchtliche globale Kultur in Bezug auf diesen Chip gibt.

Ich möchte Ihnen hier erklären, dass STMicroelectronics mindestens viermal größer als Microchip ist und die STM32-Familie herstellt. Es besteht aus Architekturen, die von sehr kleinen Chips bis hin zu STM32 F7 reichen, die ich für "super leistungsstark" halte.

In unserer Montage verwenden wir einen STM32 Maple Mini, der wie ein Arduino Nano aussieht. Es ist jedoch viel mächtiger. Wir werden auch den Ai-Thinker Ra-01 verwenden. Es ist vom LoRa-Radio getrennt, das über SPI (die Kommunikation des Semtech LoRa-Chips) mit dem STM32 kommuniziert.

Schritt 1: Demonstration

In unserem Video seht ihr in der Montage, dass wir den STM32 Maple Mini per SPI mit dem Ra-01 Modul verbunden haben. Diese Baugruppe überträgt die Daten an unseren "geliebten" ESP32, der über ein eingebettetes i2c-Display verfügt, das die Pakete anzeigt. Sie sehen, dass die Vorbereitung, das Versenden und der Empfang des Pakets durch den ESP32 sowie die On-Screen-Anzeige nur 81 Millisekunden in Anspruch nehmen. Wenn der Abstand vergrößert wird und die Software geändert wird, verlängert sich diese Zeit tendenziell.

Unser Ziel mit dieser Baugruppe ist es, den STM32 zu zeigen, der ein anderer Chip ist, der Daten im Standard-Lora-Radio sendet. Es ist wichtig, sich daran zu erinnern, dass es zwei verschiedene Hardwareteile gibt, die über das LoRa-Funkprotokoll kommunizieren.

Schritt 2: LoRa-Modul Ra-01

LoRa-Modul Ra-01
LoRa-Modul Ra-01

Im Grunde haben wir hier den Semtech LoRa-Chip, mit einigen diskreten Komponenten auf der Platine, einschließlich eines Antennenausgangs. Die Schnittstelle ist SPI. In diesem Moment müssen wir die Frage der Chipgeschwindigkeit aufwerfen, die bei über 300 Kbps liegt. Wir wissen, dass LoRa bei dieser Geschwindigkeit nicht funktioniert, da es sich nur mit 37K oder weniger dreht. Wieso den? Um weit zu kommen, müssen Sie die Bitrate senken. Es ist wichtig, sich daran zu erinnern, dass Geschwindigkeit kein Anliegen von LoRa ist, sondern ihr Umfang. Die Frequenz dieses Geräts beträgt 433 MHz und die Sendeleistung liegt bei etwa 18 dBm bei 3v3-Leistung.

Schritt 3: Ahorn Mini

Ahorn Mini
Ahorn Mini

Das halte ich beim STM32 für besonders. Was ist der Unterschied zwischen diesem und dem STMicroelectronics-Entwicklungskit (der STM32 L4-Serie mit extrem niedrigem Stromverbrauch)? Das Kit ist leistungsstärker, aber der Maple Mini arbeitet in der Arduino IDE, was es für diejenigen, die in Bezug auf die Programmierung nicht so versiert sind, viel einfacher macht. Wir können sagen, dass Maple Mini wie eine Art Arduino funktioniert, mit einem Flash von 128 KB. Das Maple Mini verfügt außerdem über 20 KB RAM, USB-Eingang, LEDs, Tasten, ein Highlight für seine 34 IOs, plus 12 16-Bit-PWMs und 9 12-Bit-Analogeingänge.

Schritt 4: Anheften

Anheften
Anheften

Hier gezeigt ist die Maple Mini Pinbelegung.

Schritt 5: Installieren Sie die Unterstützung für ARM 32-Bit-Karten

Installieren Sie Unterstützung für ARM 32-Bit-Karten
Installieren Sie Unterstützung für ARM 32-Bit-Karten

Gehen Sie in der Arduino-IDE zu Tools-> Board-> Board Manager …

Suchen Sie im sich öffnenden Fenster nach Arduino SAM Boards und installieren Sie Arduino SAM Boards (32-Bit ARM Cortex-M3)

Schritt 6: Lora-Bibliothek

Lora-Bibliothek
Lora-Bibliothek

Gehen Sie nun zu Sketch-> Bibliothek einschließen-> Bibliotheken verwalten …

Suchen Sie nach LoRa und installieren Sie LoRa von Sandeep Mistry

Schritt 7: SMT32 Arduino

SMT32 Arduino
SMT32 Arduino

Laden Sie die Zip-Datei unter https://github.com/rogerclarkmelbourne/Arduino_STM32 herunter

Entpacken und kopieren Sie den Ordner nach Documents / Arduino / hardware

Schritt 8: Montage

Montage
Montage

Hier können Sie sehen, wie einfach unser Schema ist. Ich verbinde über SPI das Ai-Thinker-Modul (LoRa) mit STM32.

Schritt 9: Einstellungen

Einstellungen
Einstellungen

Nach dem Herunterladen der Quelle

Code, der am Ende dieses Artikels verfügbar ist, gehen Sie dann zum Build. Befolgen Sie dann die Schritte in diesem Bild.

Schritt 10: Code basierend auf ESP32 LoRa Sende- und Empfangsvideo

Code basierend auf ESP32 LoRa Video senden und empfangen
Code basierend auf ESP32 LoRa Video senden und empfangen

Der Quellcode, den wir in diesem Projekt verwenden, ist derselbe, den wir bereits in einer Assembly mit einem ESP32 im Video verwendet haben: ESP32 LoRa mit Arduino IDE: Send and Receive TX RX, mit einer Ausnahme: Es hat kein Display. Dieser Teil von i2C wurde bereits aus dem Code entfernt, den ich unten heruntergeladen habe. Um herauszufinden, wie dieser Code funktioniert, sehen Sie sich einfach das Video an.

Schritt 11: Dateien

Laden Sie die Dateien herunter:

PDF

INO

Empfohlen: