Events

23.05.2022: Tiefpassfilter

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    YouTube

    Werbung:


    Neue Artikel


    Events

    Der Technik-Blog

    LoRa ESP32 Library Setup Arduino IDE and Test

    ESP32 LoRa Arduino IDE Setup

    Alex @ AEQ-WEB

    Die bekannte Funk-Technologie LoRa eignet sich perfekt für IoT-Anwendungen und bietet eine gute Reichweite. Nachdem die Hardware bzw. die Chips anfangs nur schwer erhältlich waren, gibt es mittlerweile eine Vielzahl an Geräten. Ein besonders nützliches Board ist dabei das ESP32 Board mit integrierten LoRa. Durch eine Kombination von LoRa, ESP32 und einem OLED-Display auf einem Board ergeben sich viele neue Einsatzmöglichkeiten. So kann man mit diesem Board beispielsweise sehr einfach ein LoRa Gateway bauen, eine Wetterstation oder über das integrierte Display Textnachrichten anzeigen. Hinzu kommt auch, dass dieses Board sehr energiesparend arbeitet und daher auch mit Batterien oder Akkus und der entsprechenden Software sehr lange betrieben werden kann. Einige weitere Details über LoRa gibt es auch im Artikel zu LoRa Grundlagen. In diesem Bericht zeigen wir, wie das ESP32 LoRa Board im Arduino IDE installiert wird und wie der Beispielcode funktioniert.

    Nützliche Artikel zum Projekt:

    ESP32 LoRa mit TTN & LoRaWAN verbinden


    Arduino IDE Vorbereiten

    Im Arduino IDE werden die Boards programmiert. Bevor man hier Loslegen kann, muss jedoch zuerst der ESP32 selbst installiert werden und anschließend noch die Bibliotheken für LoRa und das OLED Display. Da die Software für das ESP32 Board standardmäßig nicht im Arduino IDE vorhanden ist, muss dies manuell nachinstalliert werden. Dazu wird unter "Preferences" eine zusätzliche URL für den Boardmanager hinzugefügt. Die einzufügenden URL lautet:

    https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

    Werbung:

    ESP32 Board installieren

    Als Nächstes wird der Boardmanager geöffnet und nach dem "esp32" gesucht. Der Boardmanager sucht jetzt auch am Server der hinterlegten URL und sollte dabei das ESP32 Paket von "Espressif Systems" finden. Dazu wählt man einfach die neueste Version aus und installiert dieses Board im IDE. Dieser Vorgang dauert einige Minuten. Wenn alles installiert wurde, kann dieses Fenster geschlossen werden.

    LoRa Library

    Wurde das ESP32 Board installiert, so folgt nun die Installation der benötigten Bibliotheken. Gibt man in der Suche vom Library-Manager "LoRa" ein, kommt eine Vielzahl an Bibliotheken. Wichtig ist dabei, dass die Bibliothek den CHIP unterstützt. Bei unserem Board ist ein SX1276 verbaut, der mit der LoRa Bibliothek von "Sandeep Mistry" kompatibel ist. Daher wird auch diese Library für unser Projekt verwendet.

    OLED Display Bibliothek

    Die OLED-Library ist grundsätzlich optional, aber für die meisten Projekte doch sinnvoll. So kann man über das Display z. B. die Signalstärke vom WLAN oder LoRa anzeigen lassen. Auch hier gibt es mehrere Bibliotheken. Man kann die originalen Bibliotheken von Adafruit installieren oder so wie hier aufgrund der einfacheren Handhabung die U8g2-Bibliothek installieren.

    Werbung:

    Pins & Schnittstellen

    Damit sowohl der LoRa Chip als auch das Display richtig angesteuert wird, müssen dafür die richtigen Pins definiert werden. Leider geben einige Board-Hersteller dem Kunden nur wenig Information über die Pinbelegung mit. Die LoRa Bibliothek nimmt dafür die Pins der SPI-Schnittstelle wie beim Arduino (10,11,12,13). Am ESP32 liegt diese Schnittstelle jedoch auf anderen Pins. Damit hier eine Kommunikation zustande kommt, muss im Programm die SPI-Schnittstelle angepasst werden. Auch bei den I2C-Pins vom OLED-Display gibt es zwischen dem Arduino und den ESP-Board Abweichungen. Folgende Pins sind mit den jeweiligen Komponenten am ESP32-Board verbunden:

    Pinbelegung LoRa Chip > ESP32 (SPI)
    Bezeichnung Pin am ESP32
    SCK 5
    MISO 19
    MOSI 27
    CS 18
    RST 14
    DIO0 26

    Pinbelegung OLED Display > ESP32 (I2C)
    Bezeichnung Pin am ESP32
    SCL 15
    SDA 4
    RST 16


    Der originale Beispielcode von der LoRa Bibliothek kann auch für dieses Board verwendet werden, jedoch müssen einige Änderungen am Code vorgenommen werden:

    Im Header

    #define ss 18
    #define rst 14
    #define dio0 26

    Im "void setup()"

      SPI.begin(5, 19, 27, 18);
      LoRa.setPins(ss, rst, dio0);

    ESP32 LoRa Beispiel Code

    Im ZIP-Ordner befindet sich der angepasste Beispielcode für das Senden und Empfangen von einem einfachen String zwischen zwei Boards über die LoRa Technologie. In einem weiteren Beispielcode wird auch das OLED-Display angesteuert und der empfangene String darauf angezeigt.

    Werbung:

    ESP32 LoRa (RX,TX)
    Download

    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    So funktioniert die LoRa Payload

    So funktioniert die LoRa Payload

    • Video

    Die Payload ist ein wichtiger Bestandteil von LoRaWAN & TTN. In diesem Artikel geht es um das Encodieren und Decodieren der Payload und um die Datentypen

    Weiterlesen
    LoRa ESP32 Library Setup Arduino IDE and Test

    ESP32 LoRa Arduino IDE Setup

    • Video

    In diesem Artikel zeigen wir, wie ein ESP32 LoRa Board im Arduino IDE konfiguriert wird und wie der angepasste Beispielcode für LoRa funktioniert

    Weiterlesen

    Social Media

    YouTube

    Werbung:


    Neue Artikel


    Events