This commit is contained in:
Benjamin Cabé 2019-11-02 22:14:23 -04:00
Родитель 71a6d5343b
Коммит 0c939f849e
5 изменённых файлов: 18 добавлений и 16 удалений

1
.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
.vscode/

Просмотреть файл

@ -44,7 +44,7 @@ Follow the [instructions from Azure IoT DPS documentation](https://docs.microsof
In order to easily find your resources later, you will want to create the IoT Hub and the Device Provisioning Service in the same Resource Group you've created in the previous step.
Once your services are properly provisioned and your DPS service is linked to your IoT Hub instance, you need to create a DPS Group Enrollment. As opposed to single enrollments where you individually "whitelist" and create a set of credentials for every device, a group enrollment can provide you with more flexibility by having a unique set of credentials for all the devices in the ame group.
Once your services are properly provisioned and your DPS service is linked to your IoT Hub instance, you need to create a DPS Group Enrollment. As opposed to single enrollments where you individually "whitelist" and create a set of credentials for every device, a group enrollment can provide you with more flexibility by having a unique set of credentials for all the devices in the same group.
In the Azure Portal, navigate to the Device Provisioning Service you have just created.

Просмотреть файл

@ -185,12 +185,12 @@ In the context of this lab, you've done a lot of modeling manually. In real-life
Also, Time Series Insights has released a Power BI connector in preview. You can capture the query for the current chart by selecting "More Actions" > "Connect to Power BI" on the top right of the chart. You have the option to select aggregated data, or raw events.
Leaders in your organization might want to have an easy-to-consume snapshot of your organization's overall health, and the Power BI connector enables you to create dashboards that display data from a varitey of sources -- operational data can be displayed along with information from finance and accounting.
Leaders in your organization might want to have an easy-to-consume snapshot of your organization's overall health, and the Power BI connector enables you to create dashboards that display data from a variety of sources -- operational data can be displayed along with information from finance and accounting.
![Power BI](assets/tsi-connect-powerbi.png)
## Wrap-up and Next steps <!-- omit in toc -->
During this step, you've explored Time Series Insights preview explorer's abilitiy to help in ad-hoc investigations.
During this step, you've explored Time Series Insights preview explorer's ability to help in ad-hoc investigations.
In the [next section](../step-step-003-anomaly-detection), we will enable anomaly detection using the Azure Stream Analytics and Event Hub services, and we will eventually visualize the anomalies in the TSI Explorer, along with the sensor telemetry.

Просмотреть файл

@ -40,7 +40,7 @@ In the section below, we are going to setup an Azure Stream Analytics job that i
* **Hosting environment**: Cloud.
* **Streaming units**: 1.
\
![Create a new Stream Analytics job - Infos](assets/stream-analytics-job-creation-info.png)
![Create a new Stream Analytics job - Information](assets/stream-analytics-job-creation-info.png)
1. You should see a 'Deployment started...' notification displayed in the top right of your browser window. It should only take a few seconds for it to indicate your job as successfully been created.

Просмотреть файл

@ -1,7 +1,6 @@
# Map visualization - Where are my parcels? <!-- omit in toc -->
Contoso Art Shipping is interested in being able to visualize in real-time the location of their assets, and XXX
XXX
Contoso Art Shipping is interested in being able to visualize in real-time the location of their assets. In the previous step, we've already taken care of storing the geographical position of the asset trackers and telemetry into Time Series Insights. We are now going to look at using the TSI JavaScript SDK to retrieve this data in a web page, and interactively display it on a map by using the Azure Maps Web SDK.
## Learning goals <!-- omit in toc -->
@ -12,7 +11,7 @@ XXX
* [Create an Azure Maps account](#create-an-azure-maps-account)
* [Setup your local development environment](#setup-your-local-development-environment)
* [Complete the Javascript code](#complete-the-javascript-code)
* [Complete the JavaScript code](#complete-the-javascript-code)
* [Replace global variables](#replace-global-variables)
* [Initialize the Maps component](#initialize-the-maps-component)
* [Create map layers, data sources, and mouse events](#create-map-layers-data-sources-and-mouse-events)
@ -29,7 +28,7 @@ You should be fine with the S0 pricing tier but feel free to go for an S1 subscr
### Setup your local development environment
1. If you haven't already, clone the current Git repository (`git clone TODO`), and navigate to the `step-004-map-visualization/webapp/` folder.
1. If you haven't already, clone the current Git repository (`git clone https://github.com/kartben/azure-iot-realtime-asset-tracking-workshop`), and navigate to the `step-004-map-visualization/webapp/` folder.
2. Open the Windows host file located `C:\Windows\System32\drivers\etc\hosts` (or `/etc/hosts` if you are on Linux or MacOS) and add a new line with the following information:
> `127.0.0.1 insights-local.timeseries.azure.com`
@ -40,13 +39,15 @@ You should be fine with the S0 pricing tier but feel free to go for an S1 subscr
5. Enter `npm start` (or `sudo npm start` if you are on Linux or MacOS).
At this point, you should have your web browser open at the URL: [https://insights-local.timeseries.azure.com/mapsexample.html](https://insights-local.timeseries.azure.com/mapsexample.html).
At this point, you should have your web browser open at the URL: [https://insights-local.timeseries.azure.com/mapsexample.html](https://insights-local.timeseries.azure.com/mapsexample.html). The application isn't functional just yet, as there is some code for you to complete!
Due to the way AAD TODO XXX.
> **_NOTE:_**
>
> This setup is necessary as we're authenticating against TSI using Azure Active Directory, using a globally registered AAD app that is expecting the web application to specifically run on https://insights-local.timeseries.azure.com. In a real-world scenario, you would probably want to [register your own application](https://docs.microsoft.com/en-us/azure/time-series-insights/time-series-insights-authentication-and-authorization).
### Complete the Javascript code
### Complete the JavaScript code
In this step, we are going to go through the key elements of the Javascript client code needed to display an interactive time series chart linked to a map.
In this step, we are going to go through the key elements of the JavaScript client code needed to display an interactive time series chart linked to a map.
There are several `TODO`s throughout the [`script.js`](./webapps/script.js) file.
@ -184,7 +185,7 @@ map.events.add('ready', function () {
In the previous step, you may have noticed that `mousemove` and `mouseout` events are calling `highlightMap` and `unhighlightMap` functions. Let's create them!
When a timestamp is highlighted, all shapes on the map except those with the specified timestamp will become semi transparent. Additionally, a popup will appear over the shape on the map and display the timestamp, temperature and humidty information. Copy the following into the onload event handler.
When a timestamp is highlighted, all shapes on the map except those with the specified timestamp will become semi transparent. Additionally, a popup will appear over the shape on the map and display the timestamp, temperature and humidity information. Copy the following into the onload event handler.
Replace the following section:
@ -417,7 +418,7 @@ Open a web browser and navigate to [https://insights-local.timeseries.azure.com/
Before we wrap up this section, here are a few ideas if you are interested in taking your application further:
* Consider adding a symbol layer to the map and dsiplay an icon or text above each bubble on the map.
* Consider adding a symbol layer to the map and display an icon or text above each bubble on the map.
* Consider adding creating a data range slider allowing to select a range of data to display. Update the chart and map accordingly.
* You could add a heat map layer to the map, together with simple controls for switching between the different map layer modes.
* If your Azure Maps Subscription is on S1 pricing tier, you can change your map style to satellite. Existing S0 subscriptions can be upgraded directly from the Azure portal.
@ -446,8 +447,8 @@ The next step will be led by your proctor. It will show you how you can integrat
-- reported location for the tracker in the past minute.
```
* How to use LogicApps to very simply turn the anomaly events into actual records in Contoso Art Shpping's ERP, which is powered by PowerApps and the Common Data Model.
* How to improve Contoso's exisiting mobile application with the insights we are now collecting.
* How to use LogicApps to very simply turn the anomaly events into actual records in Contoso Art Shipping's ERP, which is powered by PowerApps and the Common Data Model.
* How to improve Contoso's existing mobile application with the insights we are now collecting.
The solution we have started to build during this workshop looks pretty promising to Contoso's management. It integrates well with their existing applications, and they feel it can easily evolve as their business grows: Plug-and-Play provides them with the ability to onboard trackers from various manufacturers seamlessly, DPS helps them with scalable and secure provisioning workflows, etc. They are however wondering if they should really be managing their own IoT Hub, worry about scaling their Stream Analytics jobs up and down, etc.