初出茅庐的小李第1篇博客

初出茅庐的小李第1篇博客

通信协议学习笔记

协议简单的理解就是通信计算机双方必须共同遵循的一组约定。怎样连接,怎样互相识别等一系列问题,只有遵循这个约定,计算机之间才能进行相互的通信交流。

常见的一些协议:串口协议、Modbus协议、CAN协议、TCP/IP协议等,虽说这些我也都不熟悉。

协议很多,我就先重点学习几个吧!

##USART
Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。
假如设备A发送一个字符给设备B,需要规定启始位、数据位、校验位、停止位以及波特率等。这些约定就是串口通讯的协议
我们这里把这些约定统称为物理层协议,或者说底层的协议。
当然除了底层协议还有上层协议,这些以后学到了再进行记录学习;基于串口的应用层协议很多,自定义应用协议、通用协议等。自定义协议可以在买的一些传感器上见到,比如我曾经买过的有一款超声波测距传感器,它的通信格式就是一个很简单的自定义协议,有其实标志,数据信息,校验信息等。
当然,我知道实际应用中自定义协议一般比这个更复杂,比如多一些标志:命令、数据长度、校验信息或者还有其它等。MQTT协议应该就是这种,我对MQTT的协议理解还处于这个初级阶段。
虽说如果我们只是做应用,我们不必深究通用协议的原理,掌握如何使用,能正确传输数据就行,我是处于学习阶段,这个目标还没有达到啊…

##CAN通信协议
这个只是在上课的时候老师讲过,我隐约知道这是个汽车上用的比较多的协议,话不多说,学起来~~~
###CAN低层协议
CAN 2.0协议属于物理层的协议,分为CAN 2.0 A版本和B版本协议。

前几年引入了新的CAN FD协议,这个协议可以理解为CAN协议的升级版,都属于物理层协议。

###CAN上层协议
基于物理层CAN之上的协议,比如:CANopen、J1939、DeviceNet等。这些协议属于应用层协议。

应用层协议一般都是指的软件,里面的一些内容也是标准协会进行约定的(比如CANOpne里面的对象字典、PDO、SDO等),大家都按照这个约定进行通信。

好吧,我发现我读了大神写的总结还是一头雾水,不管了,写这样吧,至少有个笼统的了解了。

##网络通信协议

网络通信是生活中常见的一种,我们要上网,就必须要有网络,我们需要的数据通过多层协议,最终才能完成传输。
初出茅庐的小李第1篇博客_第1张图片
突然发现我上课学得七层协议是个屁啊,好多字母我都认识组合起来我咋啥也看不懂了啊?(小李还需要加油啊)

原来 HTTP是应用层,UDP在七层传输协议中是传输层,IP在网络层,光纤是物理层,也算是有点儿收获吧!

其实,网络通信是一个比较大的概念,包含的协议种类繁多,对于大部分开发人员来说,只需要掌握基本原理,学会调用相应接口开发自己应用程序即可。(这就是我的目标)

做硬件开发的需要网线电平信号、接口含义等,做应用的需要了解TCP、UDP通信方式区别等,确实这才是我接下来应该了解的东西,不断学习,不断进步,学无止境!

说明:自己还是个技术小白,学习充电的知识也是看网上前辈的文章和无私分享,这里面记录的绝大部分资料来自网络上自称"黄工"的个人公众号,我是边阅读边学习顺便记录一下自己的学习感悟。
原公众号文章地址:
[https://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng==&mid=2247489236&idx=2&sn=783b45f8998af920a4241dda71fa0653&chksm=ebbbbb3fdccc322973d1ea3e324bdf1ca091f5775cb4e50ab94a09920a073c9c01b95c13cf2e&mpshare=1&scene=23&srcid=0107ZtN4DhCNHo115ruIiwJz&sharer_sharetime=1578398638463&sharer_shareid=457912424b14b80661cab6c769cbb646#rd]

你可能感兴趣的:(初出茅庐的小李第1篇博客)