物联网全栈教程-从云端到设备(三)
一
关注零妖的微信公众号,获取第一手物联网的技术干货:
LINGYAOIOT
没有规矩不成方圆。从目前的市场环境来看,MQTT通讯协议已经成为了物联网行业的标配(具体的MQTT协议零妖将会在后面的文章里说明)。简单地理解就是一个设备连接到云99%都是走MQTT通讯协议的。MQTT通讯协议属于轻量级的一种,说白了就是保证数据可靠传输的前提下,其消耗的流量非常少。有一点需要注意,MQTT通讯协议是运行在可靠的连接基础上的,想建立可靠的双向通讯链接,最简单的办法是搞定TCP连接。
今天零妖就先普及一下TCP连接的基本知识(大神可以忽略后面的东西了)。
二
首先,请你插上网线,或者连上WIFI,或者打开4G网,或者连上3G网。总之,通讯成功的前提是物理链路要OK。拿以太网为例子,插上网线后网口的两个灯会闪烁,这初步证明线路是OK的,好的,接下来我们去搞软件。
TCP连接是一种保证两个设备可靠地双向交流的技术。一个巴掌拍不响,这里需要两个角色的参与,一个叫作服务端(Server),另一个叫作客户端(Client),一般来说服务端那边是云端的服务器提供的,其计算能力超强,可以同时和好多个客户端建立链接,而客户端只能同时连接一个服务端。就好比我们的老师在课堂上可以和我们大家一起交流,但是我们学生之间不允许说话。
我们物联网设备在这个TCP连接里,充当的角色是客户端(Client)。我们需要知道服务器那边的IP地址和对应的服务端口,不管我们的设备身处什么地方,只要能上网,那么通过IP地址及其对应的服务端口,我们就能建立TCP连接。然后我们就可以通过MQTT通讯协议和服务器进行数据交流。
三
很多情况下,我们是需要使用域名来连接服务器的,比如在浏览器网址输入一个域名,就会自动跳转到对应的IP地址。我们可以通过 Ping 一个域名的方法来获取IP地址。在Windows操作系统中,我们要进入 “命令提示符” 。打开 “运行” ,输入“CMD”即可。比如想知道 www.jixin.pro 对应的IP地址是啥,那么直接输入 “ping www.jixin.pro ” 然后回车即可。
注意:一个域名对应的IP地址可能会发生变化,所以如果能够输入域名链接最好。
四
我们现在通过TCP助手,演练一个完整的TCP连接流程。我找了两个TCP助手,一个负责模拟Server,另一个负责模拟Client。
五
好了,基础知识普及篇到这里结束,不懂的要多百度啊。 下一篇咱讲讲MQTT是啥。