Ich habe meine Sammlung an Modulen für den M5Stack um das LoRa 868 Modul erweitert. Neben dem LoRaWAN Modul, ist es das zweite Modul, welches den M5Stack für das LoRaWAN öffnet. Zusätzlich gibt es demnächst ein drittes Modul zu kaufen, das COM.LoRaWAN.
Übersicht M5Stack LoRa 868 Modul
Das Modul verwendet einen Ra-01H von Ai-Thinker, hinter dem sich der wohl bekannte SX1276 verbirgt. Dadurch können wir einfach die alt bekannte Arduino LMIC von MCCI verwenden und müssen nicht viel anpassen. Einzig um DIO1 müssen wir uns kümmern, da dieser nicht auf dem M-Bus des M5Stack gelegt ist. Somit müssen wir einen kleinen Draht einlöten und schon funktioniert das Modul wie es sollte.
Ich habe dabei DIO1 des Ra-01H mit PIN 35 des M-Bus verbunden. Es geht auch PIN 34, aber dieser wird vom Mikrofon in der M5Go Base belegt.
In einer vorherigen Version des Beitrags, habe ich die Brücke auf die Lötpads an M-Bus Pin 35 gelegt, dieses ist falsch. Die rechte Seite des Lötpads ist mit DIO0 verbunden. Somit kann über den 0 Ohm Widerstand gewählt werden ob DIO0 mit Pin 36 (default) oder 35 verbunden ist. Das gleiche gilt für Pin 26/25 und Reset. Ich habe die Brücke nun direkt an den M-Bus Connector gelötet. (Danke an Andreas D. für den wichtigen Hinweis).
Wie bereits beim LoRaWAN-Modul, kann eine Antenne über einen MCX-Stecker angeschlossen werden. Hierfür gibt es auch Adapter um seine SMA-Antenne zu verwenden. Darin liegt auch ein Nachteil des Moduls. Das GPS Modul hat den Anschluss für die externe Antenne an der gleichen Stelle und deshalb ist zwischen Den Buchsen auch nicht viel Platz. Somit muss eine externe Antenne über eine Verlängerung angeschlossen werden. Ich verwende einen MCX-SMA-Adapter und dazu eine SMA-Verlängerung und habe noch fast 2mm Luft.
Verwendung mit Arduino LMIC
Leider hat M5Stack die Belegung der Module ca. ab Dezember 2020 leichgt verändert und die PINs für Reset und Interrupt vertasucht. Hier müsst ihr leider notfalls nachmessen. Das Pin Mapping für die LMIC sieht dann wie folgt aus:
Für Module vor Dezember 2020:
// Pin mapping
const lmic_pinmap lmic_pins = {
.nss = 5,
.rxtx = LMIC_UNUSED_PIN,
.rst = 36,
.dio = {26, 35, LMIC_UNUSED_PIN},
};
Für Module ab Dezember 2020:
// Pin mapping
const lmic_pinmap lmic_pins = {
.nss = 5,
.rxtx = LMIC_UNUSED_PIN,
.rst = 26,
.dio = {36, 35, LMIC_UNUSED_PIN},
};
Ansonsten funktioniert das Modul wie jedes andere mit RFM95W, bzw. SX1276 Chip. Somit können eure Projekte leicht auf den M5Stack übertragen werden und es muss nicht viel dazu gelernt werden.
Übersicht der LoRa Module für den M5Stack
Hier seht ihr einen Überblick über die verschiedenen LoRa Module für den M5Stack. Das LoRaWAN ist EOL und wird nicht mehr verkauft. Das Com.LoRaWAN werde ich mir ebenfalls zulegen, sobald es verfügbar ist.
LoRaWAN | LoRa 868 | Com.LoRaWAN | |
Schnittstelle | UART | SPI | UART |
Chip | RHF76-052 (SX1276) | Ra01-H (SX1276) | Helltec ASR6501 (SX1262) |
Library | LoRaWAN-M5Stack | MCCI Arduino LMIC | — (AT Befehle) |
Aktuelles Projekt
Ich habe mich daran gemacht meinen TTN Network Tester für das Modul umzubauen. Er ist noch nicht 100%ig fertig, aber ihr könnt ihn schon mal testen.