Collectors Smart Terminal

We developed a prototype for a smart drop-off station as part of a voluntary mandate for the Collective Association which operates Collectors in Solothurn. Collectors delivery service customers can enter their order at the touch-screen terminal using a simple process and then stick the delivery labels printed right there onto their shopping bags. These are then picked up from the drop-off location by the collectors and conveniently delivered to the desired address.

 

Azure IoT backend

With the help of the huge Microsoft Azure ecosystem, the backend of this kind of complex task can be moved completely to the cloud. This not only reduces operating costs but also enables automatic horizontal scaling of many of the available components under load.
The solution architecture includes many components that have become practically indispensable in an IoT project today:

IoT hub

The IoT hub receives all the messages from the terminal and processes them according to type. The terminal sends both telemetry data for the “heartbeat” and the actual orders to the IoT hub.

The orders are forwarded initially as an e-mail to the collectors' centre (HOT path). A copy of each order is also automatically stored in cloud storage (COLD path).
The heartbeat updates the device twin of the terminal in the IoT hub, which in turn is periodically scanned and automatically triggers an alarm in the event of a timeout since the last activity.

Azure Functions

Azure Functions are Microsoft's direct answer to Amazon's AWS Lambda and are therefore an event-based, serverless computing environment. No matter how much or how little performance this kind of application requires, an Azure function scales completely automatically and a charge is made only for the resources actually used.
Two different event triggers were used in this project: periodical scanning of the device activity for the watchdog and the arrival of a new job message in the IoT hub.

Web API

In order to optimise the user experience for subscribers, these people can pre-fill their address details by identifying themselves at the terminal with their subscription number and surname. The master data are stored in a MongoDB instance which can then be retrieved from the terminal via the RESTful interface. To ensure data protection, retrieval is only permitted from the terminal and is secured by a client certificate and a Keyed Hash Message Authentication Code (HMAC).

The Collectors' centre can update these master data at any time if mutations arise or if new customers are added.

Raspberry Pi terminal

The terminal was equipped with a Raspberry Pi 3B+ and a 7" touchscreen display as well as a USB-3G router. The configuration was specially made for use as a public kiosk, so that all services such as 3G connection, heartbeat, local web server and the browser for the front end are started automatically during the boot process.

Front end

The front end was implemented as a single-page application (SPA) using the Javascript React framework and the state container Redux. Node.js is used as the Javascript runtime environment and the server-side web framework Express was specially developed for it.

 

IoT @ CSA

The special feature of IoT prototypes is extensive use of pre-existing components that make up a complete IoT solution, eliminating high investment costs. Uncertainty about whether the planned solution promises the desired success is eliminated and important insights are gained.

To ensure the best possible solution, we provide you with technical expertise and years of experience in the field of hardware and software development in the IoT environment. From the sensor to the front end of a comprehensive IoT solution: CSA offers the complete IoT solution from a single source.

Contact us