People Counting-Lösungen, die in Zeiten von Covid-19 zu einer Notwendigkeit geworden sind, oft sogar gesetzlich vorgeschrieben, basieren meist auf Sensoren und Kameras. Dadurch haben bringen die Lösungen eigene Vorteile, insbesondere die Gesichtserkennung funktioniert ganz gut. Sie bringen jedoch auch viele Nachteile. Probleme entstehen mit Sicherheitsvorschriften, Datenschutzrechten, vielen Eingängen oder gar keinen Eingängen, Genauigkeit, Installationen in Türbereichen, wo es keine Vorbereitung für diese Art der Installation gibt, und vielem mehr.
Eine andere Möglichkeitn – neben Sensoren und Kameras – der überraschend gut funktioniert, wenn nur eine Besucherzahl benötigt wird, ist Handy Tracking. Menschen zählen ohne Menschen zu zählen quasi. Die Grundannahme ist einfach. Mit hoher Wahrscheinlichkeit wird eine erwachsene Person in unserer westlichen Welt ein Smartphone an ihrem Körper tragen. Für jemanden ohne, gibt es einen anderen, der zwei mit sich herumträgt. Daher können wir ein Mobiltelefon mit einem Besucher gleichsetzen. Jedes Smartphone hat WiFi und sendet WiFi-Signale – was könnte logischer sein, als diese Signale zu zählen, um die Anzahl von Personen in unserem ausgewiesenen Bereich zu ermitteln?
Zählen via WiFi-Ping
Jedes WiFi-Gerät, das schließt Android- und iOS-Telefone ein, muss mit einem WiFi-Zugangspunkt kommunizieren, um funktionieren zu können. Diese bidirektionale Kommunikation wird durch IEEE 802.11 und die folgenden Protokolle geregelt.
Die Kommunikation ist in Pakete unterteilt, die in Frames aufgeteilt sind und im Protokoll 802.11 gibt es drei Arten von Frames, vereinfacht erklärt:
- Management Frames verwalten das Netzwerk, damit es kommunizieren kann
- Data Frames übertragen Ihre Daten von einem Punkt zum anderen
- Control Frames helfen bei der Datenanlieferung und steuern den Workflow
Diese Frames enthalten eine große Anzahl von Unterarten und das ganze Protokoll ist wirklich sehr komplex. Ein Frame ist besonders interessant davon – der „Probe Request“. Sein Zweck ist es, die Zugangspunkte in der Umgebung zu finden, ähnlich dem „Ping“ der vielleicht aus der Netzwerkwelt bekannt ist. Ein Smartphone möchte so schnell wie möglich eine Verbindung zu bekannten Netzwerken herstellen können und sendet daher ungefähr jede Minute Prüfanfragen. Die genauen Intervalle und Regeln sind Geheimnisse der Telefongesellschaften wie Apple, Google, Samsung usw. Normalerweise kann man nichts dagegen tun, selbst wenn das WiFi ausgeschaltet ist. Die meisten Geräte pingen weiter, um so schnell wie möglich eine Verbindung herzustellen, wenn das WiFi wieder eingeschalten wird.
Dieser Ping wird wild in die Gegend gesendet und jedes verfügbare, drahtlose Gerät kann diesen empfangen auch ohne mit einem WiFi-Netzwerk verbunden zu sein. Der Ping wiederum enthält eine einzigartige MAC-Adresse, damit andere Geräte direkt darauf reagieren können. Mit der MAC-Adresse können also verschiedene Smartphones identifiziert und die Anzahl der verfügbaren Geräte gezählt werden.
Datenschutzkonform verschlüsselt
Wer nun glaubt, dass dies eine Möglichkeit ist, jemanden persönlich zu verfolgen: heutzutage ist das zu 95% Science Fiction von gestern. Denn während das vor einigen Jahren noch möglich war, verbergen moderne Betriebssysteme wie iOS und Android mittlerweile die echte MAC-Adresse, indem sie sie „fälschen“ – das heißt, dass sie eine zufällig erstellte MAC-Adresse mit dem Ping senden. Man kann also feststellen, dass es jemanden gibt, aber nicht wen.
Fast jedes WiFi-Gerät kann diese Pings bekommen – dies ist Teil der Spezifikation. Meistens ist diese Funktion nicht aktiviert oder verfügbar, weil sie außer für Zugangspunkte einfach nicht erforderlich ist. Durch „googeln“ findet sich eine passende Bibliothek oder ein passender Treiber für praktisch jedes Betriebssystem und jedes Gerät, um die relevanten Subframes zu erfassen und zu interpretieren. Ich habe meinen Proof of concept mit einer SoC-Lösung erstellt.
Interview mit DS Connekt-Gründer: Florian Bogeschdorfer – „Wir connecten alles mit jedem.“
Mit einer eigens programmierten Software können jetzt die eingehenden MAC-Adressen registriert und einPersonenzähler erstellt werden. Durch das Aktualisieren des letzten Pings einer MAC-Adresse wissen wir, dass diese Person immer noch da ist. Mit einem Timeout-System wissen wir, dass diese Person gegangen ist. Es gibt leider keinen „Good bye“ – Ping, deshalb sind Timeouts die beste Lösung. Fertig ist der Personenzähler.
Gerade für kleine Standorte geeignet
Der auf Smartphones basierende Personenzähler funktioniert, ist jedoch nicht sehr genau oder bequem. Es gibt viele Dinge zu beachten:
- Möglicherweise werden Signale außerhalb des gewünschten Bereichs empfangen
- Der Personenzähler hat einen mehr oder weniger schüsselförmigen Empfangsbereich, die meisten Standorte haben aber Ecken
- Der Besuch war zu kurz, um einen Ping von einem bestimmten Telefon zu erhalten
- Ihre Timeouts sind unangemessen und der Standort überfüllt
- Ihre Timeouts sind unangemessen und die Menschen warten draußen, während Ihr Standort leer ist
- Es gibt bis zu 14 WiFi-Channels – der Ping kann auf einem von ihnen oder sogar auf allen sein
Daher muss die Endlösung die Auswertung des Signalpegels des Pings umfassen, um eine Entfernung vom Zugangspunkt abzuschätzen. Sie muss durch die Kanäle surfen, so viele Pings wie möglich aufnehmen, aber doppelte aussortieren. Ein kluger Algorithmus muss angewendet werden, um die genaueste Zählrate und die schnellste Reaktionszeit zu erhalten, ohne zu viele Fehler zu machen. Mit einem guten Signalpegelalgorithmus eignet sich solche Geräte für sehr kleine Standorte, sollen jedoch Passanten gezählt werden, ist die Reaktionszeit zu langsam. Dann muss ein größerer ähnlicher Algorithmus her, wie er für TV-Einschaltquoten verwendet wird.