--> sortierteseinkaufen.de

Was wir uns vorgenommen haben

Kaum ein anderes Thema ist in Zeiten der Krise für die Bürger so wichtig wie die Versorgung mit Lebensmitteln. Während auf soziale Interaktion notgedrungen verzichtet werden sollte, ist der Einkauf im Supermarkt überlebenswichtig. Wir wollen unseren Beitrag leisten indem wir sicherstellen, dass die Bürger sowohl alle benötigten Produkte erwerben können als auch beim Einkauf einem möglichst geringen Infektionsrisiko ausgesetzt werden (Shopping Distancing). Im Besonderen sind Wege zu leeren Regalen in Supermärkten zu vermeiden um unnötigen Kontakt zu minimieren. Um diese Ziele zu erreichen bieten wir eine Web-App an, in der ein Benutzer vor dem Einkauf seine benötigten Produkte angeben kann. Daraufhin werden Supermärkte in der Umgebung angezeigt, die unter Berücksichtigung der Warenbestände und aktuellen Andrängen einen möglichst kontaktarmen und erfolgreichen Einkauf ermöglichen. Dies entlastet Supermärkte durch eine vereinfachte Koordination von Besuchermengen und unterstützt Kunden bei ihrem Einkauf.

Wie lösen wir dieses Problem

Die erforderlichen Daten für die App werden auf zwei verschiedenen Wegen erhoben. Zum einen wird es Kunden von Supermärkten ermöglicht, nach dem Einkauf den aktuellen Bestand des Marktes sowie den subjektiv empfundenen Andrang mit der Community zu teilen. Hierzu ist keine Registrierung von Nutzern nötig. Die WebApp kann über jedes internetfähige Gerät, z.B. Smartphones oder PCs direkt annonym benutzt werden. Zum anderen werden Besucherzahlen der Märkte durch ein einzelnes, kostengünstiges IoT-Gerät im Eingangsbereich des Supermarktes erfasst. Dieses Gerät bewegt sich in einem Kostenrahmen von etwa 10-15€ und benötigt zum Betrieb lediglich einen Stromanschluss. Nach der zentralen Konfiguration der Geräte werden diese an Supermärkte versand. Vor Ort fällt kein weiterer Aufwand an, die Geräte müssen lediglich mit Strom versorgt werden. Das Gerät analysiert annonym die WLAN- und Bluetooth-Daten von Smartphones im Umkreis und ermöglicht so eine umfassende Auswertung von Besucherzahlen. Bei der Erstellung der Lösung wurde besonders berücksichtigt, dass eine Bereitstellung sehr zeitnah möglich sein sollte.

Warum das gut ist

Der im Rahmen des Hackathon bereitgestellte Prototyp der WebApp sowie alle Materialien können in wenigen Schritten für einen großflächigen Einsatz skaliert werden. Da keine Benutzer- und Rollenverwaltung integriert ist, wird der administrative Aufwand auf ein Minimum gesenkt. Bei der Erstellung der Lösung wurde der Einsatz von dedizierten Hardware-IoT-Geräten umfassend diskutiert. Alternativen wären unter Anderem die Nutzung von Google- oder Smartphone-Positionsdaten. Es zeichnete sich jedoch ab, dass zeitaktuelle Daten zu Besucherzahlen über die Google-API nur sehr eingeschränkt abrufbar sind. Weiterhin fallen hier Kosten an. Die großflächige Nutzung von Smartphone-Benutzerdaten birgt zahlreiche datenschutztechnische Hürden. Weiterhin steigern beide Möglichkeiten die Abhängigkeit von externen Quellen. Da die vorgestellten IoT-Geräte kostengünstig, schnell und einfach einzusetzen sind sowie zuverlässige und genaue Daten liefern, fiel die Wahl auf diese Option.

Die technischen Details

Der Prototyp der Lösung besteht aus Frontend, Backend und Hardware. Das Backend stellt Supermärkte in Deutschland samt Adresse und Koordinaten, eine Liste gefragter Produkte sowie deren Verfügbarkeit in einzelnen Märkten zur Verfügung. Gemeldetes Feedback von Benutzern zu Warenbeständen und dem subjektiven Eindruck über Besuchszahlen aktualisieren die Werte der Datenbank. Als weitere Quelle zum aktuellen Andrang fließen die Daten der Mobilgeräte ein. Zum aktuellen Zeitpunkt wird aus datenschutzrechtlichen und ressourcentechnischen Gründen nur die Anzahl der detektierten Geräte übertragen und keine weiteren Details wie die Aufenthaltsdauer spezifischer Geräte. Ein besonderer Fokus lag darauf, die gewonnenen Sensordaten der Allgemeinheit bereitzustellen um weitere Auswertungen möglich zu machen. Hierfür wurde die Übermittlung und Integration der Daten in OpenSenseMap (https://opensensemap.org/) geprüft. Im Rahmen des Hackathons konnte diese Schnittstelle nicht benutzt werden, wird mittelfristig vom Team aber weiter verfolgt.

Frontend

WirVsVirus-SortierterEinkauf-Frontend

Das Frontend ist mit aktuell üblichen Technologien (Vue.js, ES6, Sass) als Single-Page-Application erstellt worden. Mit hilfen der großen Kompabilität und dem responsive Design ist diese problemlos auf einer Vielzahl von Geräten nutzbar. Die verwendeten Frameworks sind dabei Open Source.

Backend

WirVsVirus-SortierterEinkauf-Backend

Das Backend ist in Python3 umgesetzt und stellt dabei die gesammelten Daten dem Frontend über eine zustandslose REST Schnitstelle bereit. Im Hintergrund werden die Daten aus einer MySQL Datenbank abgefragt und Benutzerfeedback (Anzahl Besucher und Menge an Waren im Markt) in diese zurückgeschrieben.

Hardware

Um die Messdaten in den Geschäften zu Erfassen werden Mobile Geräte der Besucher mit Hilfe eines ESP32 Moduls erkannt (WiFi) und gezählt. Dieser verfügt darüber hinaus über ein LoRa Funkmodul, über welches die gesammelten Daten über LoRaWan weiter an TheThingsNetwork überträgt, und damit unabhängig von WLAN oder Mobilfunknetzen ist. Zum aktuellen Zeitpunkt wird aus datenschutzrechtlichen und ressourcentechnischen Gründen nur die Anzahl der detektierten Geräte übertragen und keine weiteren Details wie die Aufenthaltsdauer spezifischer Geräte. Ein besonderer Fokus lag darauf, die gewonnenen Sensordaten der Allgemeinheit bereitzustellen um weitere Auswertungen möglich zu machen.

Ausblick

Skalierbarkeit

Die Applikation ist weitgehend Zustandslos und kann damit leicht mittels üblicher Technologien horizontal skaliert werden. Aufbauend auf den Prototypen sind die einzelnen Komponenten nach Bedarf austauschbar.

Ausblick

Es Eröffnet sich eine Vielzahl von Möglichkeiten, die Personenzählung mir weiteren Sensoren zu verbessern. Dazu können auch Optische Sensoren herangezogen werden, um die Anzahlerkennung zu verbessern.

Unser Weg durch den Hackathon

Im Rahmen des Projektes SortiertesEinkaufen wurden drei Einreichungen, die sich im Großen und Ganzen recht ähnlich waren, vereint. Nachdem sich am Freitagabend gegen 22 Uhr das Team gefunden hatte wurden Konzeptideen diskutiert und Werkzeuge aufgesetzt. Am Samstagvormittag wurde der Projektplan noch einmal verfeinert und einige Ideen und Features kritisch bezüglich ihrer Machbarkeit hinterfragt. Während das Team des Software-Backends größere Probleme beim Deployment des ursprünglich angedachten Java-Backends hatte, konnte das Hardware-Team früh Erfolge verzeichnen und bereits am Samstag mit einem funktionierenden IoT-Prototypen Tests beginnen. Im Zuge dessen begab sich ein Teammitglied samt Gerät zu Supermärkten in seiner Umgebung um die Akzeptanz gegenüber dem Anbringen des Gerätes im Markt zu erfragen. Insgesamt war die Resonanz sehr positiv, die Marktleiter verwiesen jedoch darauf, dass sie zunächst intern mit der Firmenzentrale Rücksprache halten müssten. Im Lauf des Sonntags wurden unter anderem die Datenbank mit Daten gespeist, APIs fertiggestellt und das Frontend designtechnisch angepasst. Weiterhin fanden zeitgleich noch zahlreiche andere Tasks wie die Produktion des Pitch-Videos und die Projekt-Dokumentation statt.

Und wie geht es weiter?

In nur knapp 48h ist es uns gelungen, ausgehend von einer vagen Vorstellung einen gut funktionierenden Prototypen zu entwickeln. Daher sind wir überzeugt dass diese Idee das Potential hat, die schwierige Einkaufssituation in die uns Corona gebracht hat sowie die Sicherheit merklich zu verbessern und die Verbreitung des Virus weiter zu verlangsamen. Und das nicht nur für einzelne Gemeinden oder Städte, sondern für ganz Deutschland. Wie wir bereits in den vorherigen Abschnitten ausführlich dargestellt haben, ist unsere technische Basis sehr modular aufgebaut. Das gibt uns die Möglichkeit, in kürzester Zeit Anpassungen vorzunehmen, die einen derart großflächigen Einsatz möglich machen. Auf Grund dieses Designs sind auch Erweiterungen einfach integrierbar.

Built With

  • esp32
  • google
  • iot
  • lorawan
  • real-time-sensor
  • webapp
  • website
+ 2 more
Share this project:

Updates