物联网(loT) 学习日志

本文详细介绍了物联网(IoT)的技术架构,包括两方、三方和四方通信架构,探讨了不同架构的特点和应用场景。此外,还讨论了物联网设备接入网络的方式,如直接接入和网关接入,并列举了常见的物联网通讯协议,如MQTT、CoAP等。最后,文章提到了Markdown编辑器的新功能,如图片拖拽、KaTeX数学公式支持和甘特图等功能,以提升写作体验。

物联网(loT) 学习日志

2020.06.20 19:37

一、物联网(loT) 的技术架构
loT(Internet of things)的技术架构一般有:两方通信架构,三方通信架构,四方通信架构。

  • 两方通信架构:APP与智能设备是直接进行双向通信,这种两方通信的架构需要App和智能设备之间实现自定义的通信协议,智能设备的数据直接上报到APP,APP对设备的控制指令也直接发送到智能设备中。目前的通信协议APICloud 支持基于蓝牙和WIFI下的Socket两种方式。
    设备组成:手机软件 – 智能硬件设备
  • 三方通信架构:三方通信架构需要在智能设备和服务器之间实现自定义的通信协议,智能设备与服务器之间通过Socket建立稳定的连接通道,通过远程的连接实现数据上报和指令控制。
    设备组成:手机软件 – 智能硬件设备 – 业务服务器
  • 四方通信架构:‘APP+智能通信平台+ 业务服务器端’这种四方通信的架构不需要实现智能设备和数据通信平台之间的协议,以及客户与智能设备之间的协议,提供loT解决方案SDK的平台已经帮助开发者将协议封装完成。
    设备组成:手机软件 – 智能硬件设备 – 智能通信平台 – 业务服务器。
    现在大多数的loT App的公司都是用这种两方通信架构的。三方通信架构和四方通信架构性能比两方通信强,通信传播速度快,loT App 必将往三方通信和四方通信的架构发展,loT App 公司要进行通信技术改革,但大多数的LoT APP公司只有它们的APP和硬件团队,没有服务器开发工程师,因此找到这方面专业开发团队来对通信方式进行维护和升级

浅谈lot网络结构
IoT – (一) 物联网平台架构设计分析

二、物联网设备如何接入网络

1.设备接入方式
  • 直接接入:物联网终端设备本身具备联网能力直接接入网络,比如 在设备端加入NB-IOT通信模组,2G通信模组。
  • 网关接入:物联网终端设备本身不具备入网能力,需要在本地组网后,需要统一通过网关再接入到网络。 比如终端设备通过zigbee无线组网,然后各设备数据通过Zigbee网关统一接入到网络里面。常用到本地无线组网技术有Zigbee,Lora,BLE MESH, sub-1GHZ等。

网络存在方式

  • 移动网络(主要户外设备用)
    移动网络2G/3G/4G/5G/NB-IOT等
  • 宽带(主要户内设备用)
    WIFI,Ethernet等

物联网的通讯协议
主要有如下协议:MQTT,COAP等,他们有个共同点都是基于消息模型来实现的。设备与设备之间,设备与云端之间通过交换消息来实现通信,消息里面携带了通信数据。
一、REST/HTTP(松耦合服务调用)

REST即表述性状态传递,是基于HTTP协议开发的一种通信风格。

适用范围:REST/HTTP主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST开放物联网中资源,实现服务被其他应用所调用。

特点:

  1. REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。

2.客户端和服务器之间的交互在请求之间是无状态的。

  1. 在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开,每个资源都使用 URI 得到一个唯一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态。

4.使用的是标准的 HTTP 方法,比如:GET、PUT、POST 和 DELETE。

二、CoAP协议

CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。

适用范围:CoAP是简化了HTTP协议的RESTful API,CoAP是6LowPAN协议栈中的应用层协议,它适用于在资源受限的通信的IP网络。

三、MQTT协议(低带宽)

MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。

四、DDS协议(高可靠性、实时)

DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务。

适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS已经广泛应用于国防、民航、工业控制等领域。

五、AMQP协议(互操作性)

AMQP(Advanced Message Queuing Protocol),先进消息队列协议,用于业务系统例如PLM,ERP,MES等进行数据交换。

适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

六、XMPP协议(即时通信)

XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,一个开源形式组织产生的网络即时通信协议。

适用范围:即时通信的应用程序,还能用在网络管理、游戏、远端系统监控等。

七、JMS

JMS (Java Message Service),即消息服务,这是JAVA平台中著名的消息队列协议。

Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

物联网协议对比

协议对Iot而言尤其重要,可你知道Iot都有哪些协议?收好本文干货

协议应用的侧重方向

以智能家居为例,智能家居中智能灯光控制,可以使用XMPP协议控制灯的开关;智能家居的电力供给,发电厂的发动机组的监控可以使用DDS协议;当电力输送到千家万户时,电力线的巡查和维护,可以使用MQTT协议;家里的所有电器的电量消耗,可以使用AMQP协议,传输到云端或家庭网关中进行分析;最后用户想把自家的能耗查询服务公布到互联网上,那么可以使用REST/HTTP来开放API服务。

物联网终端设备软件系统架构
常见系统框架的总结下来主要存在如下2种:
带RTOS的(处理复杂的业务场景,场景里面通过需要多个事务并行协同完成工作)和不带RTOS的(通常处理的业务场景较单一)
在这里插入图片描述
在这里插入图片描述

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通过欧拉积分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

华为云 IoT 设备的激活流程是一个关键步骤,确保设备能够顺利连接到物联网平台并进行数据通信。以下是完整的设备激活步骤: 1. **创建产品与服务** 登录华为云控制台后,首先需要创建一个产品。产品是设备类型的抽象,定义了设备的能力和属性。在创建产品后,可以添加服务、命令和属性,这些内容将用于描述设备的功能,并作为平台与设备通信的基础[^1]。 2. **配置设备信息** 创建完产品之后,在设备管理界面中注册具体设备。此时会生成设备的唯一标识(如 IMEI)以及设备密钥。设备密钥可以是系统随机生成的,也可以根据需求自定义输入。该密钥用于设备与平台之间的身份验证[^1]。 3. **获取设备详情** 在设备列表中选择目标设备,进入设备详情页面。此处可以看到设备 ID 和设备密钥等信息,这些参数是后续激活操作所必需的[^1]。 4. **使用 MQTT.fx 进行设备模拟与连接测试** 下载并安装 MQTT.fx 工具,配置客户端时需填写如下信息: - 服务器地址:从华为云平台获取 MQTT 接入点。 - 客户端 ID:通常为设备 ID。 - 用户名:一般为设备 ID 或者项目特定格式。 - 密码:使用设备密钥进行认证。 配置完成后尝试连接至华为云 IoT 平台,以验证是否成功建立通信通道[^2]。 5. **在线调试与激活** 回到华为云控制台的在线调试界面,选择对应设备并输入其 IMEI 编码。此时如果显示设备状态为“未激活”,则需要执行激活操作。通过发送激活指令或手动确认方式完成设备激活过程,使其变为“已激活”状态以便正常收发数据。 6. **检查网络与证书设置** 如果遇到激活失败的情况,请检查以下几点: - 确保使用的网络环境允许访问华为云提供的服务端口。 - 核实证书文件(如果涉及 TLS/SSL 加密)是否正确安装且有效。 - 查看日志记录,分析错误代码或提示信息,针对性解决潜在问题。 7. **进一步开发与部署** 激活成功后,可以根据业务需求继续开发更多功能,例如实现定时上传传感器数据、响应远程控制指令等功能。同时建议定期更新固件及安全策略,保障长期稳定运行。 ```python # 示例代码 - 使用 Paho-MQTT 库连接华为云 IoT 平台 import paho.mqtt.client as mqtt client_id = "your_device_id" username = "your_username" password = "your_device_secret" def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("$oc/devices/"+client_id+"/sys/messages/downlink") def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) client = mqtt.Client(client_id=client_id) client.username_pw_set(username, password) client.tls_set(ca_certs="/path/to/rootCA.crt", certfile=None, keyfile=None) client.connect("mqtt-broker-url", port=8883, keepalive=60) client.loop_forever() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值