Mess- und Prüftechnik / IoT-Sensorknoten

Das Zephyr von vorne aufgezäumt

7. November 2018, 11:07 Uhr | Dr. Constantin Tomaras, Ressortredakteur für Systemdesign, DESIGN&ELEKTRONIK
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 4

Kleine Beispieltour & Referenzdesign

Für einen Überblick über die c-Implementierung der IoT-spezifischen Features in Zephyr OS sollte man sich etwa einen Nachmittag Zeit nehmen und Beispielprogramme

/samples/synchronization
/samples/philosophers
/samples/nrf52/pwmgr
/samples/mpu/mpu_test
/samples/bluetooth/central
/samples/boards/reel_board/mesh_badge

in Konjunktion mit der API-Dokumentation studieren.

reel_board shared memory
Im Beispiel wird auf dem reel board ein gemeinsamer Adressraum durch zwei Aufrufe angesprochen.
© DESIGN&ELEKTRONIK

Aus diesen Blöcken lässt sich leicht eine Akquise durch mehrere Aufrufe mit Leerlauf erstellen und über Bluetooth kommunizieren.

Zur vollständigen Programmierung aller Bausteine hat Phytec [6] ein c-Beispiel bereitgestellt, das sämtliche Sensorik, LEDs und Taster beinhaltet. Die genommenen Messwerte werden auf dem epaper angezeigt, die Kommunikation als Bluetooth-Beacon initialisiert.

 

reel_board terminal referenz
Konsolenrückgabe unter Erstellen und Schreiben des Referenzbeispiels
© DESIGN&ELEKTRONIK
reel_board referenz epaper
Das Referenzbeispiel wertet die gesamte Sensorik aus.
© DESIGN&ELEKTRONIK

Fazit

Bleiben Sie stehen, hier gibt es etwas zu lernen. Das quelloffene Zephyr OS beinhaltet grundlegende Programmierstrukturen für ressourcen-effiziente Akquise und Kommunikation in Embedded-IoT-Applikationen.

Oft sind Entwickler bei SmartMeter-Produkten auf oberster Ebene mit proprietären IDEs und stark verschachtelten Programmstrukturen konfrontiert, die wesentliche Mechanismen verbergen. Im Zephyr OS können dagegen die elementaren Programmierbeispiele über die Treiber-, bis hin zur Betriebssystem- und hardwarespezifischen Ebene herunter gelesen werden.

Das wird zwei Entwicklergruppen besonders interessieren: wer die elementare AVR-Vorlesung geschwänzt hat [7], kann hier noch einmal die Grundlagen der Peripherieakquise und Steuerungen aufsammeln. Richtig spannend ist das System für alle Entwickler die sich quantitativ mit dem Bluetooth-Stapel und der IoT-Kommunikation befassen möchten. Da die Eigenheiten der spezifischen Verbindungsmechanismen oft nur unzureichend dokumentiert sind [8] müssen diese am Anwendungsfall erarbeitet werden. Quelloffene Beispiele sind dazu geeignet.

Die Implementierung auf dem reel board erlaubt darüber hinaus einen Proof-of-Concept im Feld, insbesondere den Test ihrer Lebensdauer unter Batterieversorgung. (ct

 

Referenzen

[1] https://gnu-mcu-eclipse.github.io/qemu/

[2] https://www.zephyrproject.org/introducing-the-zephyr-reel-board/
[3] https://pypi.org/project/pyOCD/
[4] https://docs.zephyrproject.org/latest/getting_started/getting_started.html
[5] https://docs.zephyrproject.org/latest/introduction/introducing_zephyr.html#distinguishing-features
[6] https://github.com/zephyrproject-rtos/zephyr/pull/10831/files

[7] https://www.springer.com/de/book/9783658183851

[8] https://www.elektroniknet.de/design-elektronik/messen-testen/seitenkanalangriff-auf-openthread-153618.html


  1. Das Zephyr von vorne aufgezäumt
  2. Hardware auf dem reel board
  3. Erste Schritte
  4. Codebeispiele & API
  5. Kleine Beispieltour & Referenzdesign

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu PHYTEC Meßtechnik GmbH

Weitere Artikel zu Betriebssysteme

Weitere Artikel zu Smart City/Building/Home

Weitere Artikel zu Automatisierung

Weitere Artikel zu Netze (Smart Grid)

Weitere Artikel zu Metering

Weitere Artikel zu IoT / IIoT / Industrie 4.0