IOT - 一些概念词汇

上下位机

  • 百度百科
“上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,
屏幕上显示各种信号变化(液压,水位,温度等)。

下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。

上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。
下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈...给上位机。
简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。

在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,

也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。”

* 通常工控机,工作站,触摸屏作为上位机,
* 通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。

TCP,UDP

https://www.jianshu.com/p/42260a2575f8

  • 建立在可靠连接之上,tcp相当于打电话
  • 建立在不可靠连接之上,udp相当于发短信
TCP是面向连接的一种传输控制协议。TCP连接之后,客户端和服务器可以互相发送和接收消息,在客户端或者服务器没有主动断开之前,连接一直存在,故称为长连接。特点:连接有耗时,传输数据无大小限制,准确可靠,先发先至。

UDP是无连接的用户数据报协议,所谓的无连接就是在传输数据之前不需要交换信息,没有握手建立连接的过程,只需要直接将对应的数据发送到指定的地址和端口就行。故UDP的特点是不稳定,速度快,可广播,一般数据包限定64KB之内,先发未必先至。
 
  • 哦,你又突然想到socket,websocket好吧
从本质上来区分,HTTP,WebSocket,TCP,UDP,IP都是协议,

* TCP/IP是协议栈,协议族,都是为了完成对应功能而制定的统一规则。

* 而Socket(套接字)才是真正能操作的东西。Socket的本质是API,是先人对TCP/IP协议族的抽象或者说封装,
它就像一个门面,给你一个操作TCP/IP协议的入口,来建立Socket连接。
* `不是Unix中的Socket`
此Socket是指网络编程下的Socket,而不是Unix中的Socket。虽然概念相似,但是Unix中的Socket不是基于**的协议,
而是基于操作系统本身的文件系统(FD什么的)。

* 从分层上来区分:
HTTP,WebSocket是应用层协议,
TCP,UDP是传输层协议,IP是网络层协议。

MQTT

  • MQTT是为了物联网场景设计的基于TCP的Pub/Sub协议,有许多为物联网优化的特性,比如适应不同网络的QoS、层级主题、遗言等等。

  • WebSocket是为了HTML5应用方便与服务器双向通讯而设计的协议,HTTP握手然后转TCP协议,用于取代之前的Server Push、Comet、长轮询等老旧实现。

  • 两者之所有有交集,是因为一个应用场景:如何通过HTML5应用来作为MQTT的客户端,以便接受设备消息或者向设备发送信息,
    那么MQTT over WebSocket自然成了最合理的途径了。

  • 订阅和推送

  • 每一个字节都不是多余的

上一篇:设计模式(九)装饰模式


下一篇:Spring Bean 是什么