Table des matières:

Radio LoRa Ra-01 avec STM32 et ESP32 : 11 étapes
Radio LoRa Ra-01 avec STM32 et ESP32 : 11 étapes

Vidéo: Radio LoRa Ra-01 avec STM32 et ESP32 : 11 étapes

Vidéo: Radio LoRa Ra-01 avec STM32 et ESP32 : 11 étapes
Vidéo: Драйвер модуля Ra-02 LoRa (SX1278) с STM32 с использованием HAL 2024, Juillet
Anonim
Image
Image
Manifestation
Manifestation

Comme il s'agit d'un sujet populaire parmi ceux qui suivent mes publications, j'ai décidé de parler de LoRa aujourd'hui. Cependant, je vais aborder le sujet avec quelques éléments nouveaux: cette fois sans utiliser l'ESP32, mais le STM32 à la place. J'ai toujours voulu poster sur le STM32, car il compose toute une famille de microcontrôleurs 32 bits produits par STMicroelectronics. J'ai plusieurs amis qui utilisent cette puce en dehors du Brésil. Ils peuvent attester des réussites de ce dispositif de fabrication européen. Tout d'abord, je vais présenter le STM32 et discuter également du module LoRa Ra-01. De plus, je discuterai de la programmation du STM32 dans l'IDE Arduino.

Cette vidéo vous montrera un kit de développement STM32 non destiné à la programmation en Arduino, mais avec le langage C ou ceux qui sont natifs de STMicroelectronics. Si je ne me trompe pas, il y a huit sociétés qui produisent des compilateurs pour STM32, ce qui nous montre qu'il existe une culture mondiale importante concernant cette puce.

Je veux vous expliquer ici que STMicroelectronics est au moins quatre fois plus grand que Microchip, et qu'il produit la famille STM32. Il se compose d'architectures allant de très petites puces à STM32 F7, que je considère comme "super puissantes".

Dans notre assemblage, nous utilisons un STM32 Maple Mini, qui ressemble à un Arduino Nano. Cependant, il est beaucoup plus puissant. Nous utiliserons également l'Ai-Thinker Ra-01. Il est distinct de la radio LoRa, qui communiquera avec le STM32 via SPI (la communication de la puce Semtech LoRa).

Étape 1: Démonstration

Dans notre vidéo, vous pouvez voir dans l'assemblage que nous avons le STM32 Maple Mini connecté via SPI au module Ra-01. Cet assemblage transmet les données à notre "bien-aimé" ESP32, qui dispose d'un écran i2c intégré qui affiche les packages. Vous pouvez voir qu'il ne faut que 81 millisecondes pour la préparation, l'envoi et la réception du colis par l'ESP32, ainsi que pour l'affichage à l'écran. Si la distance est augmentée, et qu'il y a un changement dans le logiciel, ce temps a tendance à augmenter.

Notre objectif avec cet assemblage est de montrer le STM32, qui est une puce différente, envoyant des données dans la radio Lora standard. Il est important de se rappeler qu'il existe deux composants matériels différents qui communiquent via le protocole radio LoRa.

Étape 2: Module LoRa Ra-01

Module LoRa Ra-01
Module LoRa Ra-01

En gros, nous avons ici la puce Semtech LoRa, avec quelques composants discrets sur la carte, dont une sortie d'antenne. L'interface est SPI. En ce moment, nous devons soulever la question de la vitesse de la puce, qui est supérieure à 300 Kbps. Nous savons que LoRa ne fonctionne pas à cette vitesse, car il ne tourne qu'à 37K ou moins. Pourquoi? Pour aller loin, il faut baisser le débit. Il est important de se rappeler que la vitesse n'est pas une préoccupation de LoRa, mais plutôt sa portée. La fréquence de cet appareil est de 433 MHz et la puissance de transmission est d'environ 18 dBm, avec une puissance 3v3.

Étape 3: Érable Mini

Érable Mini
Érable Mini

Je considère cela spécial concernant le STM32. Quelle est la différence entre cela et le kit de développement STMicroelectronics (la série STM32 L4 ultra basse consommation) ? Le kit est plus puissant, mais le Maple Mini fonctionne dans l'IDE Arduino, ce qui le rend beaucoup plus facile pour ceux qui ne connaissent pas aussi bien la programmation. On peut dire que Maple Mini fonctionne comme une sorte d'Arduino, avec un Flash de 128 Ko. Le Maple Mini dispose également de 20 Ko de RAM, d'une entrée USB, de LED, de boutons, un point culminant pour ses 34 E/S, plus 12 PWM 16 bits et 9 entrées analogiques 12 bits.

Étape 4: Épinglage

Épinglage
Épinglage

Montré ici est le Mini Pinout d'érable.

Étape 5: Installer la prise en charge des cartes ARM 32 bits

Installer la prise en charge des cartes ARM 32 bits
Installer la prise en charge des cartes ARM 32 bits

Dans l'IDE Arduino, allez dans Tools-> Board-> Board Manager…

Dans la fenêtre qui s'ouvre, recherchez les cartes Arduino SAM et installez les cartes Arduino SAM (32 bits ARM Cortex-M3)

Étape 6: Bibliothèque Lora

Bibliothèque Lora
Bibliothèque Lora

Allez maintenant dans Sketch-> Inclure la bibliothèque-> Gérer les bibliothèques…

Recherchez LoRa et installez LoRa par Sandeep Mistry

Étape 7: Arduino SMT32

Arduino SMT32
Arduino SMT32

Téléchargez le zip sur

Décompressez et copiez le dossier dans Documents/Arduino/hardware

Étape 8: Assemblage

Assemblée
Assemblée

Ici vous pouvez voir à quel point notre schéma est simple. Je connecte via SPI le module Ai-Thinker (LoRa) au STM32.

Étape 9: Paramètres

Paramètres
Paramètres

Après avoir téléchargé la source

code, disponible à la fin de cet article, vous accédez alors au build. Ensuite, suivez les étapes de cette image.

Étape 10: Code basé sur ESP32 LoRa Envoyer et recevoir une vidéo

Code basé sur ESP32 LoRa Envoyer et recevoir une vidéo
Code basé sur ESP32 LoRa Envoyer et recevoir une vidéo

Le code source que nous utilisons dans ce projet est le même que celui que nous avons déjà utilisé dans un assemblage avec un ESP32, dans la vidéo: ESP32 LoRa avec Arduino IDE: Send and Receive TX RX, à une exception près: il n'a pas l'affichage. Cette partie d'i2C a déjà été supprimée du code que j'ai téléchargé ci-dessous. Pour savoir comment fonctionne ce code, il suffit de regarder la vidéo.

Étape 11: Fichiers

Téléchargez les fichiers:

PDF

INO

Conseillé: