标签归档:iot

IoT-For-Beginners-面向初学者的物联网课程

微软的Azure云倡导者很高兴提供为期12周、24节课的IoT基础知识课程。每节课包括课前和课后测验、完成课程的书面说明、解决方案、作业等。我们的基于项目的教学法允许您边学边建,这是一种行之有效的新技能“坚持”的方法

这些项目涵盖了食物从农场到餐桌的旅程。这包括农业、物流、制造业、零售业和消费业-所有这些领域都是物联网设备的热门行业领域

衷心感谢我们的作者Jen FoxJen LooperJim Bennett,和我们的素描艺术家Nitya Narasimhan

也感谢我们的团队Microsoft Learn Student Ambassadors他们一直在审阅和翻译这门课程-Aditya GargAnurag SharmaArpita DasAryan JainBhavesh SunejaFaith HunjaLateefah BelloManvi JhaMireille TanMohammad Iftekher (Iftu) Ebne JalalMohammad ZulfikarPriyanshu SrivastavThanmai Gowducheruvu,以及Zina Kamel

见见团队吧!

教师,我们有included some suggestions如何使用这门课程。如果您想创建您自己的课程,我们还提供了一个lesson template

学生,自学使用本课程,分叉整个回购,自己完成练习,先从讲前小考开始,然后朗读讲座,完成活动的睡觉。尝试通过理解课程而不是复制解决方案代码来创建项目;但是,在每个面向项目的课程的/Solutions文件夹中都可以找到该代码。另一个想法是和朋友们组成一个学习小组,一起学习内容。为了进一步研究,我们建议Microsoft Learn

有关本课程的视频概述,请查看此视频:

🎥点击上面的图片观看关于该项目的视频!

教育学

在构建这门课程时,我们选择了两个教学原则:确保它是基于项目的,并包括频繁的测验。到本系列结束时,学生们将构建植物监控和浇水系统、车辆跟踪器、用于跟踪和检查食物的智能工厂设置以及声控烹饪定时器,并将学习物联网的基础知识,包括如何编写设备代码、连接到云、分析遥测和在边缘运行人工智能

通过确保内容与项目一致,这一过程对学生来说更具吸引力,并将增加对概念的保留

此外,课前的一次低风险的测验可以确定学生学习某一主题的意图,而课后的第二次测验可以确保学生更好地记住某一主题。本课程设计灵活有趣,可以全部或部分选修。这些项目一开始规模很小,到12周周期结束时变得越来越复杂。

每个项目都基于学生和业余爱好者可用的真实硬件。每个项目都着眼于特定的项目领域,提供相关的背景知识。要成为一名成功的开发人员,了解您正在解决问题的领域是很有帮助的,只要提供此背景知识,学生就可以在他们作为物联网开发人员可能被要求解决的那种现实世界问题的背景下思考他们的物联网解决方案和学习。学生了解他们正在构建的解决方案的“原因”,并了解最终用户

硬件

我们有两种物联网硬件可供选择,具体取决于个人偏好、编程语言知识或偏好、学习目标和可用性。我们还为那些无法访问硬件或想要在承诺购买之前了解更多信息的人提供了一个“虚拟硬件”版本。你可以阅读更多,并在网上找到一份“购物清单”。hardware page,包括从Seeed Studio的朋友那里购买完整套件的链接

💁找到我们的Code of ConductContributing,以及Translation指导方针。我们欢迎您的建设性意见!

每节课包括:

  • 草图注释
  • 可选补充视频
  • 课前热身测验
  • 书面课
  • 有关基于项目的课程,请参阅有关如何生成项目的分步指南
  • 知识检查
  • 一项挑战
  • 补充阅读
  • 作业
  • 课后测验

关于测验的一个注解:所有的测验都包含在内in this app,共48个测验,每个测验3个问题。它们是从课程内部链接的,但测验应用程序可以在本地运行;请按照中的说明进行操作quiz-app文件夹。他们正在逐渐本地化。

课程

项目名称 教授的概念 学习目标 链接的课程
01 Getting started 物联网简介 在设置您的第一台物联网设备时,了解物联网的基本原理以及物联网解决方案的基本构建块,如传感器和云服务 Introduction to IoT
02 Getting started 更深入地研究物联网 了解有关物联网系统组件以及微控制器和单板计算机的更多信息 A deeper dive into IoT
03 Getting started 通过传感器和执行器与物理世界交互 了解用于从物理世界收集数据的传感器和用于发送反馈的执行器,同时构建夜灯 Interact with the physical world with sensors and actuators
04 Getting started 将您的设备连接到互联网 通过将夜灯连接到MQTT代理,了解如何将物联网设备连接到Internet以发送和接收消息 Connect your device to the Internet
05 Farm 预测植物生长 了解如何使用物联网设备捕获的温度数据预测植物生长 Predict plant growth
06 Farm 检测土壤水分 了解如何检测土壤水分和校准土壤水分传感器 Detect soil moisture
07 Farm 植物自动浇水 了解如何使用继电器和MQTT自动和定时浇水 Automated plant watering
08 Farm 将您的工厂迁移到云 了解云和云托管的物联网服务,以及如何将您的工厂连接到这些服务之一,而不是公共MQTT代理 Migrate your plant to the cloud
09 Farm 将您的应用程序逻辑迁移到云 了解如何在云中编写响应物联网消息的应用程序逻辑 Migrate your application logic to the cloud
10个 Farm 确保您的工厂安全 了解物联网的安全性,以及如何使用密钥和证书保护您的工厂安全 Keep your plant secure
11个 Transport 位置跟踪 了解物联网设备的GPS位置跟踪 Location tracking
12个 Transport 存储位置数据 了解如何存储物联网数据以便稍后可视化或分析 Store location data
13个 Transport 可视化位置数据 了解有关在地图上可视化位置数据以及地图如何以2维形式表示真实3D世界的信息 Visualize location data
14. Transport 土工栅栏 了解GeoFence,以及如何使用它们在供应链中的车辆接近目的地时发出警报 Geofences
15个 Manufacturing 培训一名水果质量检测员 了解有关在云中培训图像分类器以检测水果质量的信息 Train a fruit quality detector
16个 Manufacturing 通过物联网设备检查水果质量 了解如何使用物联网设备上的水果质量检测仪 Check fruit quality from an IoT device
17. Manufacturing 在边缘运行你的水果探测器 了解有关在边缘的物联网设备上运行水果检测器的信息 Run your fruit detector on the edge
18岁 Manufacturing 从传感器触发水果质量检测 了解如何从传感器触发水果质量检测 Trigger fruit quality detection from a sensor
19个 Retail 培训一名库存检验员 了解如何使用对象检测来训练库存检测器清点商店中的库存 Train a stock detector
20个 Retail 检查物联网设备的库存 了解如何使用对象检测模型检查物联网设备的库存 Check stock from an IoT device
21岁 Consumer 使用物联网设备识别语音 了解如何识别来自物联网设备的语音以构建智能计时器 Recognize speech with an IoT device
22 Consumer 理解语言 了解如何理解对物联网设备说的句子 Understand language
23个 Consumer 设置计时器并提供语音反馈 了解如何在物联网设备上设置计时器,并就计时器何时设置和何时结束提供口头反馈 Set a timer and provide spoken feedback
24个 Consumer 支持多种语言 了解如何支持多种语言,包括与您的智能计时器对话和从您的智能计时器响应 Support multiple languages

脱机访问

您可以使用以下命令脱机运行此文档Docsify分叉这个回购,install Docsify在本地计算机上,然后在此存储库的根文件夹中键入docsify serve该网站将在您的本地主机上的端口3000上提供服务:localhost:3000

PDF格式

如果需要,您可以生成此内容的PDF以供脱机访问。要做到这一点,请确保您拥有npm installed并在此存储库的根文件夹中运行以下命令:

npm i
npm run convert

需要帮助!

你愿意贡献一份翻译吗?请阅读我们的translation guidelines并添加输入to one of the translations issues如果您想要翻译成一种新的语言,请提出一个新的问题进行跟踪

其他课程

我们团队制作其他课程!查看:

图像属性

您可以在本课程中所需的位置找到本课程中使用的图像的所有属性Attributions

Urh-通用无线电黑客:像老板一样调查无线协议

通用无线电黑客(URH)是一套完整的无线协议研究套件,具有本机支持many常见软件定义的无线电URH允许易于解调的信号组合在一起automatic调制参数的检测使得识别飞翔空中传输的比特和字节变得轻而易举。因为数据通常会已编码在传输之前,URH提供可定制的解码甚至可以破解像CC1101数据白化这样的复杂编码。当涉及到协议逆向工程,URH在两个方面都有帮助。您可以手动分配协议字段和消息类型,也可以让URH自动推断协议字段使用一个rule-based intelligence最后,市建局需要一个模糊组件针对无状态协议和仿真环境用于状态攻击

快速入门

为了开始工作,

如果您喜欢URH,请⭐此存储库和join our Slack channel感谢您的支持!

引用URH

我们鼓励与URH合作的研究人员引用thisWOOT‘18纸或直接使用下面的BibTeX条目

URH BibTeX条目用于您的研究论文
@inproceedings {220562,
author = {Johannes Pohl and Andreas Noack},
title = {Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols},
booktitle = {12th {USENIX} Workshop on Offensive Technologies ({WOOT} 18)},
year = {2018},
address = {Baltimore, MD},
url = {https://www.usenix.org/conference/woot18/presentation/pohl},
publisher = {{USENIX} Association},
}

安装

URH可以在Windows、Linux和MacOS上运行。单击下面的操作系统查看安装说明

窗口

在Windows上,URH可以通过其Installer不需要进一步的依赖关系

如果您收到关于丢失的错误api-ms-win-crt-runtime-l1-1-0.dll、运行Windows Update或直接安装KB2999226

Linux操作系统
使用pip进行常规安装(推荐)

有关URH的信息,请访问PyPi因此,您可以使用以下命令进行安装

# IMPORTANT: Make sure your pip is up to date
sudo python3 -m pip install --upgrade pip  # Update your pip installation
sudo python3 -m pip install urh            # Install URH

这是在Linux上安装URH的推荐方式,因为它附带所有本地扩展预编译

要以非root用户身份访问您的SDR,请安装相应的UDEV规则你可以找到他们in the wiki

通过软件包管理器安装

URH包含在许多Linux发行版的存储库中,例如Arch Linux根图(Gentoo)软呢帽OpenSUSENixOS还有一个套餐是FreeBSD如果可用,只需使用包管理器安装URH

注意事项:要获得本机支持,您必须安装相应的-dev您的SDR包,例如hackrf-dev在此之前安装URH

捕捉

URH以快照形式提供:https://snapcraft.io/urh

Docker镜像

市建局的官方对接图片现已推出。here它包含所有本机后端,并且随时可以运行

MacOS
使用DMG

建议使用至少MacOS 10.14使用可用的DMG时here

带管道
  1. 安装Python 3 for Mac OS X如果您遇到预安装的Python问题,请确保使用给定链接更新到最新版本
  2. (可选)安装所需的本地库,例如brew install librtlsdr以获得相应的本机设备支持
  3. 在终端中,键入:pip3 install urh
  4. 类型urh在终端中启动它
更新您的安装

如果您通过pip安装了urh,则可以使用python3 -m pip install --upgrade urh

从源运行
不安装的情况下

要在不安装的情况下执行Universal Radio Hacker,只需运行:

git clone https://github.com/jopohl/urh/
cd urh/src/urh
./main.py

请注意,在首次使用之前,将构建C++扩展

从源安装

要从源安装URH,您需要具备python-setuptools已安装。你可以用以下方式买到它们python3 -m pip install setuptools安装setuptools后,执行:

git clone https://github.com/jopohl/urh/
cd urh
python setup.py install

并通过键入以下命令启动应用程序urh在终端中

物品

用URH破解东西

关于URH的一般演示文稿和教程

外部解码

看见wiki查看我们社区提供的外部解码列表!谢谢你这么说!

屏幕截图

从原始信号中获取数据

即使是复杂的协议也要保持概述

记录和发送信号

Core-🏡开源家庭自动化,将本地控制和隐私放在首位

家庭助理

开源家庭自动化,将本地控制和隐私放在首位。由世界各地的修补工人和DIY爱好者社区提供动力。非常适合在Raspberry PI或本地服务器上运行

检查home-assistant.ioa
demo
installation instructionstutorialsdocumentation

特色集成

该系统使用模块化方法构建,因此可以轻松实现对其他设备或操作的支持。另请参阅section on architecture以及section on creating your own
components

如果在使用Home Assistant或开发组件期间遇到问题,请检查Home Assistant help section有关更多帮助和信息,请访问我们的网站