======== Esp32 LoraWan ======== ==== De la technologie LoRa au protocole LoRaWAN : l'histoire derrière ces inventions françaises ==== [[start:arduino:esp32:lorawan:histoire|Le début de l histoire de la technologie LoraWan]] ==== les Normes ==== [[https://youtu.be/m6IvwcjcxQc|Video sur les normes ]] [[https://lora-alliance.org/resource_hub/lorawan-specification-v1-1/|Specifications LoraWan]] **Le principe :** {{ :start:arduino:esp32:lorawan.jpg?direct&600 |}} **Qu'est-ce que la technologie LoRa** [[http://78.204.53.180:16557/share/6fyoJ6HAiFORiKIq/ESP32_LoraWan001.pdf |ESP32 longue distance – LoRaWan]] [[http://78.204.53.180:16557/share/WvN-Uhjker1b_H_H/protocole%20Internet%20des%20objets%20LoRaWAN.pdf |Protocole Internet des objets LoRaWAN et comment fonctionne-t-il]] [[start:arduino:esp32:lorawan:definition|La technologie Lora c'est quoi ?]] **LoRa vs LoRaWAN – Quelle est la différence ?** Bien que LoRa et LoRaWAN soient généralement confondus avec la même chose, ils représentent en réalité différents composants d'un système de communication basé sur LoRa qui remplissent des fonctions distinctes. LoRa est un signal porteur de radiofréquence basé sur la couche physique (PHY) qui convertit les données qu'il reçoit en signaux par modulation. D'autre part, LoRaWAN est un protocole situé dans la couche Media Access Control (MAC) qui promeut les signaux LoRa vers des applications plus larges, conçu pour les réseaux publics à grande échelle avec un seul opérateur. LoRaWAN peut également fonctionner dans différentes fréquences en connectant simplement la bonne antenne à sa prise. {{ :start:arduino:esp32:technology_stack-2.png?direct&600 |}} Source : Semtech En termes simples, vous pouvez comprendre que LoRa est un type de matériel prenant en charge la communication sans fil longue portée, tandis que LoRaWAN fait référence à un protocole réseau basé sur LoRa. La carte TTGO LoRa32 est un ESP32 avec une puce SX1276 LoRa intégrée et un écran OLED SSD1306. C'est la meilleure carte pour expérimenter des projets LoRa . {{ :start:arduino:esp32:ttgo-lora-esp32-dev-board-review-1024x576.jpg?direct&400 |}} {{ :start:arduino:esp32:wifi-lora-32-v2-pinout-diagram.jpg?direct&400 |}} __À propos de LoRa Communication__ LoRa est une technologie de communication de données sans fil qui utilise une technique de modulation radio qui peut être générée par des puces d'émetteur-récepteur Semtech LoRa comme le SX1276 utilisé dans cette carte. Les principaux avantages de LoRa par rapport aux autres techniques de modulation sont: --Communication à longue portée (vous pouvez facilement atteindre une distance de communication de 1 km entre les panneaux dans une zone ouverte); --Immunité élevée aux interférences; --Basse consommation énergétique. Avec LoRa, vous pouvez échanger de petites quantités de données (faible bande passante) sur de longues distances avec de faibles besoins en énergie. Ceci est idéal pour les projets Internet des objets === TTGO LoRa32 SX1276 OLED Board: Getting Started with Arduino IDE === [[https://randomnerdtutorials.com/ttgo-lora32-sx1276-arduino-ide/|TTGO LoRa32 SX1276 OLED Board]] [[https://f6czv.fr/premiers-pas-application-de-demo-du-ttgo-t-display|premiers-pas-application-de-demo-du-ttgo-t-display]] ==== Fréquences LoRa ==== LoRa utilise des fréquences sans licence disponibles dans le monde entier. Voici les fréquences les plus utilisées: 868 MHz pour l'Europe France = EU 863-870 EU 433 915 MHz pour l'Amérique du Nord Bande 433 MHz pour l'Asie ==== Connexions TTGO LoRa32 SX1276==== La puce LoRa SX1276 communique via le protocole de communication SPI et est connectée en interne à l'ESP32 sur les GPIO suivants: ^Broche LoRa SX1276^ESP32^ | MISO |GPIO 19 | | MOSI |GPIO 27 | | SCK |GPIO 5 | | CS |GPIO 18 | | IRQ |GPIO 26 | | RST |GPIO 14 | ==== Connexions entre l'OLED et l'ESP32 ==== Les écrans OLED communiquent en utilisant le protocole de communication I2C . Il est connecté en interne à l'ESP32 sur les broches suivantes: ^OLED^ESP32^ |SCL|GPIO 15| |SDA|GPIO 4| |RST|GPIO 16| ==== Utilisation de l'ecran OLED avec l'ESP32 via IDE Arduino ==== [[https://translate.googleusercontent.com/translate_c?depth=1&hl=fr&pto=aue&rurl=translate.google.com&sl=auto&sp=nmt4&tl=fr&u=https://randomnerdtutorials.com/esp32-ssd1306-oled-display-arduino-ide/&usg=ALkJrhgdGwQ5QVzIeNmNtsJKqQaAeMK7iA| Utilisation OLED et ESP32 ]] ==== Carte OLED TTGO LoRa32 SX1276: Premiers pas avec Arduino IDE ==== [[https://translate.googleusercontent.com/translate_c?depth=1&hl=fr&pto=aue&rurl=translate.google.com&sl=auto&sp=nmt4&tl=fr&u=https://randomnerdtutorials.com/ttgo-lora32-sx1276-arduino-ide/&usg=ALkJrhjYvw1D1sDlmr9MAyjKEq7LkmIkLQ|Carte OLED TTGO LoRa32 SX1276: Premiers pas avec Arduino IDE]] ==== Support Cloud de LoraWan ==== [[https://www.thethingsnetwork.org/#metrics|TTN (The Things Network)]] [[https://loriot.io/| Cloud avec Loriot.io]] [[https://cloud.google.com/iot-core| Lora avec Google cloud ]] ==== Doc Lorawan Heltec ==== [[https://heltec-automation-docs.readthedocs.io/en/latest/esp32/index.html|Doc LoraWan Heltec ]] ====Le protocole LoRaWAN==== Le protocole LoRaWAN est un protocole de télécommunication adapté aux puces LoRa et conçu pour les IoT. Elle permet aux puces LoRa : *De communiquer sur Internet *De communiquer de manière sécurisée *De confirmer la réception des messages *D’être identifiable Ce protocole exige l’utilisation de Gateways et d’un Serveur applicatif : *La Gateway sert de passerelle réseau (LAN et / ou Internet) aux cartes LoRa *Le Serveur applicatif identifie chaque carte LoRa et les rend accessibles aux applications tierces sur le réseau Il existe deux procédures pour identifier une carte LoRa : *OTAA (Over-The-Air Activation) : Le serveur délivre des identifiants (DevEUI, AppEUI, AppKey) à rentrer sur la carte LoRa. Une fois cette dernière démarrée puis reconnue, le serveur génère régulièrement des clés de chiffrement aléatoires que la carte devra mémoriser afin de communiquer avec ce dernier (NwkSKey, AppSKey). Cette méthode est plus sure. *ABP (Activation By Personnalisation) : Les clés de chiffrement sont directement copiés sur le serveur (ou la Gateway) et la carte LoRa (NwkSKey, AppSKey, DevAddr). Ils ne changent pas au cours du temps. Si la Gateway prend en charge le ABP, cette méthode ne nécessite pas de serveur