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”

image-20240306-162407.png

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:

image-20240306-162924.png

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:

  1. Parking entrance on the 1st floor

  2. Parking exit on the 1st floor

  3. Counter for detecting a car driving up from the 1st to 2nd floor

  4. 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:

  1. Lanes creation

  2. Attaching lanes to a group as entrance or exit

We need to create 4 lanes to describe all possible directions:

  1. Lane for entrance to parking and floor 1:

    1. Direction “IN”: Floor 1 / Group 1

    2. Direction “OUT”: None

    3. Bound position ID: 43615 (see the screenshot above)

  2. Lane for exit from parking and floor 1:

    1. Direction “IN”: None

    2. Direction “OUT”: Floor 1/ Group 1

    3. Bound position ID: 43616

  3. Lane for driving up from the 1st floor to the 2nd:

    1. Direction “IN”: Floor 2 / Group 2

    2. Direction “OUT”: Floor 1 / Group 1

    3. Bound position ID: 43617

  4. lane for driving down from the 2nd floor to the1st:

    1. Direction “IN”: Floor 1 / Group 1

    2. Direction “OUT”: Floor 2 / Group 2

    3. 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.

https://nwaveio.atlassian.net/wiki/spaces/ND/pages/3018686469/Car+Counters+Getting+Started#Configuration-using-parking-analytics-site