Schwerpunkte

Drahtlose Kommunikation

Mit phyWave-Modulen ins IoT

18. Oktober 2018, 06:26 Uhr   |  Dr.-Ing. Claus Kühnel

Mit phyWave-Modulen ins IoT
© metamorworks | Shutterstock

phyWave-Module für das IoT

Daten von Sensoren im Netz oder zu Aktoren aus dem Netz verfügbar zu machen ist die Aufgabe von peripherienahen, meist drahtlos kommunizierenden IoT-Geräten. Mit den phyWave-Modulen stellt Phytec solche IoT-Module her, die in eigene Anwendungen integriert werden können. Wir zeigen, wie es geht.

Die sogenannten IoT-Enablement-Kits, die ein phyWave-Modul mit einem phyNode-Sensor-Board kombinieren, ermöglichen ein schrittweises Herantasten an diese Technologie. phyNodes können mit Batterien bestückt werden, um den Einsatz unter realen Bedingungen im Feld zu testen.

Phytecs IoT-Enablement-Kit 2 verfolgt den Ansatz, dass die gewünschten Sensordaten eines phyNode Sensor-Boards ohne Umwege abgefragt und verarbeitet werden können. Der auf dem phyNode Sensor-Board eingesetzte Controller ist ein phyWave-2650 und ist mit dem namensgebenden Chip CC2650 von Texas Instruments bestückt.

Mit einem im Lieferumfang enthaltenen BLE-USB-Stick kann von einem normalen Linux-PC auf die Daten zugegriffen werden. Alternativ kann ein Embedded-Linux-Device mit BLE-Support, wie ein Raspberry Pi 3, BeagleBone Blue, NanoPi oder anderer für die Kommunikation zum phyWave-CC2650 eingesetzt werden.

Mit ihrer geringen Stromaufnahme und dem Powermanagement auf dem Modul eignen sich die phyWave-Module optimal für batteriebetriebene IoT- oder Energy-Harvesting-Anwendungen. Alle Mo-dule sind auf CE-Konformität überprüft und erleichtern damit die abschließende Konformitätserklärung für ein Endprodukt beim Kunden.

Dr. Claus Kühnel
© xxxxx

Bild 1: phyWave-CC2650 Blockschema.

phyWave-CC2560 und phyNode Sensor-Board 

Das phyWave-CC2650 ist eins der insgesamt drei von Phytec angebotenen phyWave-Modulen (Tabelle 1). Das phyWave-CC2650 bietet die meisten Features und ist deshalb auch Bestandteil des IoT-Enablement-Kits 2.

Das kompakte 19 mm × 28 mm mes-sende phyWave-CC2650 Board weist neben der On-Board-Antenne auch noch eine U.FL-Buchse zum Anschluss einer externen Antenne auf. Gerade beim Einbau in ein Gehäuse kann eine externe Antenne sich günstig auf die Reichweite auswirken. Bild 1 zeigt die Komponenten des Boards in einem Blockschema.

Das SoC TI CC2650 enthält einen 32-Bit-arm-Cortex-M3-Prozessor, der als Hauptprozessor mit 48 MHz betrieben wird. Der Sensor-Controller ist ideal für die Anbindung externer Sensoren und für die autonome Erfassung von analogen und digitalen Daten, während sich der Rest des Systems im Schlafmodus befinden kann. Der BLE-Controller und der IEEE 802.15.4 MAC sind in ROM eingebettet und laufen teilweise auf einem separaten arm-Cortex-M0-Prozessor.

phyWave ModuleCPUFunkphyWave-KW41ZNXP Kinetis KW41Z, ARM Cortex-M0+, 48 MHz2,4 GHz IEEE 802.15.4, Bluetooth Low Energy 4.2 (simultan)phyWave-KW2xDNXP ARM Cortex-M4, 48 MHz2,4 GHz IEEE 802.15.4 FunktransceiverphyWave-CC26xxarm-Cortex-M3 und Cortex- M0 (HF-Core)2,4 GHz IEEE 802.15.4, ZigBee, RF4CE, Bluetooth Low Energy

Tabelle 1: phyWave Module.

Diese Architektur verbessert die Gesamtsystemleistung und die Stromaufnahme und stellt den Flash-Speicher für die Anwendung frei. Bluetooth- und ZigBee-Stacks sind kostenlos von TI erhältlich. Die technischen Daten des phyWave-CC2650 sind in Tabelle 2 zusammengestellt. Die peripheren Anschlussmöglichkeiten sind recht vielfältig, wodurch der Anschluss umfangreicher Sensorik/Aktorik möglich wird. Außerdem ist ein achtkanaliger 12-bit-A-D-Wandler vorhanden.

Das phyNode-Sensor-Board stellt die Peripherie für den Betrieb des phyWave-CC2650 bereit. Am Rande des Boards sind eine Reihe von Sensoren angeordnet. Tabelle 3 listet alle auf dem phyNode-Sensor-Board installierten peripheren Komponenten auf. Arduino-kompatible Buchsenleisten ermöglichen die Installation von Arduino-Shields, um zusätzliche Erweiterungen installieren zu können.

Dr. Claus Kühnel
© xxxxx

Bild 2: phyNode Testumgebung.

IoT-Enablement-Kit 2 Software

Im Auslieferungszustand des IoT-Enablement-Kits 2 ist auf dem phyNode bereits die Firmware eines Demoprojektes vorinstalliert, die alle Sensordaten abfragt und auf den BLE-Stack legt. Zur Inbetriebnahme des Boards ist dem Quickstart Dokument [1] zu folgen, was vor allem das Setzen der Jumper anbelangt.

Wie eingangs bereits erwähnt, soll hier ein Raspberry Pi 3 als BLE-Client dienen, der aber zuvor noch mit der entsprechenden Software ausgestattet werden muss. Auch hierzu bietet das Quickstart-Dokument [1] die notwendige Hilfe.

Die Installation der BLE-Komponenten auf dem Raspberry Pi 3 unter Raspbian erfolgt durch Eingabe der folgenden Kommandos:

 $ sudo apt-get install bluez $ sudo apt-get install bluez-hcidump

Nach Installation von Git, Python und weiteren Software-Komponenten kann das die phyWave-Firmware und die Demosoftware enthaltende Repository ble-cc26xx von Phytec heruntergeladen werden. Anschließend ist mit make die Testumgebung zu bilden.

 $ sudo apt-get install git python build-essential libglib2.0-dev libdbus-1-dev

$ git clone git://git.phytec.de/ble-cc26xx

$ cd ble-cc26xx/ble_host_sw/bluepy/bluepy

$ make

Für den Zugriff auf die Sensordaten gibt es verschiedene Möglichkeiten. Zum einen bietet sich die Verwendung des zum Demoprojekt gehörenden Python Scripts an, zum anderen kann der Zugriff auch direkt über das gatttool von Linux erfolgen.

Mit dem Zugriff über Python will ich mich in der Folge befassen. Detailinformation ist im Application Guide von Phytec [2] zu finden. Für den Zugriff mit Hilfe des gatttools sei auf [2] und [3] verwiesen.

Eigenschaft CPUTexas Instruments arm-Cortex-M3 und Cortex-M0 (HF-Core)Speicher128 KB Flash + 8 KB Cache, 20 KB RAMReceiver2,4 GHz IEEE 802.15.4, ZigBee, RF4CE, Bluetooth Low EnergyRX/TX-Stromaufnahme5,9 / 6,1 mAAntennePCB-Antenne oder konfigurierbarSchnittstellenUART, 2 × SPI, Ultra-Low-Power-SPI, I2C, I2S, RTC, AES 10-31 GPIOsVerschlüsselungCryptography Acceleration Unit (CAU), AES encryptionA-D-Wandler12-bBit, 200 kS/s, 8 KanäleTimer4 Universal-Timer-Modul (8 × 16-Bit- oder 32-Bit-4x-Timer)HF-AusgangsleistungProgrammierbar -21 bis +5 dBmEmpfindlichkeit6LoWPAN -100 dBm, BLE -96 dBmBetriebssystemTI-RTOSZertifizierungCEVersorgungsspannung1,8 V bis 3,8 VAbmessungen19 mm × 28 mm

Tabelle 2: Technische Daten phyWave-CC2650.

Abfrage der Sensordaten

Mit der Installation der Software-Komponenten auf dem als BLE-Client dienenden Raspberry Pi 3 sind alle Voraussetzungen für die Abfrage der Sensordaten gegeben. BLE hat die Möglichkeit, Daten in zwei verschiedenen Modi auszutauschen. Es werden der Advertising Mode und der Connected Mode unterschieden.

Nach einem Reset des phyWave-Sensor-Boards befindet sich dieses im Advertising Mode und gibt seine MAC-Adresse aus. BLE-Devices weisen eine einzigartige 6-Byte-BLE- oder MAC-Adresse auf, die mit Hilfe des Kommandos

sudo hcitool lescan

abgefragt werden kann. Nach erfolgter Abfrage der MAC-Adresse kann das zur Demo gehörende Python Script phyWaveBLE.py aufgerufen werden, um alle Sensordaten auszugeben. In Bild 3 sind die erforderlichen Schritte dargestellt.

Dr. Claus Kühnel
© xxxxx

Bild 3: Abfrage MAC-Adresse und Ausgabe des Programms phyWaveBLE.py.

Seite 1 von 2

1. Mit phyWave-Modulen ins IoT
2.

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Verwandte Artikel

Dr. Claus Kühnel