IoT-For-Beginners README

The project's README from github.com/microsoft/IoT-For-Beginners. As one markdown file: README.md.

GitHub license GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

Join the Azure AI Foundry Community

If you get stuck or have any questions about building AI apps. Join fellow learners and experienced developers in discussions about MCP. It's a supportive community where questions are welcome and knowledge is shared freely.

Microsoft Foundry Discord

If you have product feedback or errors while building visit:

Microsoft Foundry Developer Forum

Follow these steps to get started using these resources:

  1. Fork the Repository: Click GitHub forks
  2. Clone the Repository: git clone https://github.com/microsoft/IoT-For-Beginners.git
  3. Join The Microsot Foundry Discord and meet experts and fellow developers

🌐 Multi-Language Support

Supported via GitHub Action (Automated & Always Up-to-Date)

Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese

Prefer to Clone Locally?

This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
cd IoT-For-Beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD (Windows):

git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
cd IoT-For-Beginners
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

This gives you everything you need to complete the course with a much faster download.

IoT for Beginners - A Curriculum

Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about IoT basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.

The projects cover the journey of food from farm to table. This includes farming, logistics, manufacturing, retail and consumer - all popular industry areas for IoT devices.

A road map for the course showing 24 lessons covering intro, farming, transport, processing, retail and cooking

Sketchnote by Nitya Narasimhan. Click the image for a larger version.

Hearty thanks to our authors Jen Fox, Jen Looper, Jim Bennett, and our sketchnote artist Nitya Narasimhan.

Thanks as well to our team of Microsoft Learn Student Ambassadors who have been reviewing and translating this curriculum - Aditya Garg, Anurag Sharma, Arpita Das, Aryan Jain, Bhavesh Suneja, Faith Hunja, Lateefah Bello, Manvi Jha, Mireille Tan, Mohammad Iftekher (Iftu) Ebne Jalal, Mohammad Zulfikar, Priyanshu Srivastav, Thanmai Gowducheruvu, and Zina Kamel.

Meet the team!

Promo video

Gif by Mohit Jaisal

🎥 Click the image above for a video about the project!

Teachers, we have included some suggestions on how to use this curriculum. If you would like to create your own lessons, we have also included a lesson template.

Students, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend Microsoft Learn.

For a video overview of this course, check out this video:

Promo video

🎥 Click the image above for a video about the project!

Pedagogy

We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a plant monitoring and watering system, a vehicle tracker, a smart factory setup to track and check food, and a voice-controlled cooking timer, and will have learned the basics of the Internet of Things including how to write device code, connect to the cloud, analyze telemetry and run AI on the edge.

By ensuring that the content aligns with projects, the process is made more engaging for students and retention of concepts will be augmented.

In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 12 week cycle.

Each project is based around real-world hardware available to students and hobbyists. Each project looks into the specific project domain, providing relevant background knowledge. To be a successful developer it helps to understand the domain in which you are solving problems, providing this background knowledge allows students to think about their IoT solutions and learnings in the context of the kind of real-world problem that they might be asked to solve as an IoT developer. Students learn the 'why' of the solutions they are building, and get an appreciation of the end user.

Hardware

We have two choices of IoT hardware to use for the projects 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 can read more and find a 'shopping list' on the hardware page, including links to buy complete kits from our friends at Seeed Studio.

💁 Find our Code of Conduct, Contributing, and Translations guidelines. We welcome your constructive feedback!

🔧 Having issues? Check out our Troubleshooting Guide for solutions to common problems.

Each lesson includes:

A note about quizzes: All quizzes are contained in the quiz-app folder, for 48 total quizzes of three questions each. They are linked from within the lessons but the quiz app can be run locally or deployed to Azure; follow the instruction in the quiz-app folder. They are gradually being localized.

Lessons

Project Name Concepts Taught Learning Objectives Linked Lesson
01 Getting started Introduction to IoT Learn the basic principles of IoT and the basic building blocks of IoT solutions such as sensors and cloud services whilst you are setting up your first IoT device Introduction to IoT
02 Getting started A deeper dive into IoT Learn more about the components of an IoT system, as well as microcontrollers and single-board computers A deeper dive into IoT
03 Getting started Interact with the physical world with sensors and actuators Learn about sensors to gather data from the physical world, and actuators to send feedback, whilst you build a nightlight Interact with the physical world with sensors and actuators
04 Getting started Connect your device to the Internet Learn about how to connect an IoT device to the Internet to send and receive messages by connecting your nightlight to an MQTT broker Connect your device to the Internet
05 Farm Predict plant growth Learn how to predict plant growth using temperature data captured by an IoT device Predict plant growth
06 Farm Detect soil moisture Learn how to detect soil moisture and calibrate a soil moisture sensor Detect soil moisture
07 Farm Automated plant watering Learn how to automate and time watering using a relay and MQTT Automated plant watering
08 Farm Migrate your plant to the cloud Learn about the cloud and cloud-hosted IoT services and how to connect your plant to one of these instead of a public MQTT broker Migrate your plant to the cloud
09 Farm Migrate your application logic to the cloud Learn about how you can write application logic in the cloud that responds to IoT messages Migrate your application logic to the cloud
10 Farm Keep your plant secure Learn about security with IoT and how to keep your plant secure with keys and certificates Keep your plant secure
11 Transport Location tracking Learn about GPS location tracking for IoT devices Location tracking
12 Transport Store location data Learn how to store IoT data to be visualized or analysed later Store location data
13 Transport Visualize location data Learn about visualizing location data on a map, and how maps represent the real 3d world in 2 dimensions Visualize location data
14 Transport Geofences Learn about geofences, and how they can be used to alert when vehicles in the supply chain are close to their destination Geofences
15 Manufacturing Train a fruit quality detector Learn about training an image classifier in the cloud to detect fruit quality Train a fruit quality detector
16 Manufacturing Check fruit quality from an IoT device Learn about using your fruit quality detector from an IoT device Check fruit quality from an IoT device
17 Manufacturing Run your fruit detector on the edge Learn about running your fruit detector on an IoT device on the edge Run your fruit detector on the edge

IoT-For-Beginners (microsoft/IoT-For-Beginners)

Searching Database…

这是什么?这是微软 Azure 云布道师推出的一套免费开源课程,共 12 周、24 节课,讲解物联网(IoT)基础,通过动手做项目的方式来学习。
它是需要安装的应用,还是一门可以阅读的课程?它是一门课程,内容放在 GitHub 仓库里——不需要安装任何东西。每节课配有文字教材、课前和课后测验、一个挑战任务、一份作业;项目类的课程还附有分步搭建指南和参考答案。
我已经克隆下来了,接下来该做什么?按课程顺序一节一节学:先做课前测验,再阅读课程内容,然后完成练习和作业。参考答案代码放在每个项目课程的 /solutions 文件夹里,课程还建议大家可以组个学习小组一起学。
跟着学需要买硬件吗?不一定。课程提供了两种硬件方案,适合不同的偏好和预算;如果你暂时没有设备,还有虚拟硬件版本可用。硬件页面还提供了购物清单,以及 Seeed Studio 的整套开发套件链接。
这个仓库克隆下来有多大?挺大的:仓库里自带 50 多种语言的翻译版本(从阿拉伯语到越南语都有),并通过一个 GitHub Action 保持更新。文档里提供了一个稀疏检出(sparse-checkout)命令,可以跳过这些翻译文件,克隆速度会快很多。
我从来没碰过硬件,学这个合适吗?合适——这门课就是为初学者设计的:先讲物联网基础知识,之后才接触硬件,项目难度循序渐进,第一个项目简单到只是一个小夜灯。
这 12 周我到底会做出什么项目?围绕食物从农场到餐桌的旅程,有四个主打项目:植物监测与自动浇水系统、车辆追踪器、能追踪和检测食品的智能工厂方案,以及一个语音控制的烹饪计时器。
课程是怎么安排的?12 周共 24 节课,按供应链环节分组:先学物联网基础知识,然后是农场(土壤湿度、自动浇水、上云)、运输(GPS 追踪、地理围栏)和制造(水果品质图像分类器,包括在边缘设备上运行)。
课程里老是提到测验,测验是怎么做的?全部 48 套测验(每套 3 道题)都放在 quiz-app 文件夹里,并从各节课链接过去;这个应用可以在本地运行,也可以部署到 Azure,它的多语言版本正在逐步添加中。
我想拿它给自己班上的学生上课,可以吗?可以——仓库里附有给教师的课程使用建议,如果你想自己写课程,还提供了一节课的模板。
Creator
microsoft
Size
3.3 GB
Stars
17.2K
Updated
CommitMay 26
Age
5y
Commits · 90 Days