Maduino GPRS A6 ist ein kostengünstiger Netzwerkknoten für das IoT. Der Hersteller Makerfabs mit Sitz in Shenzhen, China hat auf dem Board einen Mikrocontroller ATmega 328, ein GRRS/GSM-Modul AI-Thinker A6, ein und ein integriertes Power-Management integriert.
Maduino GPRS A6
Das GRPS/GSM-Modul A6 unterstützt Quad-Band 850/900/1800/1900 MHz, das jedes GSM-Netzwerk abdeckt. In Verbindung mit einer SIM-Karte können Daten über GPRS übertragen werden. In meinem Post 2G für IoT Anwendungen hatte ich hierzu entsprechende Hinweise gegeben.
Das Modul kann über die Arduino IDE programmiert werden. Im Wiki sind Hinweise zur Inbetriebnahme und Programmierung enthalten. Hinweise zu einem Firmware Update sind hier zu finden.
Bislang schon bereits für tot erklärt und mit Abschaltungsszenarien belegt, stellt das mittlerweile betagte 2G-Netz immer noch eine Alternative zu 3G/4G und 5G dar.
Dass ein schnelles Internet und damit 5G seine Bedeutung haben, ist keineswegs strittig. IoT Anwendungen mit geringem Datenvolumen und mglw. auch geringen Datenraten kommen aber mit deutlich weniger Ressourcen aus.
Vergleicht man die Netzabdeckung der deutschen Telekom, dann bietet auch das 4G-Netz noch Lücken, die das 2G-Netz nicht bietet. Bei den anderen Anbietern sieht das weniger erfreulich aus.
Netzabdeckung 4G Telekom
Kostengünstige GSM-Module sowie preiswerte und flexible IoT-Tarife lassen 2G für IoT-Anwendungen (M2M) durchaus interessant erscheinen.
Ich verwende für einen abgesetzten Temperatursensor einen Arduino Uno und ein SIM800L EVB.
Auf die Software selbst möchte ich hier nicht eingehen. Programmbeispiele zum SMS-Versand und HTTP-Zugriff sind auf Github zu finden.
Ich verwende hier den Mobilfunkanbieter ThingsMobile, der sich ausschließlich dem IoT widmet und international aufgestellt ist.
Der SMS-Versand ist einfach und bequem, allerdings kostenmäßig nicht zu empfehlen. Ich sende den Temperaturmesswert über HTTP-GET alle 5 Minuten an den Thingspeak-Server zu Visualisierung. Die erhobenen Messwerte können über die URL abgegriffen werden. Der Sensor selbst liegt auf meinem Arbeitstisch, misst also nur die Raumtemperatur.
Interessant sind die entstehenden Kosten. Aus dem Thingsmobile Report für die vergangene Woche kann man die folgenden Daten entnehmen:
Report für KW15
Der Datenverkehr belief sich auf 2.19 MB, die € 0.22 gekostet haben. Der Auszug aus dem Detailreport gibt einen Überblick über die versendeten Daten. Die Datenpakete sind entweder 980 oder 1950 Byte, was zu 370 KB am Tag führt. Diese 370 KB kosten dann € 0.036.
Auszug aus dem Report für den 15.04.2019
Bei diesen Kosten kann aus meiner Sicht für so oder ähnlich angelegte IoT-Anwendungen bedenkenlos mit dem 2G-Netz gearbeitet werden.
Auf der Basis eines ESP8266-Mikrocontrollers von Espressif hatte ich gezeigt, dass man einen WiFi-tauglichen IoT-Knoten zu sehr geringen Kosten (es waren 15 US$) aufbauen kann [Building an IoT Node for less than 15 $: NodeMCU & ESP8266].
Dass WiFi auf Grund der geringen Reichweite und des doch recht hohen Stromverbrauchs für einen batteriebetriebenen IoT-Knoten allerdings nur unter bestimmten Bedingungen geeignet ist, war auch durch eigene Untersuchungen gezeigt worden [IoT Button (5th)].
Der hier betrachtete Sensorknoten soll deshalb neben der Anbindung verschiedener Sensoren auch unterschiedliche Kommunikationsmöglichkeiten (WiFi, LoRaWAN, BLE, GSM) aufweisen. Damit wird es möglich werden, einen konkreten IoT-Sensor baukastenartig zusammenstellen.
Sensorknoten
Der Beitrag „Arduino-Sensorknoten“ wird im Sammelwerk „Messen, Steuern, Regeln mit IBM-kompatiblen PCs“ des Weka-Verlags veröffentlicht.
ISBN 978-3824549009
Die Programmbeispiele werden auf Github abgelegt und stehen zum Donload zur Verfügung.
Der erste Teil des Beitrags ist in der Ausgabe 170 im Februar 2019 erschienen.
are calculated in CTC mode. Select requested frequency, MCU and timer. Click Calculate. Copy result into the clipboard. Paste code into Arduino IDE. Ready. Click here for this easy to use tool.
It’s a good addition to my book Arduino Interrupts – Speed up your Arduino to be responsive.
Mit dem Beitrag Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1, Online Version Teil 2) hatte ich 32-Bit Arduinos vorgestellt und an Hand einfacher Benchmarks miteinander verglichen.
Der verbreitete #ESP8266 ist ebenfalls in die Arduino Umgebung integriert und die Verfügbarkeit von #Ledunia als High-End-ESP8266-Modul haben mich veranlasst, diese Tests mit Ledunia zu wiederholen.
Die Programme selbst sind unter GitHub abgelegt, können von da heruntergeladen und in der Arduino IDE ausgeführt werden. Hier sind die Benchmark-Ergebnisse im Vergleich zu verschiedenen klassischen Arduinos:
Board
Arduino Uno
Arduino M0
Arduino Due
Ledunia
CPU
ATmega328
ATSAMD21G18
(Cortex-M0+)
AT91SAM3X8E
(Cortex-M3)
ESP8266EX
Clock
16 MHz
48 MHz
84 MHz
80 MHz
Runtime
18267 ms
5180 ms
3451 ms
2189 ms
IO- Periode
11,60 us
3.24 us
4,32 us
5 us
I/O-Frequenz
86,21 kHz
308,6 kHz
203,3 kHz
200 kHz
Die Leistungsmerkmale der ESP8266-basierten Arduinos können sich sehen lassen und bilden damit eine sehr gute Ergänzung der Arduino-Familie.
Auf Grund der beschränkten Ressourcen eines Arduinos sind dem Einsatz von Script Sprachen enge Grenzen gesetzt. Betrachtet man beispielsweise einen Arduino als prozessnahes Frontend eines Linux Devices (Raspberry Pi, Banana Pi, Beagle Bone), dann wäre es wünschenswert, auch dort einen Script Interpreter zur Verfügung zu haben. Beim Linux Device hat man eine leistungsfähige Shell, Python, Lua u.a. zur Verfügung.
Beim einfachen 8-Bit-Mikrocontroller (AVR, PIC) kann Forth eine Alternative darstellen.
Für den Arduino Uno R3 bietet der Entwickler Mikael Nordman vorprogrammierte ATmega328 Chips zum Preis von € 10 (incl. Porto) an (Anfrage). Für die Dokumentation gibt es eine aktualisierte Version.
Meine Erfahrungen bei der Inbetriebnahme von FlashForth auf dem Arduino habe ich hier zusammengestellt.