Merge branch 'main' into lesson-15

pull/52/head
Jim Bennett 4 years ago
commit de22392405

@ -84,7 +84,7 @@ The Raspberry Pi is one of the most popular single-board computers.
Like a microcontroller, single-board computers have a CPU, memory and input/output pins, but they have additional features such as a graphics chip to allow you to connect monitors, audio outputs, and USB ports to connect keyboards mice and other standard USB devices like webcams or external storage. Programs are stored on SD cards or hard drives along with an operating system, instead of a memory chip built into the board.
> 🎓 You can think of a single-board computer as a smaller, cheaper version of the PC or Mac you are reading this on, with the addition of GPIO pins to interact with sensors and actuators.
> 🎓 You can think of a single-board computer as a smaller, cheaper version of the PC or Mac you are reading this on, with the addition of GPIO (general-purpose input/output) pins to interact with sensors and actuators.
SIngle-board computers are fully-featured computers, so can be programmed in any language. IoT devices are typically programmed in Python.
@ -92,7 +92,7 @@ SIngle-board computers are fully-featured computers, so can be programmed in any
All the subsequent lessons include assignments using an IoT device to interact with the physical world, and communicate with the cloud. Each lesson supports 3 device choices - Arduino (using a Seeed Studios Wio Terminal), or a single-board computer, either a physical device (a Raspberry Pi 4), or a virtual single-board computer running on your PC or Mac.
You can read about the hardware needed to complete all the assignments in the [hardware guide](../../hardware.md).
You can read about the hardware needed to complete all the assignments in the [hardware guide](../../../hardware.md).
> 💁 You don't need to purchase any IoT hardware to complete the assignments, you can do everything using a virtual single-board computer.
@ -164,7 +164,7 @@ Commercial IoT covers the use of IoT in the workplace. In an office setting ther
Industrial IoT, or IIoT, is the use of IoT devices to control and manage machinery on a large scale. This covers a wide range of use cases, from factories to digital agriculture.
Factories use IoT devices in many different ways. Machinery can be monitored with multiple sensors to track things like temperature, vibration and rotation speed. This data can then be monitored to allow the machine to be stopped if it goes outside of certain tolerances - it runs to hot and gets shut down for example. This data can also be gathered and analyzed over time to do predictive maintenance, where AI models will look at the data leading up to a failure, and use that to predict other failures before they happen.
Factories use IoT devices in many different ways. Machinery can be monitored with multiple sensors to track things like temperature, vibration and rotation speed. This data can then be monitored to allow the machine to be stopped if it goes outside of certain tolerances - it runs too hot and gets shut down for example. This data can also be gathered and analyzed over time to do predictive maintenance, where AI models will look at the data leading up to a failure, and use that to predict other failures before they happen.
Digital agriculture is important if the planet is to feed the growing population, especially for the 2 billion people in 500 million households that survive on [subsistence farming](https://wikipedia.org/wiki/Subsistence_agriculture). Digital agriculture can range from a few single digit dollar sensors, to massive commercial setups. A farmer can start by monitoring temperatures and using [growing degree days](https://wikipedia.org/wiki/Growing_degree-day) to predict when a crop will be ready for harvest. They can connect soil moisture monitoring to automated watering systems to give their plants as much water as is needed, but no more to ensure their crops don't dry out without wasting water. Farmers are even taking it further and using drones, satellite data and AI to monitor crop growth, disease and soil quality over huge areas of farmland.
@ -195,7 +195,7 @@ You'd be amazed by just how many IoT devices you have around you. I'm writing th
* Lights
* Fitness and health trackers
All these types of devices have sensors and/or actuators and talk to the Internet. I can tell from my phone if my garage door is open, and ask my smart speaker to close it for me. I can even set it to a timer so if it's still open at night, it will close automatically. When my doorbell rings, I can see from my phone who is there wherever I am in the world, and talk to them via a speaker and microphone built into the doorbell. I can monitor my blood glucose, heart rate and sleep patterns, looking for patterns in the data to improve my health. And I can control my lights via the cloud, and sit in the dark when my Internet connection goes down.
All these types of devices have sensors and/or actuators and talk to the Internet. I can tell from my phone if my garage door is open, and ask my smart speaker to close it for me. I can even set it to a timer so if it's still open at night, it will close automatically. When my doorbell rings, I can see from my phone who is there wherever I am in the world, and talk to them via a speaker and microphone built into the doorbell. I can monitor my blood glucose, heart rate and sleep patterns, looking for patterns in the data to improve my health. I can control my lights via the cloud, and sit in the dark when my Internet connection goes down.
---

@ -4,7 +4,7 @@
There are many large and small scale IoT projects being rolled out globally, from smart farms to smart cities, healthcare monitoring, transport, or the use of public spaces.
Search the web for details of a project that interests you, ideally one close you where you live. Explain the upsides and the downsides of the project, such as what benefit comes from it, any problems it causes and how privacy is taken into consideration.
Search the web for details of a project that interests you, ideally one close to where you live. Explain the upsides and the downsides of the project, such as what benefit comes from it, any problems it causes and how privacy is taken into consideration.
## Rubric

@ -262,7 +262,7 @@ The challenge in the last lesson was to list as many IoT devices as you can that
* Read the [Arduino getting started guide](https://www.arduino.cc/en/Guide/Introduction) to understand more about the Arduino platform.
* Read the [introduction to the Raspberry Pi 4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) to learn more about Raspberry Pis.
✅ Use these guides, along with the costs shown by following the links in the [hardware guide](../../hardware.md) to decide on what hardware platform you want to use, or if you would rather use a virtual device.
✅ Use these guides, along with the costs shown by following the links in the [hardware guide](../../../hardware.md) to decide on what hardware platform you want to use, or if you would rather use a virtual device.
## Assignment

@ -54,7 +54,7 @@ Sensors are either analog or digital.
Some of the most basic sensors are analog sensors. These sensors receive a voltage from the IoT device, the sensor components adjust this voltage, and the voltage that is returned from the sensor is measured to give the sensor value.
> 🎓 Voltage is a measure of how mush push there is to move electricity from one place to another, such as from a positive terminal of a battery to the negative terminal. For example, a standard AA battery is 1.5V (V is the symbol for volts), and can push electricity with the force of 1.5V from it's positive terminal to its negative terminal. Different electrical hardware requires different voltages to work, for example an LED can light with between 2-3V, but a 100W filament lightbulb would need 240V. You can read more about voltage on the [Voltage page on Wikipedia](https://wikipedia.org/wiki/Voltage).
> 🎓 Voltage is a measure of how much push there is to move electricity from one place to another, such as from a positive terminal of a battery to the negative terminal. For example, a standard AA battery is 1.5V (V is the symbol for volts), and can push electricity with the force of 1.5V from it's positive terminal to its negative terminal. Different electrical hardware requires different voltages to work, for example an LED can light with between 2-3V, but a 100W filament lightbulb would need 240V. You can read more about voltage on the [Voltage page on Wikipedia](https://wikipedia.org/wiki/Voltage).
One example of this is a potentiometer. This is a dial that you can rotate between two positions and the sensor measures the rotation.
@ -62,7 +62,7 @@ One example of this is a potentiometer. This is a dial that you can rotate betwe
***A potentiometer. Microcontroller by Template / dial by Jamie Dickinson - all from the [Noun Project](https://thenounproject.com)***
The IoT device will send an electrical signal to the potentiometer at a voltage, such as 5 volts (5V). As the potentiometer is adjusted it changes the voltage that comes out the other side. Imagine you have a potentiometer labelled as a dial that goes from 0 to [11](https://wikipedia.org/wiki/Up_to_eleven), such as a volume knob on an amplifier. When the potentiometer is in the full off position (0) then 0v (0 volts) will come out. When it is in the full on position (11), 5V (5 volts) will come out.
The IoT device will send an electrical signal to the potentiometer at a voltage, such as 5 volts (5V). As the potentiometer is adjusted it changes the voltage that comes out of the other side. Imagine you have a potentiometer labelled as a dial that goes from 0 to [11](https://wikipedia.org/wiki/Up_to_eleven), such as a volume knob on an amplifier. When the potentiometer is in the full off position (0) then 0v (0 volts) will come out. When it is in the full on position (11), 5V (5 volts) will come out.
> 🎓 This is an oversimplification, and you can read more on potentiometers and variable resistors on the [potentiometer Wikipedia page](https://wikipedia.org/wiki/Potentiometer).
@ -72,7 +72,7 @@ The voltage that comes out the sensor is then read by the IoT device, and the de
#### Analog to digital conversion
IoT devices are digital - they can't work with analog values, they only work with 0s and 1s. This means that analog sensor values need to be converted to a digital signal before they can be processed. Many IoT devices have analog-to-digital converters (ADCs) to convert analog inputs to digital representations of their value. Sensors can also work with ADCs via a connector board. For example, in the Seeed Grove ecosystem with a Raspberry Pi, analog sensors connect to specific ports on a 'hat' that sits on the Pi connected to the Pis GPIO pins, and this hat has an ADC to convert the voltage into a digital signal that can be sent of the Pi's GPIO pins.
IoT devices are digital - they can't work with analog values, they only work with 0s and 1s. This means that analog sensor values need to be converted to a digital signal before they can be processed. Many IoT devices have analog-to-digital converters (ADCs) to convert analog inputs to digital representations of their value. Sensors can also work with ADCs via a connector board. For example, in the Seeed Grove ecosystem with a Raspberry Pi, analog sensors connect to specific ports on a 'hat' that sits on the Pi connected to the Pi's GPIO pins, and this hat has an ADC to convert the voltage into a digital signal that can be sent off the Pi's GPIO pins.
Imagine you have an analog light sensor connected to an IoT device that uses 3.3V, and is returning a value of 1v. This 1v doesn't mean anything in the digital world, so needs to be converted. The voltage will be converted to an analog value using a scale depending on the device and sensor. One example is the Seeed Grove light sensor which outputs values from 0 to 1,023. For this sensor running at 3.3V, a 1v output would be a value of 300. An IoT device can't handle 300 as an analog value, so the value would be converted to `0000000100101100`, the binary representation of 300 by the Grove hat. This would then be processed by the IoT device.

@ -4,7 +4,7 @@ In this part of the lesson, you will add a light sensor to your Raspberry Pi.
## Hardware
The sensor for this lesson is a **light sensor** that uses a [photodiode](https://wikipedia.org/wiki/Photodiode) to convert light to an electrical signal. This is an analog sensor that sends an integer value from 0 to 1,000 indicating a relative amount of light that doesn't map to any standard unit of measurement such as [lux](https://wikipedia.org/wiki/Lux).
The sensor for this lesson is a **light sensor** that uses a [photodiode](https://wikipedia.org/wiki/Photodiode) to convert light to an electrical signal. This is an analog sensor that sends an integer value from 0 to 1,023 indicating a relative amount of light that doesn't map to any standard unit of measurement such as [lux](https://wikipedia.org/wiki/Lux).
The light sensor is an eternal Grove sensor and needs to be connected to the Grove Base hat on the Raspberry Pi.

@ -1,14 +1,14 @@
# Transport from farm to factory - using IoT to track food deliveries
Many farmers grow food to sell - either they are commercial growers who sell everything they grow, or they are subsistence farmers who sell their excess produce to buy necessities. Somehow the food has to get from the farm to the consumer, and this is usually relies on bulk transport from farms, to hubs or processing plants, then on to stores. For example, a tomato farmer will harvest tomatoes, pack them into boxes, load the boxes into a truck then deliver to a processing plant. The tomatoes will then be sorted, and from there delivered to the customers in the form of retail, food processing, or restaurants.
Many farmers grow food to sell - either they are commercial growers who sell everything they grow, or they are subsistence farmers who sell their excess produce to buy necessities. Somehow the food has to get from the farm to the consumer, and this usually relies on bulk transport from farms, to hubs or processing plants, then on to stores. For example, a tomato farmer will harvest tomatoes, pack them into boxes, load the boxes into a truck then deliver to a processing plant. The tomatoes will then be sorted, and from there delivered to the consumers in the form of retail, food processing, or restaurants.
IoT can help with this supply chain by tracking the food in transit - ensuring drivers are going where they should, monitoring vehicle locations, and getting alerts when vehicles arrive so that food can be unloaded ready for processing as soon as possible.
IoT can help with this supply chain by tracking the food in transit - ensuring drivers are going where they should, monitoring vehicle locations, and getting alerts when vehicles arrive so that food can be unloaded, ready for processing as soon as possible.
> 🎓 A *supply chain* is the sequence of activities to make and deliver something. For example, in tomato farming it covers seed, soil, fertilizer and water supply, growing tomatoes, delivering tomatoes to a central hub, transporting them to a supermarkets local hub, transporting to the individual supermarket, being put out on display, then sold to a consumer and taken home to eat. Each step is like the links in a chain.
> 🎓 The transportation part of the supply chain is know as *logistics*.
In these 4 lessons you'll learn how to apply the Internet of Things to improve the supply chain by monitoring food as it is loaded onto a (virtual) truck which is tracked as it moves to it's destination. You will learn about GPS tracking, how to store and visualize GPS data, and how to be alerted when a truck arrives at its destination.
In these 4 lessons, you'll learn how to apply the Internet of Things to improve the supply chain by monitoring food as it is loaded onto a (virtual) truck, which is tracked as it moves to it's destination. You will learn about GPS tracking, how to store and visualize GPS data, and how to be alerted when a truck arrives at its destination.
> 💁 These lessons will use some cloud resources. If you don't complete all the lessons in this project, make sure you [Clean up your project](../clean-up.md).

@ -10,7 +10,7 @@
![Under development animated GIF](https://media.giphy.com/media/3o7qE1YN7aBOFPRw8E/giphy.gif)
**This repo is heavily under development. Check back soon for more updates.**
**This repo is under heavy development. Check back soon for more updates.**
# IoT for Beginners - A Curriculum

@ -4,7 +4,7 @@ We welcome translations for the lessons in this curriculum!
## Guidelines
There are [**translations**](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started/1-intro-to-programming-languages/translations) folders which contain the translated markdown files.
There are [**translations**](https://github.com/microsoft/IoT-For-Beginners/tree/main/1-getting-started/lessons/1-introduction-to-iot/translations) folders which contain the translated markdown files.
Translated lessons should follow this naming convention:
@ -12,10 +12,10 @@ Translated lessons should follow this naming convention:
where _[language]_ is a two letter language abbreviation following the ISO 639-1 standard (e.g. `README.es.md` for Spanish and `README.nl.md` for Dutch).
**Quizzes**
## Quizzes
Add your translation to the quiz-app by adding a file here: https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/quiz-app/src/assets/translations. Please don't localize the words 'true' or 'false' however. thanks!
Add your translation to the quiz-app by adding a file here: https://github.com/microsoft/IoT-For-Beginners/tree/main/quiz-app/src/assets/translations. Please don't localize the words 'true' or 'false' however. thanks!
**THANK YOU**
## THANK YOU
We truly appreciate your efforts!

@ -13,9 +13,9 @@ In the lessons for each project, you may have created some of the following:
* A custom vision project
* A cognitive services resource
Most of these resources will have no cost, either they are completely free, or you are using a free tier. For services that require a paid tier, you would have been using them at a level that is included in the free allowance, or will only cost a few cents.
Most of these resources will have no cost - either they are completely free, or you are using a free tier. For services that require a paid tier, you would have been using them at a level that is included in the free allowance, or will only cost a few cents.
Even with the relatively low costs, it's worth deleting these resources when you are finished. You can only have one IoT Hub using the free tier for example, so if you want to create another you will need to use a paid tier.
Even with the relatively low costs, it's worth deleting these resources when you are done. You can only have one IoT Hub using the free tier for example, so if you want to create another you will need to use a paid tier.
All your services were created inside Resource Groups, and this makes it easier to manage. You can delete the Resource Group, and all the services in that Resource Group will be deleted along with it.
@ -35,4 +35,4 @@ Are you sure you want to perform this operation? (y/n):
Enter `y` to confirm and delete the Resource Group.
This will take a while to delete all the services.
It will take a while to delete all the services.

@ -1,8 +1,8 @@
# Hardware
The **T** in IoT is **Things** and refers to devices that interact with the world around us. Each project is based around real-world hardware available to students and hobbyists. We have two choices of IoT hardware to use depending on personal preference, programming language knowledge or preferences, learning goals and availability. We have also provided a 'virtual hardware' version for those who don't have access to hardware, or want to learn more before committing to a purchase.
The **T** in IoT is **Things** and refers to devices that interact with the world around us. Each project is based on real-world hardware available to students and hobbyists. We have two choices of IoT hardware to use depending on personal preference, programming language knowledge or preferences, learning goals and availability. We have also provided a 'virtual hardware' version for those who don't have access to hardware, or want to learn more before committing to a purchase.
> 💁 You don't need to purchase any IoT hardware to complete the assignments, you can do everything using virtual IoT hardware.
> 💁 You don't need to purchase any IoT hardware to complete the assignments. You can do everything using virtual IoT hardware.
The physical hardware choices are Arduino, or Raspberry Pi. Each platform has it's own upsides and downsides, and these are all covered in one of the initial lessons. Review that lesson to decide which hardware platform you are most interested in learning.
@ -33,9 +33,9 @@ All the device code for Raspberry Pi is in Python. To complete all the assignmen
### Raspberry Pi hardware
* [Raspberry Pi](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/)
> 💁 Versions from the Pi 2B and up should work with the assignments in these lessons.
> 💁 Versions from the Pi 2B and above should work with the assignments in these lessons.
* SD Card (You can get Raspberry Pi kits that come with an SD Card)
* USB power supply (You can get Raspberry Pi 4 kits that come with a power supply). If you are using a Raspberry Pi 4 you need a USB-C power supply, earlier device need a micro-USB power supply
* USB power supply (You can get Raspberry Pi 4 kits that come with a power supply). If you are using a Raspberry Pi 4 you need a USB-C power supply, earlier devices need a micro-USB power supply
### Raspberry Pi specific sensors and actuators
@ -52,7 +52,7 @@ These are specific to using the Raspberry Pi, and are not relevant to using the
## Sensors and actuators
Most of the sensors and actuators needed are used by both the Arduino and Raspberry Pi paths:
Most of the sensors and actuators needed are used by both the Arduino and Raspberry Pi learning paths:
* [Grove LED](https://www.seeedstudio.com/Grove-LED-Pack-p-4364.html) x 2
* [Grove humidity and temperature sensor](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html)

@ -0,0 +1,51 @@
# [Lesson Topic]
![Embed a video here](video-url)
## [Pre-lecture quiz](quiz-url)
[Describe what we will learn]
### Introduction
Describe what will be covered
> Notes
### Prerequisite
What steps should have been covered before this lesson?
### Preparation
Preparatory steps to start this lesson
---
[Step through content in blocks]
## [Topic 1]
### Task:
Work together to progressively enhance your codebase to build the project with shared code:
```html
code blocks
```
✅ Knowledge Check - use this moment to stretch students' knowledge with open questions
## [Topic 2]
## [Topic 3]
🚀 Challenge: Add a challenge for students to work on collaboratively in class to enhance the project
Optional: add a screenshot of the completed lesson's UI if appropriate
## [Post-lecture quiz](quiz-url)
## Review & Self Study
**Assignment Due [MM/YY]**: [Assignment Name](assignment.md)

@ -0,0 +1,9 @@
# [Assignment Name]
## Instructions
## Rubric
| Criteria | Exemplary | Adequate | Needs Improvement |
| -------- | --------- | -------- | ----------------- |
| | | | |

@ -0,0 +1,51 @@
# [पाठ विषय]
![यहां एक वीडियो एम्बेड करें](video-url)
## [पूर्व-पठन क्विज़](quiz-url)
[वर्णन करें कि हम क्या सीखेंगे]
### परिचय
वर्णन करें कि क्या कवर किया जाएगा
> टिप्पणियाँ
### शर्त
इस पाठ से पहले क्या कदम उठाए जाने चाहिए थे?
### तैयारी
इस पाठ को शुरू करने के लिए प्रारंभिक कदम
---
[ब्लॉकों में सामग्री के माध्यम से कदम]
## [विषय १]
### कार्य:
साझा कोड के साथ प्रोजेक्ट बनाने के लिए अपने कोडबेस को उत्तरोत्तर बढ़ाने के लिए मिलकर काम करें:
```html
code blocks
```
✅ नॉलेज चेक - इस पल का उपयोग खुले प्रश्नों के साथ छात्रों के ज्ञान को फैलाने के लिए करें
## [विषय २]
## [विषय ३]
🚀 चुनौती: परियोजना को बढ़ाने के लिए कक्षा में सहयोगी रूप से काम करने के लिए छात्रों के लिए एक चुनौती जोड़ें
वैकल्पिक: उपयुक्त होने पर पूर्ण पाठ के UI का स्क्रीनशॉट जोड़ें
## [पोस्ट-व्याख्यान प्रश्नोत्तरी](quiz-url)
## समीक्षा और स्व अध्ययन
**बाकी असाइनमेंट [MM/YY]**: [असाइनमेंटका नाम](assignment.hi.md)

@ -0,0 +1,9 @@
# [असाइनमेंटका नाम]
## अनुदेश
## शीर्ष
| मानदंड | उदाहरणात्मक | पर्याप्त | सुधार की जरूरत |
| ------ | ----------- | -------- | -------------- |
| | | | |
Loading…
Cancel
Save