Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Bugfix/Januarytestfix #50

Merged
merged 6 commits into from
Jan 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 2 additions & 6 deletions Hands-on lab/Before the HOL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Before the hands-on lab setup guide
</div>

<div class="MCWHeader3">
December 2019
January 2020
</div>

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Expand All @@ -18,7 +18,7 @@ Microsoft may have patents, patent applications, trademarks, copyrights, or othe

The names of manufacturers, products, or URLs are provided for informational purposes only and Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is not responsible for the contents of any linked site or any link contained in a linked site, or any changes or updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission received from any linked site. Microsoft is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement of Microsoft of the site or the products contained therein.

© 2019 Microsoft Corporation. All rights reserved.
© 2020 Microsoft Corporation. All rights reserved.

Microsoft and the trademarks listed at <https://www.microsoft.com/en-us/legal/intellectualproperty/Trademarks/Usage/General.aspx> are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.# IoT for business setup

Expand Down Expand Up @@ -71,10 +71,6 @@ Microsoft and the trademarks listed at <https://www.microsoft.com/en-us/legal/in

- <https://www.visualstudio.com/vs/>

- Azure development workload for Visual Studio 2019

- <https://docs.microsoft.com/azure/azure-functions/functions-develop-vs#prerequisites>

- .NET desktop development workload for Visual Studio 2019

- ASP.NET and web development workload for Visual Studio 2019
Expand Down
244 changes: 135 additions & 109 deletions Hands-on lab/HOL step-by-step - IoT and the Smart City.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"Version": "0.0.1",
"Name": "Traffic Light",
"Description": "Traffic light with state and maintenance data",
"Protocol": "AMQP",
"Protocol": "MQTT",
"Simulation": {
"InitialState": {
"online": true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"Version": "0.0.1",
"Name": "Traffic Light",
"Description": "Failing traffic light with voltage too high",
"Protocol": "AMQP",
"Protocol": "MQTT",
"Simulation": {
"InitialState": {
"online": true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM microsoft/dotnet:2.2-sdk AS build-env
FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app

COPY *.csproj ./
Expand All @@ -7,7 +7,7 @@ RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-runtime
FROM microsoft/dotnet:2.1-runtime
WORKDIR /app
COPY --from=build-env /app/out ./

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM microsoft/dotnet:2.2-runtime-stretch AS base
FROM microsoft/dotnet:2.1-runtime-stretch AS base

RUN apt-get update && \
apt-get install -y --no-install-recommends unzip procps && \
Expand All @@ -8,7 +8,7 @@ RUN useradd -ms /bin/bash moduleuser
USER moduleuser
RUN curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg

FROM microsoft/dotnet:2.2-sdk AS build-env
FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app

COPY *.csproj ./
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM microsoft/dotnet:2.2-sdk AS build-env
FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app

COPY *.csproj ./
Expand All @@ -7,7 +7,7 @@ RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-runtime-stretch-slim-arm32v7
FROM microsoft/dotnet:2.1-runtime-stretch-slim-arm32v7
WORKDIR /app
COPY --from=build-env /app/out ./

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM microsoft/dotnet:2.2-sdk AS build-env
FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app

COPY *.csproj ./
Expand All @@ -7,7 +7,7 @@ RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-runtime
FROM microsoft/dotnet:2.1-runtime
WORKDIR /app
COPY --from=build-env /app/out ./
ENTRYPOINT ["dotnet", "VehicleTelemetrySimulator.dll"]
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netcoreapp2.0|AnyCPU'">
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Fabrikam City council has conducted a six-month study of new and emerging techno

At the conclusion of their study, the city council realized that the Internet of Things (IoT) is widely available and are becoming more integrated into our daily lives. Fabrikam City can capitalize on the wide availability and affordability of IoT devices. This means physical things like traffic lights and vehicles will be able to collect and share data by connecting to the Internet. Through analytics, cities can turn this data into intelligent information that will change the way the world works.

December 2019
January 2020

## Target audience
- Application developer
Expand All @@ -14,9 +14,9 @@ December 2019

### Workshop

In this workshop you will use the unique benefits of Internet of Things (IoT) to build a smart city solution to help improve traffic and public transportation in Fabrikam City. Use a combination of the power of the cloud, along with IoT Edge devices to provide anomaly detection from city buses, engine anomaly alerts and aggressive driving detection, location broadcasting to update bus route status, and to send traffic information to help inform the timing of traffic lights. Traffic lights will also receive new IoT devices that can help detect maintenance and performance issues, such as voltage irregularities. Easily view all of this information through a centralized reporting dashboard provided by Azure Time Series Insights. Use the IoT Remote Monitoring accelerator to manage and simulate IoT devices, set alerts, and view data on a map.
In this workshop you will use the unique benefits of Internet of Things (IoT) to build a smart city solution to help improve traffic and public transportation in Fabrikam City. Use a combination of the power of the cloud, along with IoT Edge devices to provide anomaly detection from city buses, including engine anomaly alerts and aggressive driving detection, as well as location broadcasting to update bus route status. Traffic lights will also receive new IoT devices that can help detect maintenance and performance issues, such as voltage irregularities. Easily view all of this information through a centralized reporting dashboard provided by the Azure Remote Monitoring Accelerator web application. Use the IoT Remote Monitoring accelerator to manage and simulate IoT devices, set alerts, and view data on a map.

By the end of this workshop, you will learn to use IoT Hub to manage IoT devices, configure and run the IoT Remote Monitoring accelerator to provision, manage, and simulate telemetry for IoT devices via IoT Hub SDKs, use Azure IoT Edge to collect vehicle telemetry data, detect anomalies, and send the summarized data to Azure IoT Hub as needed. In addition, you'll route critical alerts to a Service Bus Queue, create an Azure function that extracts critical alerts from the Service Bus Queue and stores them in Cosmos DB, as well as use Azure Time Series Insights to store, visualize, and query the large amounts of time series data generated by various IoT devices and conduct root-cause analysis and anomaly detection.
By the end of this workshop, you will learn to use IoT Hub to manage IoT devices, configure and run the IoT Remote Monitoring accelerator to provision, manage, and simulate telemetry for IoT devices, use Azure IoT Edge to collect vehicle telemetry data, detect anomalies, and send the summarized data to Azure IoT Hub as needed. In addition, you'll route critical alerts to a Service Bus Queue, create an Azure function that extracts critical alerts from the Service Bus Queue and stores them in Cosmos DB, as well as use Azure Time Series Insights to store, visualize, and query the large amounts of time series data generated by various IoT devices and conduct root-cause analysis and anomaly detection.

### Whiteboard design session

Expand All @@ -26,7 +26,7 @@ At the end of this whiteboard design session, you will be better able to design

### Hands-on lab

In this hands-on-lab, you will build an end-to-end smart city solution, beginning with IoT Edge devices deployed with modules that you create which intelligently filters vehicle telemetry data for anomalies and transmits the related data to IoT Hub. IoT Hub is responsible for managing IoT devices and facilitating two-way communication between those devices and Azure services. The telemetry data will be stored in Time Series Insights, and all critical data will also flow through an Azure Function that routes critical alerts to a Service Bus Queue for separate processing and storage. You will deploy and configure a remote monitoring accelerator solution that includes a web portal that displays all IoT data on a map and displays alerts based on preconfigured rules for each type of IoT device. You will also use this portal to configure IoT devices and send control messages to them via IoT Hub.
In this hands-on-lab, you will build an end-to-end smart city solution, beginning with IoT Edge devices deployed with modules that you create which intelligently filters vehicle telemetry data for anomalies and transmits the related data to IoT Hub. IoT Hub is responsible for managing IoT devices and facilitating two-way communication between those devices and Azure services. The telemetry data will be stored in Time Series Insights, and all critical data will also flow through an Azure Function that routes critical alerts to a Service Bus Queue for separate processing and storage. You will deploy and configure a remote monitoring accelerator solution that includes a web portal that displays all IoT data on a map and displays alerts based on pre-configured rules for each type of IoT device. You will also use this portal to configure IoT devices and send control messages to them via IoT Hub.

At the end of this hands-on lab, you will be better able to build an end-to-end IoT solution that processes and analyzes data both in the field and in the cloud.

Expand Down Expand Up @@ -54,7 +54,7 @@ We welcome feedback and comments from Microsoft SMEs & learning partners who del
***Having trouble?***
- First, verify you have followed all written lab instructions (including the Before the Hands-on lab document).
- Next, submit an issue with a detailed description of the problem.
- Do not submit pull requests. Our content authors will make all changes and submit pull requests for approval.
- Do not submit pull requests. Our content authors will make all changes and submit pull requests for approval.

If you are planning to present a workshop, *review and test the materials early*! We recommend at least two weeks prior.

Expand Down