skip to primary navigation skip to content

AdaptiveCity / SmartCambridge / CDBB Digital Twin



  • acp_server is the core asynchronous publish/subscribe message passing real-time system at the heart of the Adaptive City Platform.

  • acp_web is the ‘http’ interface to the Adaptive City Platform supporting visualization of ‘historical’ and ‘real-time’ data. I.e. the web platform works with both data held in storage (including the most recent) and streaming data flowing through the platform. The latter is delivered via websockets to the browser.

    Protected behind user authentication, acp_web provides office, floorplan, building and regional views of assets and sensor data.

  • The ACP Local MQTT project achieves two crucial goals for the Adaptive City Platform. First, it creates an MQTT bridge structure to retrieve sensor data from different network interfaces at a single mosquitto broker and distribute that to other servers in our cluster. Secondly (see below) it supports the decoder framework which provides early normalization of message formats as data is fed into our platform.

  • Given the heterogeneity of multiple data sources arriving at the Adaptive City Platform, it is important to have a framework to normalize/decode the data in the incoming messages and re-publish for consumption further downstream. The ACP Decoders project serves this purpose. Support is available to add decoders dynamically whenever needed without any interference with the main process. This is to support a typical IoT environment where new sensor types are added to the network with a data format not compatible with existing decoders for that network. Although it may take specialized code further along the stream to correctly interpret a particular reading, the decoders are designed to help the data on its way, e.g. the data will be decoded to a JSON format (and will always include any original data base64-encoded if necessary) and identifiers and timestamps will be added to the message. These steps mean that much of the processing in the platform can be relatively independent of the meaning of a particular reading, for example the websocket subscription support provided in acp_server.

  • DeepDish is a CNN-based intelligent sensor designed to track the movement in a fixed scene of categories of objects (e.g. people, cars, bicycles, etc) for real-time reporting to the Adaptive City platform. The sensor uses a Raspberry Pi and a Python framework with multiple alternative CNN models such that relative performance in terms of speed, accuracy and energy consumption can be assessed.

  • The Cambridge Coffee Pot project is currently an experimental Intelligent Sensor Node which locally processes sensor readings from multiple heterogenous real-time sensors in the Systems Group kitchen and sends derived event messages up into the Adaptive City Platform. The project acts as a useful test bench for concepts that are generally important in our approach.

  • The Zigbee sensor integration project provides support to incorporate zigbee sensors into the Adaptive City Platform. The work does not address the issue of seamless connectivity of ZigBee devices into a consumer-friendly home automation service, in fact it does pretty much the opposite by trying collect the data from the devices and forward the same to a mqtt broker with as little ‘application-level’ software in the way as possible. The work also provides support to send commands if needed.

  • ACP TTN Manager provides means to manage devices of the Adaptive City Platform registered to a TTN Application. The available services include reading device details from TTN, registering or updating devices, deleting devices and also migrating devices from one application to another. Furthermore, this project also serves as a bridge between TTN applications and the ACP database.

    The project is built using the TTN HTTP API and provides support for both command line and code based management of devices.

  • The ACP Data Strategy works to overcome the issues which arise with managing building and urban data. We build approaches to handle both building information and sensor data alongwith sensor metadata in this project. Means to normalize data arriving from different sensors and sources is provided. This doesn’t imply a standardized protocol/format for all data sources, rather, the project tailors the data accordingly for improved data management. As of now we propagate both the data and metadata using JSON objects. Going ahead, the project will provide utilitues to move data between JSON files and PostgreSQL.

  • This work covers the implementation part of the platform and addresses themes like class of sensors to use, setting up network interfaces, optimal deployment strategies, scalability, privacy.