Advanced setup
The Nwave platform provides wide possibilities for car counter project configuration. We recommend to read https://nwaveio.atlassian.net/wiki/spaces/ND/pages/3018686469 for realizing a project structure and basic configuration approach. That document describes with examples how to configure a simple parking project, which allows to count only incoming and outgoing vehicles.
This document deeps into more complicated project structures and the use of API for setting these projects up.
In this article, we will go through the registration process of a car-counter project for 2-floor car parking. This setup allows monitoring occupancy on each floor and overall parking occupancy. In the end of the article you can find API using examples for getting occupancy data.
Project infrastructure registration
Zone creation
The first step is zone creation. The screenshot shows filled form for creation zone “Demo 2 floors’”inside project “Demo Project”
Levels creation
After saving the previous form zone is registered. The Nwave Console demonstrates the zone setup page.
Next step is floors creation. Click on button “+” in the form “Levels” to create a new floor:
Fill in the level creation form and repeat if you need more levels:
The final view for the test project:
Groups creation
The last step of hierarchy registration is creating groups. Groups are the lowest level of the parking projects hierarchy where car counting is possible. Groups could be placed on levels or without levels. Each level can contain one or more groups. In this document, we create one group per level.
Group creation is available on the tab “Groups”:
Fill in the form and press the button SAVE on the top right. Croup for car counting must have type “Car Counter”:
Repeat for each group you need to create.
The final view of group list in the example project:
Car Counters positioning
At this moment, the example zone contains 2 floors with a group on each.
Cars can drive in and out of the zone through the 1st floor. Also, cars can come up on the 2nd floor and get down.
This way, the project needs 4 car counters:
Parking entrance on the 1st floor
Parking exit on the 1st floor
Counter for detecting a car driving up from the 1st to 2nd floor
Counter for detecting a car driving down from the 2nd to 1st floor
We recommend placing car counters in groups, where they detect car exits.
The exception is parking entrances.
Following the pice of advice above, we will place 3 car counters in the group on the 1st floor (parking entrance, parking exit, road from the 1st to 2nd floor) and 1 car counter in the group on the 2nd floor (road from the 2nd floor to 1st).
Press green button in row with a group to place car counters in it:
When the is clicked, the web-version of application Splace is opening in a new window:
The following screenshots show steps are similar to using mobile application Splace. You can find video guide in the documentation page: https://nwaveio.atlassian.net/wiki/spaces/ND/pages/1715404860
After the car counters positioning Splace can looks like on the following screenshot:
The tab Positions in the Nwave Console:
Car Counter Lanes configuration
When all floors and groups are created and car counters are positioned, it is time to configure lanes.
A lane is a virtual object, that keeps information about driving directions on car counter sensors. The lane must be bound to a car counter, otherwise, it is not functional. Each lane can keep one group direction for entrance and one group for exit. If a lane contains only a group for entrance or only a group for an exit, the Nwave platform uses this lane as an entrance to parking.
The process of configuration contains the following steps:
Lanes creation
Attaching lanes to a group as entrance or exit
We need to create 4 lanes to describe all possible directions:
Lane for entrance to parking and floor 1:
Direction “IN”: Floor 1 / Group 1
Direction “OUT”: None
Bound position ID: 43615 (see the screenshot above)
Lane for exit from parking and floor 1:
Direction “IN”: None
Direction “OUT”: Floor 1/ Group 1
Bound position ID: 43616
Lane for driving up from the 1st floor to the 2nd:
Direction “IN”: Floor 2 / Group 2
Direction “OUT”: Floor 1 / Group 1
Bound position ID: 43617
lane for driving down from the 2nd floor to the1st:
Direction “IN”: Floor 1 / Group 1
Direction “OUT”: Floor 2 / Group 2
Bound position ID: 43618
Lanes configuration using API
The full API documentation can be found here: https://cc.dev.api.nwave.io/docs/openapi#/
The next two requests create a lane with a car counter position inside and set direction.
We skip repeating these requests for each position and each direction.
Lane creation
Arguments:
Body:
position_id - ID of car counter position. See the position list screenshot
curl --location 'https://api.nwave.io/car_counters/v1/lane' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: XXXXXXX' \
--data '{
"position_id": 43615
}'
Response:
{
"message": null,
"reason": "ok",
"data": {
"id": 189,
"name": null,
"zone_id": 972,
"position_id": 43615
}
}
Setting lane direction
Arguments:
Body:
group_id - ID of group. Can be found on a group setting page
Query:
lane_id (189) - see the result of the lane creation query
curl --location --request PUT 'https://api.nwave.io/car_counters/v1/lane/189/directions/in' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: XXXXX' \
--data '{
"group_id": 3898
}'
Capacity and occupancy
Setting of groups capacity is the final step of a car counter project configuration.