Research on IOT for GeoServer
How to config Azure IoT hub:
Quickstart: Send telemetry from a device to an IoT hub and read the telemetry from the hub with a back-end application (C#)
Create an IoT hub
This section describes how to create an IoT hub using the Azure portal.
Log in to the Azure portal.
Choose +Create a resource, then choose Internet of Things.
Click Iot Hub from the list on the right. You see the first screen for creating an IoT hub.
Screenshot showing creating a hub in the Azure portal
Fill in the fields.
Use VS Code as IoT Hub Device Simulator — Say Hello to Azure IoT Hub in 5 Minutes
Subscription selected: Visual Studio Enterprise
Resource Group selected: DroneFormToTCOMS
Location selected: Central US
Pricing and scale tier selected: F1: Free tier
Creating IoT Hub: GeoEventIOT
...........................................................................................................................
IoT Hub 'GeoEventIOT' is created.
- Then create device:
Register a device
- A device must be registered with your IoT hub before it can connect.
- Click ... > Create Device at AZURE IOT HUB DEVICES tab, or type Azure IoT Hub: Create Device in Command Palette.
- Enter device ID and press Enter.
- Wait a few seconds until the new device is created.
- create device
Monitor device-to-cloud (D2C) message
You could also use your favorite programing language (e.g. C#, Go, Java, Node.js, PHP, Python and Ruby) to quickly generate an Azure IoT application.
generate app
Another way to create device simulation by VS studio:
https://marketplace.visualstudio.com/items?itemName=ErichWangMSFT.AzureIoTHubSampleofDeviceSimulation
Use VS Code to call Azure IoT Hub REST APIs
Create and control an IoT device connected to an IoT hub (.NET)
Device Simulation by Microsoft Azure IoT solution accelerators
https://www.azureiotsolutions.com/Accelerators#description/device-simulation
Microsoft Azure Connectors
In GeoEvent Server, need install the Azure IoT connector for GeoEvent:
Features
•Azure Transport and Connectors
Instructions
Building the source code:
1.Make sure Maven and ArcGIS GeoEvent Server SDK are installed on your machine.
2.Run 'mvn install -Dcontact.address=[YourContactEmailAddress]'
Installing the built jar files:
1.Copy the *.jar files under the 'target' sub-folder(s) into the [ArcGIS-GeoEvent-Server-Install-Directory]/deploy folder.
Requirements
•ArcGIS GeoEvent Server (Certified with version 10.6.x).
•ArcGIS GeoEvent Server SDK.
•Java JDK 1.8 or greater.
•Maven.
$PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Users\xubi\AppData\Local\Microsoft\WindowsApps;C:\Java\bin;C:\apache-maven-3.6.0\bin;
So I install the java, by check: java -version
I install the Maven, by check: mvn -v
after run the mvn install -Dcontact.address=bill.xu@tc.gc.ca
under azure-for-geoevent\azure-event-hub-transport\target
I got the 3 jar files in my local, then copied into Geoevent server directory:
C:\Program Files\ArcGIS\Server\GeoEvent\deploy
Install extension in CI on azure portal to monitor the iot hub:https://docs.microsoft.com/en-us/cli/azure/ext/azure-cli-iot-ext/iot?view=azure-cli-latest
Review the extension wiki tips to maximize usage Tips
az iot hub monitor-events GeoEventIOTDevice --login "HostName=GeoEventIOT.azure-devices.net
;SharedAccessKeyName=iothubowner;SharedAccessKey=EIZSt9kzLAUwI9zYGFeYdxWdoO3KZbf1Mk2FcoHcr0U="
Understand Different Connection Strings in Azure IoT Hub
Get Event Hub-compatible endpoint by clicking Endpoints --> Events, we need use it in next step
Use connection string got in IoT Hub Connection String, replace HostName=<Host Name> with Endpoint=<ENDPOINT> got in step 1
2019-01-09 Event Hub connector works. This document is the detail setting screenshots. (IoT hub connector is not working for input)
GeoEvent_IoT_Setting.docx
What is a stream service?
A stream service is a type of ArcGIS Server service that emphasizes low latency, real-time data dissemination, for client-server data flows. Clients connecting to a stream service begin receiving data immediately upon subscribing to the service. Clients can specify and reconfigure both spatial and attribute constraints without first unsubscribing and then reconnecting to the service.
The illustration below compares how feature data has traditionally been received, processed, and consumed with how real-time data is received and broadcast using stream services.
Traditional feature data workflow versus real-time data received and broadcast with stream services
https://scaug.org/resources/REGIONAL/CONFERENCES/2018_SAN_ANTONIO_SCAUG_CONFERENCE/Presentations/Geoevent.pdf
Real-Time GIS will
work with Real-Time Data,
apply Real-Time Analytics,
Give Real-Time Notifications and Alerting;
??? Can Stream service add into storage?
Fight Sensor Demo:https:
//github.com/mzesri/flight-sensor-demo
From this Demo, setting for GeoEvent server:
Live Web Map:
http://arcg.is/2k4VVh5
For AWS IOT:
Mobile solution:
then create local wifi from the button;
Lambda setting at background:
IFTTT website:
-->Maker channel
Reference:
Video for GeoEvent Server: Internet of Things (IoT)
PDF for this presentation
https://blogs.msdn.microsoft.com/iotdev/2018/07/12/use-vs-code-as-iot-hub-device-simulator-say-hello-to-azure-iot-hub-in-5-minutes/cli commands for Azure IOT hub:
https://docs.microsoft.com/en-us/cli/azure/ext/azure-cli-iot-ext/iot/hub?view=azure-cli-latest