Introduction to the Nwave ecosystem
This document will familiarize you with our Infrastructure Management System (IMS), services which it provides and common operating procedures, it will walk you through our portal and show how it can help you to accomplish your tasks.
Â
Contents Table
Â
- 1 Contents Table
- 2 Entities
- 2.1 Device
- 2.2 Position
- 2.2.1 Label
- 2.3 Group
- 2.4 Level
- 2.5 Zone
- 2.6 Base Station
- 2.7 Project
- 2.8 Raw message
- 3 Integrations
- 3.1 HTTP
- 3.1.1 HTTP Template Suites
- 3.1.2 HTTP Templates
- 3.1.3 HTTP Routes
- 3.2 Rabbit MQ
- 3.1 HTTP
- 4 Services
- 4.1 RTA
- 4.2 Session Logger
- 4.3 Check-in
- 5 Procedures
Â
Entities
Â
Device
Device refers to a sensor in your network.
Attributes:
Device ID - a hexadecimal value which is a unique device identifier.
Active - a boolean flag which shows you if a device is active or not;
True: messages from a sensor are processed normally.
False: messages from a sensor are not processed but stored in your log.
Damaged - a sensor breakdown state:
True: a sensor is damaged and not functioning properly. The occupancy status of these sensors is undefined in our occupancy APIs.
False: a sensor is healthy.
Position
Position is a fixed physical location (spot) in your service area(s) to which a single device is bound. In other words it is essentially a digital twin of a parking space area.
Positions are static entities, binding points in the real world, once a position is registered, its attributes rarely change.
Attributes:
Network ID - a unique identifier of a position in the network.
Longitude - an east-west angular position on the earth’s surface.
Latitude - a north-south angular position on the earth’s surface.
Group Inner ID - a unique identifier of a position only within a group which it belongs to.
Custom ID - a user-defined unique identifier of a position.
Label
Labels are text markers used to group and designate position attributes like EV, Disabled, and VIP. They aid in filtering specific position types and offer aggregated analytics for each type.
Group
Group is a set of positions used for structured data organisation and aggregation in the API calls. Typically it is a set of physically adjacent positions, e.g. row of spaces in parking lot.
Attributes:
Group ID - a unique identifier for a group (integer).
Group Name - a user-defined name for a group.
Group Type - may be one of the following:
Marked spaces - parking bays with individual boundary markings
Unmarked parking bay - parking bays without individual space boundary markings;
Standalone car counters - a single sensor car counter.
Level - level object associated with a group.
*Please note that we recommend you giving meaningful names for your group in order to simplify your tracking and reporting (e.g. on-street and off-street).
Â
Marked and Unmarked (Open) Parking Bay Illustration
(Approximate Sensor Placement)
Level
Level is an object that describes a horizontal plane on a map. It is useful for distinguishing different floors inside a multi-storey parking garage or underground parking structure.
Attributes:
Level ID - a unique identifier for a level (integer).
Name - a string describing a level e.g. ground floor, basement.
Floor - numeric representation of a level. e.g. 0 for ground floor, -1 for basement.
Zone
Zone is a collection of device position groups used for another level of data aggregation.
Attributes:
Zone ID - a unique identifier for a zone (integer).
Zone Name - a user-defined name for a zone.
Live Status - true/false value. Used to show you if a zone is active or not.
NB: All API routing is configured on a Zone level.
*Please note that we recommend you giving meaningful names to your zones in order to simplify your tracking and reporting.
Base Station
A base station is a piece of hardware that receives messages from your devices and forwards them to the cloud. Multiple base stations can be installed for redundancy in case one of them fails. Extra messages will be marked as duplicates on your dashboard.
Attributes:
Base Station ID - a unique identifier for a base station (integer).
Generation - a base station version.
Frequency - a frequency at which a base station is receiving messages.
Online Status - a connection status between a base station and the Internet. Becomes offline when a station does not ping for over than 20 minutes.
Health Status - a connection status between a base station and related devices.
Project
A project is an aggregation of different entities which are parts of your network. Projects are used to isolate complete parts of your network from the rest.
For example:
A project called London may contain all zones and base stations that you have in that area.
Attributes:
Project ID - a unique identifier of a project (integer).
Project Name - a user defined project name.
Raw message
A message with an unprocessed payload.
Attributes:
Payload - an unprocessed hexadecimal message representation.
Receipt time - a time when a message was received by the cloud.
Broker time - a time when a message was sent from a base station.
Â
Integrations
Currently Nwave supports two ways of serving data to our clients - HTTP and Rabbit MQ.
HTTP
HTTP Template Suites
HTTP Template suites - is a collection of templates which are applied to messages before sending.
HTTP Templates
HTTP Template - is a processing rule that is applied to HTTP requests;
HTTP Templates can be configured for specific message types (e.g. Status Change, Heartbeat, Calibration);
HTTP Request Method, Headers, Url and Request Body may be configured in HTTP Templates.
HTTP Routes
HTTP Routes - looks like a message bridge between zones and HTTP Template Suites;
HTTP Routes may be deactivated to stop messages flow.
Rabbit MQ
Routes
Routes - looks like a bridge between zones and your Rabbit MQ endpoints;
Routes may be configured for specific message types (e.g. Status Change, Heartbeat, Calibration).
Endpoints
Rabbit MQ endpoints is a URL where your messages will be sent.
Â
Services
RTA
RTA stands for Real Time Availability. It shows current devices occupancy status. RTA values may change very quickly as people are driving over/near devices without necessarily starting a parking session.
Session Logger
Session Logger tracks parking sessions for every device: start time, end time, unique session ID. It can restore parking session in case of a partial message loss. For open parking bays it filters out very short device occupancies (less than 60 seconds) and therefore these sessions will be registered with a delay compared to the RTA data.
Check-in
It provides two services:
Spot Search - this service detects probability of sensor occupation by an app user.
Check-in - this service assigns a parking session to the occupied state of a sensor.
Â
Procedures
Firmware installation (Device Management App)
Device management app allows you to:
Find nearby devices;
Export devices list using box id;
Install a device firmware;
Run calibration;
Run health checks.
Positioning (SPlace App)
Splace app is designed for sensors (devices) positioning on a map. It allows you to:
Create groups;
Create positions;
Bind devices to positions and initiate sensors calibration;
Align and move devices groups on a map.
Replacing (Replacing App)
This is an application designed to automate operations with sensors replacement.