To count people in an image, they used Pedestrian Detection in CSharp from the Emgu Foundation. After the API returned the number of people in the image, this information was sent to Azure Event Hubs.
Smart CCTV device test
The developers created a Universal Windows Platform (UWP) app for the capture and frame streaming of the video camera input to the Smart CCTV service. This application showed that a Windows mobile device, self-powered and connected to the Wi-Fi service, could deliver a suitable frequency and quality of frames for processing by the Smart CCTV service. The application posted frames via HTTP to the Smart CCTV API or directly to Blob storage via the REST API to trigger the Smart CCTV Azure Network Watcher function. For the UWP camera app, see Camera Preview Frame Sample.
TV White Spaces quality of service solution
The developers used an iPerf network testing application to measure TV White Spaces network performance. The challenge was to make at least the server or client side of this solution self-contained, so it could be battery-powered and post the results to the common IoT Hub. The developers also wanted the solution to receive cloud-to-device messages from the IoT Hub to enable configuration of the iPerf tests and frequency of testing.
The team modified a UWP wrapper for the iPerf tool located on GitHub to post results into IoT Hub. They placed server devices within a cable car cabin roof and the client device within the North Greenwich station. In this way, the client device can manually configure tests and observe results, while both client and server devices can publish the results automatically to IoT Hub. Both devices utilize the TV White Spaces Wi-Fi service to communicate with IoT Hub to provide a point of failure. For the server/client code, see UWP iPerf.
The LoRaWAN network
Emirates Air Line includes 32 active cable car cabins, each of which operates for at least seven hours a day. When fully deployed, the temperature and humidity sensors will transmit data about every 15 minutes; IoT Hub receives approximately 900 messages a day.
The LoRaWAN gateway was constructed using a iC880A frequency concentrator board coupled with a Raspberry Pi via SPI. From there, the TTN application handler was bridged into Azure IoT Hub using the C# bridge.
The LoRaWAN sensors were built using the Adafruit Feather M0 LoRa development board. The sketch was modified to provide one-minute transmission frequency. The device was coupled with an OLED feather to provide a display for test feedback, and powered by a 2200 mAh lithium battery. For security, the LoRaWAN implementation utilizes AES 128-bit encryption of the sensor payload.
A low-cost, effective solution
With its solution now in place, Transport for London has a Wi-Fi system with real-time instrumentation of its cabins and stations with sensors offers accurate and timely operational information that will make maintenance and operations more efficient.
Get the code, documentation, and device references from this project on GitHub, get hands on with IoT Hub labs, or start to build your own IoT solution on Azure.