Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Internet of Things - Projektvortrag Dennis Müller Hochschule RheinMain
1. Februar 2017
Charge Monitor
Dennis Müller
1/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Gliederung
1
Einführung
2
Lösungsansätze zu Problemstellungen
3
Umsetzung
4
Evaluation
Charge Monitor
Dennis Müller
2/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Die Idee
Mobile Geräte benutzen USB-Kabel zum Aufladen Spezielles Kabel/Setup, um Stromverbrauch zu messen Verbrauch verschiedener Geräte speichern Weiterverarbeitung: Prädiktive Ladestation, Stromverbrauchzähler?
Charge Monitor
Dennis Müller
3/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Problemstellung
Stromfluß durch ein USB-Verlängerungskabel messen? → Universelle Messtation. Geräte identifizieren? Speichern der Daten?
Charge Monitor
Dennis Müller
4/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Strommessung
USB-Kabel aufschneiden und Messgerät in Reihe der VCC-Leitung schalten. ACS712 mit 5A Reichweite für einfachen Setup des Prototypen. (Nicht optimal, da USB maximal 1,5A zulässt, und das auch nur im C-Standard) Benötigt Analog-Digital-Wandler zum Auslesen.
Abbildung 1: Seziertes USB3.0Verlängerungskabel
Abbildung 2: ACS712 Charge Monitor
Dennis Müller
5/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Identifikation Klassische IoT-Umsetzung zum Identifizieren von Objekten: RFID Weit verbreiteter Tag-Leser für DIY-Anwendungen: MF RC522 Kommunikation via SPI-Bus
Abbildung 3: Mifare RC522 RFID-Tag Reader
Charge Monitor
Dennis Müller
6/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Datenspeicherung
Übertragung der Daten an einen Dienst Einfache Massendatenspeicherung Eventuelle integrierte Analysetools Lediglich Internetverbindung für Prototypen benötigt Für den Prototypen wird Keen.IO als Dienst verwendet, da es vollkommen dynamisch Events in verschiedenen Kanälen aufnehmen kann.
Charge Monitor
Dennis Müller
7/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Internetverbindung
Ethernet-Kabel? → Weiteres Kabel, das verbunden werden muss, zusätzlich zur Versorgung des Prototypen und zum USB-Verlängerungskabel WLAN? → Lediglich AP in der Nähe benötigt, günstige Option besteht im ESP8266. Kann via serieller Kommunikation über 2 Pins mit Kommando-Set angesteuert werden. Abbildung 4: Espressif ESP8266 WLAN-Chip
Charge Monitor
Dennis Müller
8/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Verbinden der Lösungsansätze
Abbildung 5: Verbinden der Ansätze? Charge Monitor
Dennis Müller
9/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Arduino als Arbiter
Der Arduino Uno bietet alle benötigten Hardware-Schnittstellen. Darübehinaus gibt es viele Libraries, teilweise von Dritten, die das Prototyping erleichtern.
Abbildung 6: Arduino Uno1 1
Quelle: http://www.arduino.org/media/k2/galleries/90/A000073Arduino-Uno-SMD-1front.jpg Charge Monitor Dennis Müller
10/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Umsetzung ACS712 ACS712 wird durch Arduino versorgt, da die Versorgungsspannung kritisch für das Auslesen ist. 5A Version des ACS712 hat Mess-Sensibilität von 186mV/A bei 25 Grad Celsius, der ADC des Arduino eine Auflösung von 10 Bit. 0A entsprechen beim Output des ACS712 Vcc/2(Richtung wird unterschieden). Der Stromfluss ergibt sich somit aus: volt = (A0 − 512) ∗ Vcc/1023.0 amp = volt/0.186 Amn.: 0A-Output kann von 512 abweichen, durch Mittelung der ersten Werte im Startzustand kann ein besserer Wert bestimmt werden. Charge Monitor
Dennis Müller
11/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Umsetzung MFRC522 Anschließen des Tag-Readers an den SPI-Bus des Arduino. Kommunikation mittels MFRC522-Library von Miguel Balboa, welche auf der SPI-Lib von Arduino aufbaut.
Abbildung 7: Initialisierung der MFRC522 Lib
Ermöglicht Scannen nach neuen Karten in der Nähe über gekapselte Funktionen und Auslesen des ID-Blockes.
Charge Monitor
Dennis Müller
12/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Umsetzung Datenspeicherung
ESP8266 wird über serielle Schnittstelle angesteuert, um mit Keen.IO zu kommunizieren. Durch die serielle Schnittstelle bieten sich GET-Requests über die REST-API an, um Daten zu pushen. Keen.IO nimmt nur JSON-Daten an, für GET-Requests werden diese in Base64 kodiert und an folgende URL verschickt: https://api.keen.io./projects//events/?api_key=&data=
Base64-Encoding kann mit Drittpartei-Libs umgesetzt werden.2
2
Hier verwendet: Base64 von Arturo Guadalupi, https://github.com/agdl/Base64
Charge Monitor
Dennis Müller
13/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Abläufe
Abbildung 8: Setup des Arduino Charge Monitor
Dennis Müller
14/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Abläufe
Abbildung 9: Kontinuierlicher Ablauf
Charge Monitor
Dennis Müller
15/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Messgenauigkeit des ACS712
Eine gelesene Einheit am ADC des Arduino entspricht: 5[V ]/1023/0.186[
V ] = 0.26[A] A
Die Auflösung für den Anwendungsfall mit bis zu 500mA (900mA mit USB3.0) fällt somit recht gering, aber ausreichend aus. Hinzu kommt das Rauschen des ACS712, welches ±2 Leseeinheiten am ADC des Arduino ausmachen.
Charge Monitor
Dennis Müller
16/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Testmessungen
Zur Evaluation der Messung und zum besseren Verstehen des Rauschverhaltens werden zusätzlich zu den Testgeräten zwei “Dummy„-Sitzungen gemessen. Daraus ergeben sich folgende 4 Testszenarien: 1
Kein Verbraucher angeschlossen, nur das Rauschen wird aufgenommen
2
0,5W 56 Ohm Widerstand
3
Testgerät: Fiio X1
4
Testgerät: Samsung S2 Galaxy
Charge Monitor
Dennis Müller
17/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Dummy-Messungen
Abbildung 10: Messwerte ohne Verbraucher
Charge Monitor
Dennis Müller
18/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Dummy-Messungen
Abbildung 11: Messwerte mit konstantem Verbraucher
Anm.: Spannung fiel am 56 Ohm Widerstand ab, sodass 80mA flossen. Charge Monitor Dennis Müller
19/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Test-Messungen
Abbildung 12: Fiio X1
Charge Monitor
Dennis Müller
20/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Test-Messungen
Abbildung 13: Samsung S2 Galaxy
Charge Monitor
Dennis Müller
21/22
Einführung
Lösungsansätze zu Problemstellungen
Umsetzung
Evaluation
Ausblick
ACS712 rauscht relativ stark, kann jedoch rausgerechnet werden Mittelung bereits im Messknoten kann Ergebnisse verbessern Besseres Ansteuern des ESP8266 für erhöhte zeitliche Auflösung NFC-fähigen Tag-Reader benutzen, Ausnutzen von Datenblöcken auf Tags Identifier an USB-Port abgreifen
Charge Monitor
Dennis Müller
22/22