Der Zählerwert ist eine Schätzung, da der Algorithmus die Autos nicht verfolgt. Daher werden unter bestimmten Bedingungen mit hohem Verkehrsaufkommen, beispielsweise bei stehendem oder zähflüssigem Verkehr, einige Autos möglicherweise zweimal gezählt. Um diese Situation zu vermeiden, müsste der Algorithmus so verändert werden, dass er Autos verfolgt, wenn sie in den zu untersuchenden Bereich hinein und wieder hinaus gelangen.
In den folgenden Situationen arbeitet der Algorithmus möglicherweise nicht wie erwartet:
Offline-Datenanalyse mit Matlab
Nach der Entwicklung kann der Algorithmus auf die Hardware übertragen werden und ohne Verbindung mit Simulink ausgeführt werden. Hierfür gibt es das Simulink-Support-Paket für Raspberry Pi Hardware. Wenn der Simulink-Algorithmus auf dem Raspberry Pi Board läuft und die Daten an ThingSpeak sendet, kann damit begonnen werden, die Rohdaten zu analysieren, indem sie von thingspeak.com abgerufen werden. Um das Abrufen der Daten von ThingSpeak zu vereinfachen, sind die Funktionen aus der ThingSpeak Support Toolbox sehr nützlich, die über Matlab Central File Exchange zur Verfügung steht.
Um die Daten einer ganzen Woche in Matlab einzulesen, ist ein datetime-Objekt erforderlich, das als Parameter ein Start- und ein Enddatum enthält. Da alle 15 s Daten an ThingSpeak gesendet werden, müssen ca. 40.000 Datenpunkte abgerufen werden. ThingSpeak lässt pro Lesevorgang nur 8000 Datenpunkte zu. Dieses Limit lässt sich mit einer For-Schleife umschiffen, um die Daten in Batches zu sammeln. Dann werden die Verkehrs- und Zeitdaten aus den einzelnen Iterationen zu zwei Vektoren verkettet, die „alltrafficData“ und „timestamp“ heißen (Listing 1).
Als Nächstes werden die Daten grafisch dargestellt und beschriftet (Bild 5). Die täglichen Schwankungen des Verkehrsaufkommens sind deutlich zu sehen. Auch wenn dies an den Rohdaten schwerer zu erkennen ist, lässt sich am Wochenende (25.7. und 26.7.) ein anderes Muster beobachten als an den Wochentagen (27.7. bis 31.7.). An den Wochentagen gibt es morgens und nachmittags wegen des Berufsverkehrs höhere Spitzen.
Online-Analyse: Matlab-Code in ThingSpeak
Der bisherige Zählalgorithmus war so programmiert, dass er auf der Raspberry Pi Hardware bereitgestellt wird und seine Ergebnisse in Rohform an den ThingSpeak-Datenaggregationsservice gesendet werden. Dann wurden die Daten in Matlab eingelesen, um dort die täglichen und wöchentlichen Verkehrsmuster offline zu analysieren. Wie aber lässt sich das Verkehrsaufkommen in ThingSpeak berechnen und darstellen? Es ist sehr einfach, die Berechnung offline durchzuführen, aber dank der Matlab-Integration von ThingSpeak funktioniert das auch online, ohne dass man die Daten extra wieder herunterladen muss.
Um das Verkehrsaufkommen zu berechnen, kann die Analyse-App von Matlab, die über Thingspeak.com zur Verfügung steht, verwendet werden. Dazu ist etwas Code nötig, um die Verkehrs-Rohdaten des vorherigen Tages abzurufen und die Ergebnisse zusammenzufassen. Dann kommt der Befehl thingSpeakWrite zum Einsatz, um die Daten an den neuen Kanal „DailyVolume“ zu senden (Listing 2).
Zum Schluss wird noch ein Zeitplan eingerichtet, der die Analyse einmal täglich kurz nach Mitternacht ausführt. Hierfür wird die TimeControl-App von ThingSpeak angewendet. Die berechneten Ergebnisse werden an einen neuen Kanal gesandt, der das täglich gezählte Auto-Aufkommen darstellt. Da sich dieser Kanal in ThingSpeak befindet und die Analyse-App von Matlab integriert ist, kann die Analyse jederzeit über jeden Web-Browser auf einem PC oder mobilen Gerät betrachtet werden. Den berechneten Wert finden Sie in Kanal 51671 in ThingSpeak.
Weitere Informationen
[1] Autozähler auf Thingspeak:
https://thingspeak.com/channels/38629
[2] Analyse des täglichen Verkehrsaufkommens:
https://thingspeak.com/channels/51671
Der Autor
Eric Wetjen |
---|
Eric Wetjen ist Senior Product Marketing Manager for Test and Measurement and IoT bei MathWorks. Vorher hatte er verschiedene Positionen im Produktmanagement sowie in der Anwendungsentwicklung in der Telekommunikationsindustrie inne. Er hat erfolgreich eine Promotion an der Brown University abgeschlossen und beschäftigte sich dabei mit optischen Sensoren und Umwelt-Monitoring. |