物联网(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.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

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

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

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

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

生成一个适合你的列表

  • 项目

    • 项目

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

创建一个表格

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

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

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

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

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

SmartyPants

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

TYPE ASCII HTML
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)=(n−1)!∀n∈N 是通过欧拉积分

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

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

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

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

UML 图表

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

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

这将产生一个流程图。:

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

FLowchart流程图

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

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

导出与导入

导出

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

导入

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


  1. mermaid语法说明 ↩︎

  2. 注脚的解释 ↩︎

物联网(loT) 学习日志相关推荐

  1. HTML5 Canvas 学习日志(三)

    2019独角兽企业重金招聘Python工程师标准>>>  HTML5 Canvas 学习日志(三) Canvas的11种合成 蓝色为destination,粉色为source 1 ...

  2. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图 ...

  3. 我的游戏学习日志46——游戏交互设计(2)

    我的游戏学习日志46--游戏交互设计(2) 2.游戏界面设计 游戏界面在保持一致性.可读性.效率性等普适原则的基础上,还应该特殊关照玩家的沉浸体验. 首要原则是保证游戏的顺畅使用. (1)提高自然性和 ...

  4. 0122 - EOS 编程学习日志(1)

    EOS 编程到底是什么呢.学什么呢? 抱歉,我现在也不无法回答.不过,我可以告诉你我做了哪些尝试.目前的理解,以及下一步还要做什么. 首先,EOS 开发最重要的文档自然是在 GitHub: githu ...

  5. MVC 学习日志1(上)

    MVC 学习日志1(上) 2012.7.5 开始学习MVC,本以为这个框架多难学,学下来的感受是其实也就是编写格式而已,和普通的webform有质的区别.顿时理解那句老话,世上无难事,只怕有心人.只要 ...

  6. opencv生成日志_OpenCV-Utils学习日志:VideoCapture使用样例

    1.VideoCapture可以打开多种来源的数据流,但常见的是相机.视频及图像序列三类数据流: (1)打开相机数据流,需要指定相机在主机上的设备编号,若主机上只有一个相机则编号通常是0. (2)打开 ...

  7. python爬虫实训日志_Python学习学习日志——爬虫《第一篇》(BeautifulSoup)

    爬虫简介(学习日志第一篇) 一.爬虫介绍 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Pyyhon爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.U ...

  8. java框架学习日志-2

    2019独角兽企业重金招聘Python工程师标准>>> 上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又 ...

  9. 我的游戏学习日志17——游戏元素的解析(1)

    我的游戏学习日志17--游戏元素的解析(1) 1.沉浸元素 定义:在一般的定义上指通过物理方式和想象进入一个与通常环境不同的场景.(也被也称"置入"和"临场") ...

最新文章

  1. 多线程利器-队列(queue)
  2. if、for、while、do while、switch (区别于if、while)解析
  3. SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高
  4. 微信小程序列表局部(单条)刷新
  5. ckplayer超酷网页播放器
  6. 程序员应该知道的关于Windows API、CRT和STL二三事
  7. c语言可以在python上运行吗_c语言如何运行python脚本
  8. 大厂字节程序员薪资曝光:排行世界第五厉害了
  9. JS事件之事件类型[鼠标和滚轮事件]
  10. c#阿里CSB接口对接--
  11. java 查找英语单词相似度,用于单词匹配,法1
  12. ANSI 标准是为了确保 C++ 的便携性
  13. Perforce使用中文教程: p4 client
  14. 通过webSocket实现app运动数据在网页实时显示
  15. vue双向绑定原理及实现
  16. 用java获取本机IP地址
  17. 360网站卫士推出免费风云加速
  18. Python Flask教程学习02
  19. C#安装Newtonsoft.Json并调用
  20. RF高速电路的电源走线方式

热门文章

  1. 随手记录: Macbook/MacOS 快速安装brew
  2. 02 xxljob快速入门
  3. 平板电视尺寸选择存在误区
  4. Moonlight Clan
  5. 深圳女娲海滨公园游玩攻略(附地址+交通指引)
  6. 沃课堂,中国率先的移动教育网络平台
  7. microblaze调试遇错 error while launching program:Cannot stop MicroBlaze.Stalled on memory access.
  8. 基于uni-app实现京东收货地址
  9. 同济大学计算机学院陈震,罗烨 - 师资队伍 - 同济大学软件学院
  10. SQL语句增加列、修改列、删除列