精华内容
下载资源
问答
  • 2017年IOT设备安全报告

    2019-02-14 15:36:04
    2017年IOT设备安全报告,文档介绍了2017年设备在安全方面的防护要求和面临的安全威胁。
  • NB-iot设备接入指南-华为云,现在个人正在学习nb-iot这方面的知识。欢迎交流!
  • 一、准备工作 1.1 硬件设备 ...物联网平台 IoT :提供设备接入,数据流转,指令下行能力; 函数计算 FC :Serverless 计算平台; 二、技术架构 本次开发实战基于 Ruff 开发板,使用温湿度传感器 (DHT11) 和激
  • 中国电信物联网开放平台NB-IoT设备模拟器,可以用来抓取NBIOT电信平台的数据
  • 如今,僵尸网络快速增长,弱口令问题已经成为当前物联网面临的最严重的安全问题。目前,国外最新研究表明去除定期修改口令的要求、放弃口令复杂性要求以及对照常用或已泄露口令列表筛选新口令更有利于提升口令强度。...
  • IoT设备安全综述

    2021-09-12 11:58:42
    IoT正在成为互联网未来的关键,特别是近几年,随着IoT产业的兴盛,多种多样的IoT设备开始迅速发展,全球活跃的IoT设备已经达到70亿,它们在智能家居、智能穿戴、智能制造、智能汽车等一系列和生活相关的领域广泛使用...

    前言

    IoT正在成为最广泛和实用的在线平台。它将大量的传感器和控制器联网,帮助人们实现和万物之间的无缝通信。IoT正在成为互联网未来的关键,特别是近几年,随着IoT产业的兴盛,多种多样的IoT设备开始迅速发展,全球活跃的IoT设备已经达到70亿,它们在智能家居、智能穿戴、智能制造、智能汽车等一系列和生活相关的领域广泛使用,我们认为这会极大提升我们的生活质量。

    同时,IoT设备的安全问题经常发生,也难以解决。惠普的报告表明70%的IoT设备包含安全漏洞,平均每台设备有25个漏洞。攻击者利用这些漏洞控制设备,进行一系列非法的活动。最著名的例子是在2016年Mirai病毒控制了成百上千台IoT设备,用这些设备建造了一个僵尸网络发动TB级的dos攻击,攻击目标包括DNS服务提供商Dyn,这次攻击造成了严重的后果,包括导致美国部分的网络瘫痪。总的来说,随着IoT设备的广泛使用、安全漏洞的增加会对用户的隐私和安全,甚至人类的生活和财产带来严重威胁。

    面对频繁的攻击,IoT安全研究变得越来越流行。在美国Auto-ID于1999年第一次提出“物联网”的概念后,安全研究者们投身于IoT行业,研究安全架构和通信的标准。随后产生了许多关于IoT安全的问题。Zhang等人、Mahmoud等人指出了面临的问题和研究方向,于是,研究者开始在IoT安全领域使用传统安全研究的方法。随着AI的发展,将机器学习和深度学习应用于IoT安全上的概念开始产生。Alrawi等人,系统的总结了智能家居中设备、手机应用、云端和通信的IoT攻击点。Xie等人总结及了检测IoT漏洞的技术。最近,Zheng等人发表了IoT漏洞挖掘的技术概论。在上述的两篇论文中,漏洞挖掘和漏洞检测的界限较为模糊。在本文中,漏洞挖掘的技术即挖掘未知的漏洞,漏洞检测指针对已知漏洞的检测。通过以上调查,我们发现现有的研究关注于IoT安全问题,缺少分析技术,其次,漏洞分析技术的重点在漏洞挖掘和检测,缺少漏洞缓解技术,综上,现有的IoT安全的技术总结还不够全面。

    为了解决前面提到的问题,我们希望对以下个方面做出一些贡献:

    1. 首先,我们把重点从IoT架构转移到IoT设备;
    2. 其次,精简IoT设备安全技术的分类;
    3. 另外我们总结了现有的研究,包括漏洞分析的基础框架、挖掘未知的漏洞、检测已知的漏洞、漏洞缓解

    我们评估了现有的关于IoT设备漏洞分析的研究。除此之外,我们深入分析了阻碍安全研究技术发展的原因,指出了面临的困难和机会。

    我们回顾了技术发展的背景,并为相关研究者提出了未来研究的方向。

    背景

    IoT架构

    随着网络的快速发展,越来越多的家用和工业设备开始联网,给我们带来了多元化的生活。物联网架构主要有两个发展方向:消费者层面和产业层面
    在消费者层面,如果我们将它们按照应用场景划分,有几类设备类型例如工业制造、智能家居、智能医疗和智能汽车,其中智能家居的发展相对成熟。互联网巨头——三星、谷歌、苹果和小米占据大部分市场份额,同时,它们也发布了SmartThings、Google Weave、Apple HomeKit、HomeAssistant 和 XiaoMi IoT等物联网平台。通过调查这些平台,我们发现绝大多数IoT遵循“设备云端用户”这一架构。

    在这里插入图片描述
    智能设备大部分都放在家中,它们和云服务器进行通信,然后直接或间接通过WiFi、ZigBee、蓝牙或其他协议接入网络。它们上传传感器收集的数据,接收发送给执行单元的控制命令。IoT架构不仅依赖供应商的云,同时也依赖第三方的云,它们相互支持,并为各种功能提供多样化的服务。用户可以通过手机或者电脑连接云查看状态并下载数据。对于一些简单场景例如可穿戴设备,“设备用户”架构更加实用。

    对于产业层面,IoT架构延续了IT的做法,通过服务器集中管理用户和设备的交互,区别是设备首先通过OT和PLC进行通信。因此产业中的设备等同于PLC和“传感器+执行器”。安全研究的重点在于PLC。“设备用户”架构也存在于产业物联网:管理员用配置软件控制设备。虽然面向用户的工业终端例如智能仪表也尝试了云的模式,但基于安全考虑没有得到广泛使用。

    在这里插入图片描述

    设备组成

    不论是汽车制造中大而复杂的机器,亦或穿戴设备里小巧智能的手环,它们都包含了相对固定的零件例如芯片、闪存、固件等。它们主要包含硬件和软件部分

    硬件

    • 逻辑芯片:对于复杂的设备来说,它们需要多个逻辑芯片或cpu来运行内置的操作系统;对于简单的嵌入式设备或许只需要一个微处理器来运行程序
    • 内存:为系统和程序运行提供空间,大小从KB到GB不等
    • 闪存:储存IoT设备固件。部分设备的bootloader也存放在闪存
    • 网络模块:IoT设备和传统嵌入式设备的区别就是前者连接了网络。他们通常采用无线技术连接到互联网,如AP
    • 串行调试接口:IoT设备需要与外部进行通信,以便调试。串行调试接口可以让开发人员发送和接收命令。最常见的接口是通用异步接收器/发送器UART

    软件

    • Bootloader:在IoT设备系统启动前,它初始化了硬件设备,将固件加载到引导设备。它使系统的软件和硬件环境达到合适的状态
    • 固件:固件包括了操作系统、文件系统和一系列服务程序。IoT设备上的安全研究通常从固件分析开始

    攻击面

    针对IoT设备的攻击面不仅包括传统软件安全领域,因为它们的特殊结构和功能,也包括了新的攻击领域。根据IoT架构和设备构成,攻击面可以分为三个层面

    在这里插入图片描述

    硬件层

    硬件层面的攻击不同于传统的安全领域,它主要包括三个角度:不安全的调试接口、未保护的闪存芯片、硬件敏感信息的泄露

    1. 不安全的调试接口

    当IoT设备被制造的时候,调试接口比如UART会被留在电路板上以便维修。如果它缺少身份验证或者仅有弱身份验证,攻击者就可以通过接口来获得高权限,对固件进行修改或者替换。调试接口在IoT安全检查中排在第一位

    1. 未保护的闪存芯片

    因为闪存通常用来存储固件,因此也成为了关注的重点。如果芯片没有读写保护,安全研究者就可以通过读取固件来分析或者修改固件,来绕过接口的身份验证

    1. 硬件敏感信息的泄露

    硬件电路的密封性并不好,诸如声音和电量消耗的硬件信息泄露可以造成侧信道攻击,攻击者可以由此获得重要的信息,比如密钥。

    软件层

    软件层面的攻击对应着设备构成中bootloader和固件的软件部分,它主要包括以下五个方面:不安全的bootloader、不安全的操作系统、固件敏感信息泄露、不安全的应用服务、不正确的配置策略

    1. 不安全的bootloader

    因为bootloader是一段在设备运行后加载的代码,因此是一个容易被忽略的攻击点。它的功能是初始化并加载固件,因此当问题出现时它的危险程度很高。例如checkm8这个Boot ROM 漏洞被称为是iphone、ipad、apple TV和 apple watch上的史诗级漏洞

    1. 不安全的操作系统

    由于研发周期短和轻量化的需求,IoT设备的操作系统内核是定制的,版本也不经常更新,这导致了大量的缓冲区溢出问题,如提权等。除此之外,设备使用了各种各样的传感器和通信模块,包括内核中大量的驱动。例如,Marvell WiFi芯片驱动找到了多个漏洞,包括 CVE-2019-14901, CVE-2019-14897 和CVE-2019-14896,它们导致了内核中基于栈或堆的缓冲区溢出。这也是攻击面中重要的一部分

    1. 固件敏感信息泄露

    IoT设备的本地存储通常使用轻量化的存储方案,开发者通常忽略了它的安全性,并使用了明文或只是进行了简单的加密,这很容易导致敏感数据的泄露

    1. 不安全的应用服务

    应用服务开发缺少安全标准。为了加快产品的开发,通常直接编译、使用了简单、不安全的应用代码,因此引入未知的漏洞。IoT安全研究者们已经发现了大量开发时产生的应用漏洞,包括出于未知原因留下的后门

    1. 不正确的配置策略

    为了方便管理IoT设备,ssh、telnet等服务是默认的开启,这样会造成配置问题。默认配置下的弱验证策略使攻击者容易获得设备的权限。例如,Telestar Digital GmbH 的物联网收音机可通过未经验证的telnet服务器被远程攻击者劫持利用,这些漏洞已经被CVE-2019-13473和CVE-2019-13474收录。

    协议接口层

    协议接口层的攻击包括了通信和API,它涉及到用户侧直接控制和由云端间接控制的设备,以及以上两种通信过程中的信息保护问题,并不涉及到协议的安全。例如,IoT通信协议的滥用和AR-Ddos攻击正是通过IoT通信协议CoAP、SSDP和SNMP执行的,它的目标不是IoT设备,但是它也是IoT安全一个重要的研究方向。协议接口层的攻击主要包括一下三个角度:不安全的远程管理接口、数据传输过程中的信息泄露、弱身份验证

    1. 不安全的远程管理接口

    为了方便管理,IoT设备使用http服务之类的远程管理方式,这带来了诸多漏洞,例如sql注入、XSS和远程执行漏洞等

    1. 数据传输过程中的信息泄露

    IoT通信协议使用了弱加密算法或者根本不进行加密,导致敏感信息泄露。例如论文Passwords in the Air中提到的,当IoT设备接入网络时,WiFi密码以明文传输

    1. 弱身份验证

    由于安全需要,管理IoT设备需要身份验证绑定,于是产生了一个新的攻击面。攻击者可以绕过身份验证,重复绑定然后获得用户的信息,论文Phantom Device Attack在这个攻击面上找到了四种攻击方法

    漏洞分析、挖掘、检测和缓解

    现阶段,对IoT安全没有精确的分类,此外,安全研究的核心在于漏洞,因此我们把重点放在设备的漏洞。在研究周期中,研究分为三个阶段:挖掘、检测和缓解。因为IoT安全的特殊性导致不可能有用于分析的标准接口,因此,针对物联网的基础分析框架的研究内容也很有价值。为了审视现有的物联网安全技术,我们从以下四个角度进行总结:
    (1)漏洞分析的基础框架的研究,使用了固件模拟来帮助分析IoT安全问题;(2)漏洞挖掘技术研究,主要针对挖掘IoT设备中的未知漏洞的手段;
    (3)漏洞检测,研究基于现有漏洞的特征来检测已知漏洞;
    (4)漏洞缓解技术的研究,研究了自动修复漏洞或者加入访问控制来限制恶意行为。

    漏洞分析的基础框架的研究

    为了解决人们对物联网安全的担忧,即使没有源代码或者硬件资料,对固件二进制文件的准确分析也极为重要。然而,由于缺少专门的基础框架,IoT安全领域的漏洞分析收到了阻碍。例如,动态分析依赖于在可控的环境(通常是设备化的模拟器)中执行程序,因此基础框架主要提供了通过半仿真和全仿真的功能。它可以进行复杂的动态分析以支持IoT安全研究。

    对于缺少专门用于分析固件,特别是用于动态分析的工具,Avatar提出了一个结合了在模拟器上的模拟执行模式和在真实设备上的实际执行模式的框架来分析固件。当固件在模拟模式下运行时,当发生I/O时,Avatar将操作转发到设备,设备执行操作后将结果传给模拟器,以便模拟器继续运行。它有效地应对了特定外围设备缺少源码和文档的问题。

    随后,Prospect和Surrogate也提出了类似的动态分析框架。四年后,Avatar开发团队开发出了Avatar2,允许安全研究者在不同动态分析框架、调试器、模拟器和实际设备之间交互操作,除此之外,作者还展示了如何使用Avatar2来记录设备的执行流。

    Chen等人提出了用于linux设备的Firmadyne,首先使用软件进行系统仿真,然后采用扫描和探测等动态分析方法来挖掘漏洞。以上框架的模拟功能都基于QEMU。对于不易模拟的传感器操作,半模拟框架在执行表1的固件指令时,通过软件代理的方式引导对物理硬件的I/O操作

    表1是漏洞分析基础框架的总结。
    Semi-simulation指的是框架需要真实的设备来进行I/O访问

    在这里插入图片描述

    漏洞挖掘技术研究

    随着IoT设备漏洞的增加和攻击趋势的上升,安全研究者在设备的漏洞挖掘上花费越来越多时间。这一届表述了漏洞挖掘的技术,包括动态和静态分析。通过学习传统的软件安全分析技术,我们发现动态分析主要包括fuzz和污点检测,静态分析主要包括符号执行、污点分析、数据流分析。

    动态分析方法

    动态分析方法需要仿真固件工具来进行动态调试,或者在物理设备上进行片上调试,来获得反馈信息。主要通过fuzz来得到漏洞的触发点。

    技术要求:在IoT设备上进行动态调试的能力

    在卡片安全研究领域,Alimi等人使用了一个通用的算法生成测试样本,对手机卡和银行卡进行fuzz。对于现在一些内置web服务器的智能卡片,Kamel等人发现了一些基于HTTP协议生成方式的bug,并据此对web服务器进行了fuzz。在汽车安全领域,Koscher和Lee通过修改发送给CAN的数据包来改变汽车的状态,来对汽车的智能系统进行fuzz。

    因为IoT固件提取的困难,IoTFuzzer通过从用户侧捕获崩溃信息来避免了这个问题。首先,它在手机应用中的交互协议代码里插桩,然后修改从桩获取的数据,最后根据心跳包(Heartbeat packet)和响应来判断fuzz的效率。因为设备很难直接调试,研究者开始结合仿真技术来发现漏洞。Costin等人实现了应用动态固件分析技术来进行嵌入式固件镜像中web接口的漏洞自动化挖掘框架。

    最近,Srivastava等人的目标不再仅限于web接口,他们展示了FirmFuzz,一个独立于设备的、针对Linux固件镜像的自动化仿真和动态分析框架。Zheng等人提出了Firm-AFL,它是第一个针对IoT固件的高吞吐量灰盒fuzzer,他们扩展了AFL,把它变成了现在IoT领域最流行的fuzzer。对于fuzz的研究,Muench等人分析了传统的IoT设备异常状态检测方法的通用性,然后实现了一个基于Avatar和的系统,另外,他们比较了黑盒fuzzer在不同配置下的吞吐量,包括本机执行(直接向硬件输入)、部分仿真(仅将硬件请求重定向到硬件)、全仿真,这是一项对漏洞分析技术性能的评估。上述提到的动态分析技术发现的漏洞类型详见表2,主要是内存问题例如缓冲区溢出和空指针解引用,由于对web接口进行了研究,也有一些web服务器漏洞例如XSS、SQL注入。

    静态分析方法

    静态分析不需要运行固件就可以挖掘漏洞。寻找bug的过程可以理解程序代码,因此它具有可扩展性。

    技术要求:能够获得IoT设备的固件

    静态分析步骤如下:
    (1)提取固件,(2)逆向固件中的程序,(3)通过人工审计找到安全问题。

    在学术界,研究人员主要探索通过自动化静态分析方法来找到漏洞。在表2,我们总结了静态分析的研究目标、细分的技术和发现的漏洞种类。

    Costin等人首先自动化分析了大量嵌入式设备的固件。他们自动解压运行了固件,然后使用模糊哈希来匹配固件中的弱密钥。FIE基于KLEE构建了嵌入式设备的符号执行引擎。它制定了内存规范、中断规范、芯片规范,以发现固件中违反自定义安全规范的问题。Firmalice也是一个基于符号执行的框架,它通过后门的输入确定性来找到身份验证绕过漏洞。SainT和DTaint提出了静态污点分析方法,分别在设备软件或二进制代码上挖掘漏洞。

    在这里插入图片描述

    漏洞检测研究

    前面提到的动态和静态分析技术也可以应用于检测已知的漏洞。在大规模的检测场景,动态分析依赖于使用架构专用的工具来执行程序,静态分析检测已知漏洞的方式和发现0day漏洞的方式相同,但提高了性能和耗时。目前,研究者主要使用以下两种方法:网络扫描和代码相似性检测。

    网络扫描

    网络扫描通过向在线的IoT设备服务发送带有payload的探测包来检测已知漏洞。网络扫描在安全领域更为通用,随着IoT安全的发展,产生了网络扫描物联网设备的议题。

    **技术要求:**了解漏洞的有关信息,如POC

    Cui等人扫描了网络上存在的嵌入式设备,发现了一系列设备含有弱密码和其他漏洞。在2013年后,搜索引擎例如Shodan和Censys以及Zoomeye产生了,它们能够识别和检测弱密码、后门、和已知的漏洞。然而,仅靠外部扫描只能发现一小部分漏洞,而且,未授权扫描联网设备也存在道德问题。因此,网络扫描漏洞常常在内网和实验室中进行。网络扫描的优点在于从服务层进行检测并不需要考虑设备的结构,并且它高效快速,适合大规模测试。现有的商用漏洞检测系统大多基于这种方法。

    相似性检测

    由于IoT设备中存在大量没有修复过的已知漏洞,安全研究员们提出软件代码相似性检测方法来检测已知漏洞。在现阶段,相似性检测的研究主要针对传统软件安全领域,然后通过跨架构逐步支持物联网设备,而不存在专门研究IoT固件相似性检测的论文。如图,相似性检测的基本思路是从代码中提取原有特征,如字符串、指令序列、基本块、语法树和函数调用图等,接着,通过算法测量特征的相似度,最终确定相应的代码片段中是否存在漏洞。

    在这里插入图片描述

    源代码相似性检测

    对于在源代码上检测已知漏洞, CP-Miner提出了基于token的方法,使了用词法分析器来产生token序列,然后搜索重复的token序列来衡量相似性。ReDeBug提出了一个可扩展的方法,它结合代码补丁来确定修复前的漏洞代码的特征,并且可以识别未打补丁的代码。然而,以上基于源代码的方法并没有应用在IoT上,在绝大多数情况下,安全研究员们无法获得固件的源代码。

    二进制代码相似性检测

    对于在二进制代码上检测已知漏洞,研究者主要面临的问题是,不同的编译器代码生成算法、编译优化选项以及不同指令集导致难以检测相似性。N-Grams和N-Perms是早期的漏洞搜索方法。Karim等人使用内存中的二进制片段或代码来匹配算法,由于没有对代码语义进行了解,这种方法难以应对不同编译级别带来的指令重排序问题。为了提升匹配的准确性,Tracelet-based提出将代码重构为可执行序列,然后使用求解器来处理程序约束和数据约束,因此它解决了指令重排序的问题。此外,TEDEM采用符号简化二进制程序,并通过树编辑距离作为基本块来判断代码相似性,它甚至可以找到不同操作系统的漏洞。

    由于一些相同的语义特征,导致难以表示两个二进制程序基本块特征相似性。研究者开始考虑使用CFG来描述程序的行为,因此可以通过图来进行相似性比较。BinDiff和Binslayer能够通过检测CFG相似度,来检查两个二进制程序的相似性,不过它们并不是专门为漏洞检测设计的。通过比较两个完全不同的二进制文件的CFG,还是难以发现跨平台的漏洞片段。Egele等人提出了Blanket Execution 并指出,基于静态分析的二进制语义相似性研究容易受编译链和编译优化级别的影响。因此他们建议提取程序动态运行时的特征,来应对造成CFG改变的影响。BinHunt和iBinHunt使用了符号执行和理论证明,来检查基本块之间的语义等价性,并找出哪些语义有所不同。

    然而不同IoT设备的固件差异很大,包括多种架构如MIPS、ARM、PPC、x86等,它们的操作码、寄存器名称和内存寻址方式都有差别,因此,以上提到的方法难以应用于大规模的跨架构代码漏洞检测。直到最近两三年,研究人员开始研究二进制代码基础上的跨架构代码相似性检测。Multi-MH是第一个基于二进制代码的跨架构代码相似性检测方法。首先,将二进制代码转换为中间代码,然后使用特定的输入来测试程序,并根据I/O的行为来捕获基本块的语义,最后根据捕获的CFG来检测漏洞。然而它在处理大量函数时的性能开销过大。DiscovRE通过图匹配算法检查一组函数对的CFG是否相似,并通过预筛选来加快CFG匹配过程。然而它的预筛选过程并不可靠且会漏报过多漏洞。BinGo通过引入选择性内联相关库函数以及用户定义的用于跨平台代码搜索的函数来捕捉完整功能语义。然而它并不是特别为IoT设备设计的。Genius使用机器学习的传统方式,从CFG学习高层特征表征。另外,它将图嵌入编码为一个高位数字特征向量,然后使用图匹配算法测量目标函数和一组二进制函数的相似性,这可以有效的提升性能和可扩展性。Xu等人首先提出了基于深度学习的跨架构二进制代码相似性检测方法,使用了神经网络模型的图嵌入技术。在跨版本代码相似性检测,αDiff迈出了重要的一步。它基于DNN模型,提取了三个语义特征,包括函数、功能间和模块间的特征,来进行检测。Gao等人提出了VulSeeker和VulSeeker-Pro。这些漏洞搜索方法都通过与深度学习结合,来提高检测的准确性,后面提到的两种方法被证实比目前其他的(例如Gemini)方法准确度都高。

    漏洞缓解研究

    在漏洞挖掘和检测的基础上,漏洞缓解措施也是行业关注的一个研究问题。根据公开的文献研究,主要研究热点是自动化生成补丁和访问控制。前者旨在修复漏洞,后者研究如何限制恶意行为。

    自动化生成补丁

    这节所说的自动化生成补丁技术并不专指IoT领域,而是一个传统安全领域的扩展。漏洞修复通常由开发团队在源代码上完成。在获得外部漏洞报告后,他们通过漏洞触发条件和分析漏洞机制来评估漏洞。自动生成补丁可以自动修复软件错误,而不需要开发者人工判断、理解、修正。

    技术要求:获得和升级IoT设备固件

    软件工程领域的研究者们提出,通过学习正确的c语言、Java和其它源代码级别中的正确代码可以自动生成补丁,这一想法取得了初步可行成果。另一种想法是改变程序的形式而不改变它的功能。GenProg使用了遗传编程的扩展形式来演化程序变体,该变体保留了所需功能但不易受到给定缺陷的影响,然而由于突变操作的随机性,它会生成无意义的补丁。因此Kim等人提出了基于模式的自动化程序修复(PAR)来解决上述的问题。在安卓平台上,Zhang等人提出了AdaptKpatch,一个自适应内核修补程序框架和LuaKpatch,它将一个类型安全的动态语言引擎插入内核来执行补丁。这两个方案解决了安卓平台的补丁链过长、碎片化和平台生态布局不匹配、细分修复不及时的问题。然而它们没有考虑解决在跨CPU架构自动进行热修复的问题,他们依旧需要基于知识和经验进行手工编写。DARPA的CGC引领了在二进制代码级别上的自动化防御方法,然而主要采用的依旧是通用的防御方法,例如二进制代码加固、边界检查和指针修复

    访问控制

    访问控制方法是通过管理IoT设备的用户侧或平台许可,来阻止或结束攻击者的恶意行为。

    技术要求:用户侧或云端的可扩展性

    Fernandes等人首先深入研究了IoT平台的安全例如SmartThings,他们发现,由于功能粗粒度,大量的应用获得了多余的权限,智能家居中的许多设备获得了过多的权限,模糊的权限管理,导致了许多针对IoT设备的攻击以及隐私泄露。密歇根大学的研究者们想出了一系列办法来解决这些问题。2016年,他们提出了Flowfence,一个基于数据流来保护隐私泄露的系统,它将程序分为两部分:(1)一系列负责操作沙箱中敏感数据的隔离的模块。(2)不操作敏感数据,但通过污点跟踪不透明的句柄将隔离的模块链接在一起来协调执行的代码,其中涉及到的数据的数据只能在沙箱内被解引用。于是在2017年,他们又提出了基于上下分信息的ContextIoT,它可以帮助用户提升访问控制的有效性,通过识别敏感操作上下文标识和保证运行时的上下文完整性,来抵御攻击者进行危险操作。2018年,一个针对智能家居的基于风险控制的模型Tyche被提出,它建立了访问控制列表(ACCLs),在源代码层面解决访问权限过多的问题。Smartauth和FACT同样基于ACCLs,然而他们采取了不同的方法来建立ACCLs。Smartauth通过NLP识别的文件和APP源代码建立ACCLs,FACT在设备开发的阶段就建立了ACCLs。

    展开全文
  • 一个有效且用户友好的漏洞检测和缓解工具包,可用于测试家庭网络上IoT设备的安全性。该程序已在以下系统上成功测试: 的Ubuntu Windows 10 Windows 7的 利用MIRAI僵尸网络单词表。可以找到有关如何下载,安装和...
  • 我们研究了使用粒子光子通过Arduino控制IoT设备连接到我们的RFID徽章和LCD系统。
  • 物联网地图 带有该地区IoT设备引脚的地图视图。
  • 中国电信物联网开放平台NB-IoT设备模拟器
  • 华为云IoT设备接入服务全体验

    千次阅读 2021-06-04 11:43:25
    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有!

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有!

    本文分享自华为云社区《【云驻共创】Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验》,原文作者:启明 。

    前言:

    在开始本文之前,我们先问问自己下面两个问题:

    问题一:物联网慢慢渗入千行百业,其快速发展已成必然,但是在发展的过程中有没有什么挑战呢?

    问题二:目前在智能制造行业很多物联网设备,都是依赖边缘网关的,也即,通过边缘网关来接入物联网,那么为什么要使用边缘网关呢?边缘网关有什么好处呢?

    我们将通过下面的文章,来一一解答。

    一、物联网带来的机遇

    经调查数据显示,目前已经有60%的企业,现在正在使用或者是即将部署IoT业务;有24%的企业IT预算,会用于IoT相关的一些投资;同时,已经有63%的企业,通过IoT的部署,已经收获非常丰厚的回报。物联网在经济中正在发挥着越来越重要的作用。关于物联网的更多的数据可以见下图:

    https://bbs-img.huaweicloud.com/blogs/img/1622520329081062403.png

    同时,我们可以看到,在实际生活当中,也遍布了物联网的身影:智慧抄表、智慧路灯、智慧井盖、车联网、智慧零售、智慧门店……物联网已经深深的渗入到各行各业,并且推动着相关行业的数字化转型,引领着行业做着非常深远的变革。

    回顾历史,我们可以总结发现,在互联网经济中,一共有三波“浪潮”:

    • 第一波:信息服务业数字化,主要是在2000年至2015年。互联网公司的发展,通过互联网软件数字化,已经推动了相关的行业进行物联网转型。而这,已经是过去式了;
    • 第二波:服务产业数字化,集中在2014-2020年,主要是以电信、银行、政府、医疗、出版、零售等等为代表的传统服务+互联网技术进行着数字化。这一阶段已经基本完成;
    • 第三波:实体经济数字化,从2015年至今。其中包括我们最为关注的制造业、能源、交通、农业等等涉及到民生的一些大的行业的变化,这是正在发生变革的一波“浪潮”。

    从国家的十一五/十二五规划到十三五的规划,到近期热议的“新基建”,都在推动制造业产业升级。可目前我国制造业规模庞大、但大而不强,自主创新能力不足,该如何提升呢?数字化转型正是提升制造业竞争力的关键途径。

    https://bbs-img.huaweicloud.com/blogs/img/1622520349307051373.png

    二、物联网带来的挑战

    物联网带来的红利无疑是巨大的,但是同时,也带来也一定的挑战:

    挑战一:让说话

    在让“物”说话的过程中,我们的关键挑战在于:

    • 大量现存设备未被数字化;
    • 多样化设备、各行业协议、各行业通信方式不同;
    • 设备要求低功耗、低成本;
    • 设备安全问题突出。

    我们目前让设备入网的最常用的就是传感器。传统的传感器只是模拟信息量的记录,无法对记录进行分析处理。因此,第一步,需要将传感器所有的感知数字化,用非常客观的数字来表达诸如温度、压力、位置等等信息。同时,我们需要在传感器能够感知的基础上,让它“学会表达”,也就是网络化,通过连接上网,让“物物相连”。先数字化,然后网络化,这是让“物”说话的第一步。

    挑战二:让说一种话

    让“物”说一种话的关键挑战在于:

    • 百万种数据元素,缺乏标准和规范;
    • 多样化数据格式;
    • 各厂商“烟囱式”发展,数据孤岛林立,数据互通困难。

    目前的一些设备,因为行业不同,生产厂家也是不同的,比如路灯、井盖、水表等等,都是不同的厂家生产的。那么,在生产过程中,它们所使用的协议、接入方式有可能都是不一样的,就相当于不同国家的人,没有统一的语言,完全无法沟通。因此,我们需要在各种设备之间,“架起桥梁”,让它们说同一种话,这也就是我们的“物模型”,或者“产品模型” 。让数据标准化,统一物模型,让“物”说同一种话。

    挑战三:让说有价值的话

    让“物”有价值的话的关键挑战在于:

    • 海量数据带来算力、存储问题;
    • 实时流、时序、离线、多维分析复杂;
    • 行业应用场景复杂;
    • 商业闭环、价值变现和分配问题。

    如何让数据变得有价值,是制造业面临的一个巨大挑战。海量的数据出现之后,我们需要从各个方面去分析:时间维度、冷热数据、有价值的数据和没有价值的数据等等,从而得到一个完整的数据分析,进而能够对“物”进行决策,让数据有价值。

    以上即是物联网面临的主要的挑战。可以看到,“万物互联”并不是一件简单的事情。而回归到制造业,在制造业的数字化落地过程中,企业发现,数据的量非常大,流通起来非常困难,数据采集的周期也非常短,基本以秒为单位。同时,数据如何使用,都已经被限制。因此,具体到制造业,数字化的过程中还有如下问题:

    • 无法做个性化定制:全要素采集非常困难;
    • 无法网络化协同:多域数据流打通难;
    • 无法智能化生产:数据大、维度多分析难;
    • 无法服务化延伸:产品智能化服务开发难。

    三、华为云IoT设备接入服务解读

    (一)设备接入服务解决方案架构图:

    互联网的用户,都有一个基本的认知,那就是“数据不会凭空产生”。数据都是通过采集进而上报上来的。华为云IoT设备接入服务,即是进行数据采集工作的一个工具,或者说,平台。以下是华为云IoT的物联网解决方案架构图:

    https://bbs-img.huaweicloud.com/blogs/img/1622520392533074196.png

    华为云IoT云服务,以LiteOS为操作系统,赋能设备以“感知”的能力,同时,通过SDK让设备有网络化的能力;设备网络化之后,通过网关等方式接入华为云IoT的物联网平台(包括设备接入服务、设备发放服务、全球SIM联接以及数据分析服务等等),进行数据上报、命令下发等操作;再通过API方式,连接到物联网应用,打造智慧交通、智慧城市、智慧园区等等各种智慧场景。当然整个框架里面也有很多华为云其他的服务,比如数据库等等,来支撑上层物联网应用的使用。

    其中,设备接入服务,提供海量设备的接入和管理能力,配合华为云其他服务同时使用,帮助客户快速端到端构筑满足要求的物联网解决方案。其包括多网络接入、设备联动规则、产品模型开发等等功能,通过这些微服务,为设备接入提供一个整体服务管理能力。

    (二)华为云IoT设备接入服务通信模型

    https://bbs-img.huaweicloud.com/blogs/img/1622520439944047888.png

    让“物”说话,只是一个拟人的修辞手法,我们实际上要做的,是要让设备使用一种通信方式进行“沟通”。那么我们要如何将一个设备抽象出来进行分析处理呢?

    首先,是属性上报。通过相关的协议解析,属性上报之后,基于模型管理,会把设备的属性分成属性、命令、事件和透明的消息模式,而这些,我们又可以通过schema的形式进行描述;而在上层应用,我们也会按照这样的模型进行相关的处理。

     接下来,我们详细介绍一下设备接入服务的各个能力。

    1、产品模型(Profile):统一的数据&通信模型

    上述这样的一个统一的数据模型是如何形成的呢?这里引入了一个“编解码插件”的概念。具体的方式如下:

    • 定义产品:这里有两种方式进行定义:

    方式1设备厂商通过SP Portal在线编辑Profile;

    方式2设备厂商获取平台提供的样例Profile,根据自身业务进行修改,生成自己业务所需Profile;

    • 快速生成插件

    插件生成:平台提供开发者Portal,通过开发者Portal基于自己定义的Profile,快速生成插件;

    插件部署:对于完成的插件支持一键快速部署;

    • 价值

    对于上层应用价值:降低上层应用对设备管理复杂度,通过在平台规模不同厂家的数据,形成统一的Profile,上层应用无须感知不同设备的差异;

    对设备厂商价值:无须修改设备代码,通过插件适配不同企业的诉求,降低设备厂家的维护复杂度。

    https://bbs-img.huaweicloud.com/blogs/img/1622520458662041035.png

    2、规则引擎:数据流转&设备联动

    我们再来结识一下设备接入的另一个强大的功能:规则引擎。通过规则引擎,我们可以把上报的数据上传到相关的服务(比如数据分析服务等等),引发多设备协同(提醒、告警通知、状态报告等等)。

    https://bbs-img.huaweicloud.com/blogs/img/1622520470161087741.png

    3、构筑边云协同、泛接入、可信的智能IoT边缘服务:

    https://bbs-img.huaweicloud.com/blogs/img/1622520474815016208.png

    IoT边缘,即除了提供云端的能力以外,通过边缘也会构筑大量的能力,包括泛接入能力、本地自治、行业应用等等。特别需要介绍一下,泛接入能力能够满足除了一些相对标准的协议接入以外,还能提供一些私有协议的接入。在边缘之上,也会集成前面说的行业插件能力。通过这种第三方行业插件的能力,能够接入各种各样的设备。

    4、基于规则的设备联动,边云协同实现多场景业务自定义

    https://bbs-img.huaweicloud.com/blogs/img/1622520479526028174.png

    边缘侧的设备联动,可以和云端的IoTDA接入服务做统一的协同。

    5、网络异常时提供本地自治能力,确保业务连续性

    https://bbs-img.huaweicloud.com/blogs/img/1622520483577058951.png

    本地自治的能力很好理解。一般来说,当网络异常的时候,边缘的站点,是贴近设备的。贴近设备的时候,根据自己的管理能力,为接入的设备提供服务,也就是说当网络边缘站点跟云端的网络出现异常情况的时候,可以通过本地自治管理,能够保证业务的连续性。

    四、华为云IoT设备接入服务快速接入&演示

    接下来,结合一个产线的设备来实际演示一下设备是如何接入物联网平台的。我们需要准备的物料有:

    • 边缘网关(Atlas500)
    • 边缘网关集成标准MODBUS协议
    • PLC(镭雕机,含设备网关MODBUS Sever和采集器)接入到边缘网关
    • 边缘网关集成私有设备接入协议(集成对应协议解析的容器/进程服务)
    • PLC(贴片机)采用私有TCP协议介入到边缘网关

    https://bbs-img.huaweicloud.com/blogs/img/1622520490868083254.png

    具体流程:

    1、进入IoTDA服务:https://www.huaweicloud.com/product/iothub.html,点击“立即使用”

    https://bbs-img.huaweicloud.com/blogs/img/1622520498104070081.png

    2、进入设备接入服务页面,创建产品:

    https://bbs-img.huaweicloud.com/blogs/img/1622520508200005161.png

    通过控制台的产品页面,可以预先从属性、服务、设置的命令、事件等等每个维度去定义每一种产品,以下简单介绍比较重要的几个产品模型:

    • IoT边缘:edge_node,创建产品并定义相关产品模型。每个模型的属性,对应一个服务的类型,如edge_access,即是负责MODBUS的设备接入

    https://bbs-img.huaweicloud.com/blogs/img/1622520512808086321.png

    • 镭雕机:LaserMarkingModbus。模型较为简单。通过镭雕机上报雕刻的速度、电流和LED灯等等。

    https://bbs-img.huaweicloud.com/blogs/img/1622520516483024294.png

    • 镭雕机的设备网关:modbus_server。主要用来设置与MODBUS设备对接的相关的参数,比如连接类型、鉴权、IP地址端口等等信息。

    https://bbs-img.huaweicloud.com/blogs/img/1622520521042016153.png

    • 贴片机:Mounter1。较为复杂,里面除了基本的信息,如产品版本、产品名称、加工程序名等等,还包括如加工结果、设备状态、压缩空气气流等等所有涉及到贴片工艺相关的一些参数

    https://bbs-img.huaweicloud.com/blogs/img/1622520525506012923.png

    3、进入设备

    https://bbs-img.huaweicloud.com/blogs/img/1622520532514026493.png

    “设备”里的HDC2021 Training就是本次实验所需的设备

    https://bbs-img.huaweicloud.com/blogs/img/1622520536303031461.png

    在“设备”的概念里,“设备”是分层级的,HDC2021 Training所属产品是我们之前定义的“edge_node”,同时,它又有两个子设备:training_server(镭雕机)和MountDevice0425(贴片机)。

    https://bbs-img.huaweicloud.com/blogs/img/1622520540610022894.png

    4、注册子设备:在HDC2021_Training/training_server下注册Modbus子设备

    • 选择产品:

    https://bbs-img.huaweicloud.com/blogs/img/1622520545064029453.png

    • 进行数据采集配置

    https://bbs-img.huaweicloud.com/blogs/img/1622520548978000453.png

    • 添加子设备,并点击“确定”:

    https://bbs-img.huaweicloud.com/blogs/img/1622520552420029631.png

    • 完成

    https://bbs-img.huaweicloud.com/blogs/img/1622520556798036231.png

    以上就是一个简单的设备接入的演示。华为云IoT平台除了可以使用网关接入,还可以采取直连(MQTT)的方式,对硬件没有特殊的要求,大家有时间可以自行前往进行体验。

    五、华为云IoT设备接入服务小结

    回顾我们在一开始提出的问题,我们在经过这一阶段的讲解之后,可以做出这样的回答:

    问题一:物联网慢慢渗入千行百业,其快速发展已成必然,但是在发展的过程中有没有什么挑战呢?

    答:前面说过的三大挑战:让“物”说话,让“物”说同一种话,让“物”说有价值的话。也即,让设备数据化、网络化、标准化,同时需要有数据分析能力,让数据能够价值最大化。

    问题二:目前在智能制造行业很多物联网设备,都是依赖边缘网关的,也即,通过边缘网关来接入物联网,那么为什么要使用边缘网关呢?边缘网关有什么好处呢?

    答:边缘网关对网络可靠性、安全性的增强,是非常有利的,同时能够增强本地多个单设备的本地闭环也有这明显的好处。

    通过上述的讲解和实验,我们可以看到华为云IoT设备接入服务提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。

    一起来体验一下吧~

    本文整理自【华为云社区内容共创者火热招募中】第四弹:耕耘五月,步履不停!查看活动详情:https://bbs.huaweicloud.com/blogs/266530

     

    点击关注,第一时间了解华为云新鲜技术~

    展开全文
  • AWS IoT设备客户端 注意:运行AWS IoT设备客户端将导致AWS IoT服务的使用,并且可能会向您的AWS账户收取费用。 有关更多详细信息,请参阅 , 和的定价页面。 跳到: 介绍 栏目: 当前能力 支持平台列表 回到顶端 ...
  • 实施用于IoT设备的软件定义网关 当前版本: v0.1 目标:通过SDN控制器(OpenDayLight)实现非常基本的静态策略设置。 有两个示范。 第一种使用snort规则捕获/丢弃/记录数据包。 该秒使用iptables捕获/丢弃/记录...
  • Regent.io ia软件可以将非IoT设备引导到启用IoT的设备中,或者可以快速开发新的IoT设备。 设备上的程序(代理)充当主管程序,运行您需要的其他进程。 代理程序监视您的进程,并在需要时重新启动它们。 该代理通过...
  • 本文介绍一个利用以太坊区块链管理物联网IoT设备的身份识别、验证和声誉的IoT设备管理系统。该系统使用Web界面在以太坊智能合约中注册物联网设备,并通过密码学签名消息验证Iot设备对平台的 使用权。 以太坊教程链接...
  • Eclipse IoT提供构建IoT设备,网关和云平台所需的技术。 入门 安装依赖项,构建网站并启动一个简单的网络服务器: npm install && hugo server 贡献 存储库 克隆存储库: git clone https://github.com/[your_...
  • 手把手教你开发IOT设备

    千次阅读 2020-10-22 23:22:31
    手把手教你开发IOT设备 1.概述 IOT设备的开发是基于rt-thread rtos实现。rt-thread是一个国产RTOS,它是一个RTOS,但又不仅仅是RTOS,支持大量的芯片,驱动,还包含大量的软件包,为开发者提供非常大的便利,这也是...

    手把手教你开发IOT设备

    1.概述

    IOT设备的开发是基于rt-thread rtos实现。rt-thread是一个国产RTOS,它是一个RTOS,但又不仅仅是RTOS,支持大量的芯片,驱动,还包含大量的软件包,为开发者提供非常大的便利,这也是我喜欢rt-thread的原因之一。统一的驱动接口,为上层应用开发也带来很大的便利。本次所讲的IOT设备基本都是采用rt-thread提供的软件包。下面我来将,如何开发IOT设备

    如有疑问或者有其他想法的可以发邮件给我:hijxyz@163.com

    2.功能设计

     2.1.以太网连接(MQTT/TCP/UDP)

    MQTT模式 远程连接物联网平台,支持设备参数设置和获取,支持数据上报

    TCP SERVER 模式支持本地局域网连接IOT设备,支持3个客户端连接,初版不支持TCP SERVER,这个功能暂时不实现

    UDP SERVER 模式支持本地局域网内发现IOT设备和基础参数配置,但不支持数据主动上报

     2.2.路继电器输出

    远程控制继电器的闭合 断开,并记录动作时间以及动作

     2.3.路开关量输入

    远程采集开关量的值

     2.4.温湿度检测

    定期采集温湿度,并与设置的上限值和下限值对比,如果超限则上报,并实时记录采集的温湿度

     2.5.RS485透传采集

     2.6.实时时间及掉电运行

     2.7.远程OTA

    3.硬件框架

    硬件框架

    框图说明

    主控芯片采用的是STM32F405RE

    以太网芯片采用ENC28J60,用于联网

    RS485 采用 max485,用于透传

    UART 用于打印调试信息

    2路开关量输入,光耦隔离

    2路继电器输出,10A

    时钟是采用STM32 内部RTC模块

    温湿度传感器 SHT20

    FLASH存储 W25Q64

     

    4.软件框架

    软件框架

    整个软件框架是基于rt-thread RTOS来实现的,其中包含内核,BSP,组件软件包都是基于rt-thread的。在这个框架下我们来快速搭建开发产品

     

    5.IOT通讯协议设计及实现

    协议结构说明

    通讯协议在通讯中是非常重要的,是连接两个终端的交互方式。所以通讯协议设计也是至关重要的。下面来看看我设计的通讯协议

    协议结构

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    10~n

    n+1

    起始字节

    长度

    校验字节

    协议参数

    消息ID

    数据内容

    结束字节

    0x3E

    0xNNNN

    CRC16

    0xNN

    0xNNNNNNNN

    dlenght

    0x0A

    协议说明

    起始字节:表示该消息的开始

    长度:从长度的第一字节开始 到 数据的最后一个字节,不包含起始字节和结束字节

    校验字节:用于校验该消息的准确性,确保消息没有被修改过,从协议参数开始 到数据结束

    协议参数:

    第1位:表示方向帧,0:请求,1:应答

    消息ID:表示消息的唯一性标识符,消息ID的生成方式是

    数据内容:JSON格式消息

    结束字节:表示消息结束

     

    发送顺序:

    先发送低字节,再发送高字节

     

    用途:

    用于MQTT/TCP/UDP通讯方式中

     

    接口说明

    获取IOT设备信息

    接口名称:

    get_iot_dev_info

    请求参数

    返回结果

    dev_sn

    设备序列号

     

    JSON包

    请求JSON包

    {

      "function":"get_iot_dev_info",

      "data":{

     

      }

    }

    回应JSON包

    {

      "function":"get_iot_dev_info"

      “result”:0,

      "data":{

         “dev_sn”:124151514141

           “ip”:”192.168.1.112”

      }

    }

     

    设置MQTT信息

    接口名称:

    set_mqtt_info

    请求参数

    dev_sn

    设备序列号

    username

    Mqtt用户名

    password

    Mqtt密码

    clientid

    客户端ID

     

     

    返回结果

           无

    JSON包

    请求JSON包

    {

      "function":"set_mqtt_info"

      "data":{

         “dev_sn”:13141413,

           “username”:””xxx,

           “password”:”11111”,

           “clientid”:”123131”

      }

    }

    回应JSON包

    {

      "function":" set_mqtt_info",

      “result:0,”

      "data":{

        

      }

    }

    6.通讯设计

    联网通讯有3种方式:MQTT 、TCP SERVER、UDP SERVER

    1.MQTT通讯设计

    topic设计

    服务器 请求 IOT设备的主题:iot_dev/<username>/svr_resquest_dev

    IOT设备 回应 服务器的主题:iot_dev/<username>/dev_respond_svr

     

    IOT设备 请求 服务器的主题:iot_dev/<username>/dev_report_svr

    服务器 回应 IOT设备的主题:iot_dev/<username>/svr_reply_dev

     

    Mqtt的工作流程

     

    2.TCP SERVER方式

    tcp server 分为三部分

    1.监听流程

     

    2.tcp socket数据接收

     

     

    3.tcp socket 状态管理

     

    3.UDP SERVER方式

    此方式用于局域通讯配置或者控制,不支持数据上报

          

     

    展开全文
  • Azure IoT设备模拟器(.NET 5,C#)-DPS版本-自述文件 新的功能 此版本的Azure IoT设备模拟器实现了依赖于DPS(设备供应服务)的供应。 它基于组注册实施预配,其中包括: 对称密钥 CA X509证书 尚不包括个人报名...
  • Eliot是一个开放源代码系统,用于管理IoT设备顶部的容器化应用程序,重点是可用性,简单性,安全性和稳定性。 Eliot为传统安装提供简化的应用程序交付,隔离和额外的安全性。 Docker和Kubernetes启发了很多人,...
  • 本设计分享的是可穿戴和IoT设备专用-LinkIt ONE开发板原理图/PCB/用户指南。LinkIt ONE开发平台是一款用于原型可穿戴设备和IoT设备的开源高性能板。它是基于全球领先的可穿戴服装 SoC,联发科技(ATI)(MT2502)与...
  • 适用于Visual Studio Code的Azure IoT设备工作台 现已成为扩展包的一部分。 强烈建议安装扩展包,该包可轻松发现与IoT Edge和设备应用程序配合使用的Azure IoT中心并与之交互。 该扩展包可以帮助您: 开发您的并将...
  • python3 IOT设备模拟器

    2021-03-10 09:04:27
    因为我们是做IOT安防设备类的,现在又面临一款IOT设备在异地研发,为了使app端不受制于固件端的研发进度,一个设备模拟器就显得尤为重要了。 大致要求如下: 1、使用mqtt接入服务端,代替某个IOT设备。 2、能...

        由于公司快速发展,规模日益增长,敏捷开发和人员统筹就显得越来越重要。

        最近,我们就遇到了一个问题。因为我们是做IOT安防设备类的,现在又面临一款IOT设备在异地研发,为了使app端不受制于固件端的研发进度,一个设备模拟器就显得尤为重要了。

        大致要求如下:

          1、使用mqtt接入服务端,代替某个IOT设备。

          2、能自主定义IOT设备协议,而不需要去改代码,就是给小白用的。

          3、简单易用。

        基于以上需求和自己的个人喜好,我选择了使用python3来实现上述功能。

        模拟设备端收发:

    模拟手机端接收:

    模拟手机端发送:

    如若有修改意见和好的想法,欢迎留言。

    源码链接:https://github.com/hpy8804/dev_mqtt_simulator

    展开全文
  • Java Azure IoT设备客户端 公开直接方法的客户端应用程序 设置向Azure IoT中心注册为Azure IoT设备的设备应用程序 公开一个可以作为直接方法调用调用的方法,并将代表温度的随机数返回给调用应用程序。 说明(您...
  • PiAI是用于您的IoT设备控制和交互的人工智能语音助手。 PiAI是一款智能软件,可与您的所有IoT设备和机器进行语音通信。 Raspberry Pi AI Tiles控制着智能办公室的自动化和监控,是Raspberry Pi AI Tron Things的...
  • IoT设备的自我测试

    千次阅读 2018-09-10 07:30:00
    自测代码可以检查设备对其地址的响应,因为如果没有这样做,就意味着发生了不好的事情。否则,一些设备可能有一个"循环回路"模式,能够检查基本的发送/接收功能。除此之外,任何自我测试都需要创造力,这种创造力是...
  • 为了使物联网(IoT)工作正常,IPv6协议对于识别具有唯一地址的每个IoT设备必不可少,并且以相同的方式需要自适应层来支持IPv6数据包大小,因为IEEE无线协议标准802.15.4数据包大小要小得多。比IPv6封包大小大。 6...
  • 电信设备-多模IoT设备的通信模式选择方法、IoT设备及存储介质.zip
  • 对Azure IoT设备进行编码以与IoT Centrals高可用性功能一起使用。 该存储库中的每个文件夹都包含一个完整的设备客户端示例,该示例说明了如何编写与IoT Central一起使用的高可用性设备客户端的代码。 问问自己,您...
  • CoogleIOT库的创建是为了为您希望在IOT设备上执行的大多数常见操作提供一个可靠的封装框架,从而简化了在ESP8266微控制器上构建IOT设备的过程: 用于配置设备的强制门户-允许您配置AP名称,Wifi客户端和内置的MQTT...
  • IoT设备配网方式总结

    千次阅读 2019-10-24 16:08:42
    从无线制式方面,将IoT的无线联网技术归为三类: 2G/3G/4G插SIM卡上网,无需配网; WiFi连路由器上网,需要配置SSID/PWD; BT/Zigbee等通过网关代理上网,需要与网关配对。 第1类,无需配网;第3类,多采用协议...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,647
精华内容 18,258
关键字:

iot设备