Verizon Connect provides multiple fleet management solutions for tracking and managing your fleet of vehicles (Figure 1). This blog will focus specifically on Verizon Connect Reveal and how you can connect to the data feed and perform real-time ingestion and analysis with ArcGIS GeoEvent Server.
Figure 1: Verizon fleet management solutions
Verizon Connect Reveal provides an API to receive position data from your fleet of vehicles (Figure 2). A couple approaches are available for how you receive the data including polling a REST API endpoint on demand or having the data automatically pushed by a Verizon server to a client endpoint. This blog focuses on the GPS Push Service which based on the latter approach. This approach requires the client endpoint to be set up in such a way that a Verizon server can connect and send the data to it. The client endpoint needs to be protected using basic authentication. The Verizon server will authenticate with the client endpoint prior to sending data. This blog uses Windows IIS and the following steps highlight enabling basic authentication and routing from an IIS endpoint to an ArcGIS GeoEvent Server connector endpoint. An organization firewall or a load balancer can be used in place of IIS.
Figure 2: Verizon GPS Push Service
It is assumed you have GeoEvent Server installed and configured and are familiar with configuring inputs, GeoEvent Services, and outputs in GeoEvent Manager. If you’re not, access the available quick start guide, documentation, and tutorials. It is also important to properly configure the SSL certificate for the server if applicable. This blog refers to GeoEvent Server 10.8.1.
This blog is broken down into five sections. Follow the steps outlined in each section to properly configure, ingest, process, and disseminate the Verizon Connect Reveal data.
First, configure a GeoEvent Server input connector to receive data from Verizon Connect Reveal.
Notice the input changes from a stopped state to started, indicated by the green icon to the left of the input.
To enable basic authentication, you will rely on a feature in the Windows operating system.
Next, you will create a local account on the machine that will provide the URL endpoint for the Verizon Connect Reveal server to authenticate, connect to, and send data to.
The new virtual directory should now appear under Default Web Site.
<!DOCTYPE html>
<html>
<body>
Hello Verizon
</body>
</html>
The text Hello Verizon should display on the page.
Next, it is necessary that basic authentication be enabled for the virtual directory in IIS Manager.
Notice the Status column for the Basic Authentication changed from Disabled to Enabled.
The status of the Anonymous Authentication changes to Disabled.
A Sign in dialog will pop up.
If authentication is successful, the webpage will display Hello Verizon, indicating basic authentication is working properly.
IIS provides the URL Rewrite extension that can be used to redirect HTTP traffic. The URL Rewrite module should be installed first.
Optionally, in IIS Manager, click Get New Web Platform Components to access the same webpage.
In addition to the URL Rewrite module, the Application Request Routing module also needs to be installed.
The two items will be installed.
NOTE: The Rewrite URL you enter should be the same URL as the GeoEvent Server input connector you created in the Configure a GeoEvent Server connector endpoint to receive data from Verizon Connect Reveal section above.
For this example, the Rewrite URL is
https://<your_server>:6143/geoevent/rest/receiver/verizon-gps-rest-json-in
With everything configured, GeoEvent Server is now ready to receive data from the Verizon Connect Reveal server.
The Verizon Connect Reveal GPS Push Service data contains sub-hierarchies in its data structure. This data is not easily translated to a feature schema that can be used in ArcGIS applications. So, in this case, the GPS Push Service data needs to be mapped to a flattened schema first. You can accomplish this using the real-time processing capabilities of GeoEvent Server.
Below is the hierarchical data directly from the GPS Push Service:
And here is the flattened schema required by ArcGIS applications:
The steps for flattening the data structure will not be outlined in this blog. The Field Mapper Processor illustrated in the yellow box below) should be used to map the GPS Push Service data from the original hierarchical schema to the flattened schema. Additional guidance on the real-time processing workflows of GeoEvent Services can be found in the GeoEvent Server tutorials.
Prior to requesting Verizon Connect Reveal start sending data to the IIS endpoint, additional tests should be conducted first. Apps such as Boomerang can be used to post the data to the IIS URL for testing.
{
"SequenceId": 162517.0,
"UpdateUTC": 1614364635000,
"DeviceTimeZoneOffset": -5.0,
"DeviceTimeZoneUseDST": false,
"DisplayState": "Moving",
"IsPrivate": false,
"SpeedKmph": 30.0,
"DirectionDegrees": 340.0,
"Heading": "North",
"DeltaDistanceKm": 0.54,
"OdometerKm": 64853.82300541169,
"TotalEngineMinutes": 179742.0,
"IdleTimeMinutes": 0.0,
"Latitude": 35.78075055555556,
"Longitude": -77.90424,
"DeltaTimeInSec": 89.0,
"SensorBits": 0.0,
"f": null,
"token": null,
"SensorValues": null,
"Vehicle": {
"Number": "1234",
"Name": "Truck1234",
"VIN": "1ABCDEF567890",
"ESN": 1.3E7
},
"Address": {
"AddressLine1": "4020 State Rd 1327, Elm City, NC 27822, USA",
"AddressLine2": "4020 State Rd 1327",
"Locality": "Elm City",
"PostalCode": "27822",
"AdministrativeArea": "NC",
"Country": "USA"
},
"Driver": {
"DriverKeyFobId": 0.0,
"DriverLastName": "Bond",
"DriverFirstName": "Jason",
"DriverNumber": null
}
}
Boomerang displays a 200 OK response code if the transmission is successful. In GeoEvent Manager, the Verizon Connect Reveal input’s count will also increase once the data is received.
Upon successfully testing the data stream, GeoEvent Server is now ready to receive data from the Verizon Connect Reveal server. The IIS URL and the basic authentication information should be communicated to Verizon Connect Reveal. It is also recommended you encrypt the traffic using an HTTPS URL to avoid exposing the basic authentication information in the HTTP header. Since the HTTP traffic is being sent over a public network, it is also recommended you obtain a CA-signed certificate for your server from a trusted certificate provider (e.g., Verisign, DigiCert, etc.) and apply it to your server.
The PDF version of this article is also available in the attachment.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.