用单片机实现TCP链接的快捷车道-CH9121芯片,解决MQTT的联网问题。

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Lindorm AIGC体验服务,AIGC 体验服务
简介:
物联网全栈教程-从云端到设备(三)

关注零妖的微信公众号,获取第一手物联网的技术干货:   LINGYAOIOT  

      没有规矩不成方圆。从目前的市场环境来看,MQTT通讯协议已经成为了物联网行业的标配(具体的MQTT协议零妖将会在后面的文章里说明)。简单地理解就是一个设备连接到云99%都是走MQTT通讯协议的。MQTT通讯协议属于轻量级的一种,说白了就是保证数据可靠传输的前提下,其消耗的流量非常少。有一点需要注意,MQTT通讯协议是运行在可靠的连接基础上的,想建立可靠的双向通讯链接,最简单的办法是搞定TCP连接。
     今天零妖就先普及一下TCP连接的基本知识(大神可以忽略后面的东西了)。

    首先,请你插上网线,或者连上WIFI,或者打开4G网,或者连上3G网。总之,通讯成功的前提是物理链路要OK。拿以太网为例子,插上网线后网口的两个灯会闪烁,这初步证明线路是OK的,好的,接下来我们去搞软件。
e6882c1cf0402aa82c29a5d3d040055be13dfd14

    TCP连接是一种保证两个设备可靠地双向交流的技术。一个巴掌拍不响,这里需要两个角色的参与,一个叫作服务端(Server),另一个叫作客户端(Client),一般来说服务端那边是云端的服务器提供的,其计算能力超强,可以同时和好多个客户端建立链接,而客户端只能同时连接一个服务端。就好比我们的老师在课堂上可以和我们大家一起交流,但是我们学生之间不允许说话。
我们物联网设备在这个TCP连接里,充当的角色是客户端(Client)。我们需要知道服务器那边的IP地址和对应的服务端口,不管我们的设备身处什么地方,只要能上网,那么通过IP地址及其对应的服务端口,我们就能建立TCP连接。然后我们就可以通过MQTT通讯协议和服务器进行数据交流。

    很多情况下,我们是需要使用域名来连接服务器的,比如在浏览器网址输入一个域名,就会自动跳转到对应的IP地址。我们可以通过 Ping 一个域名的方法来获取IP地址。在Windows操作系统中,我们要进入 “命令提示符” 。打开 “运行” ,输入“CMD”即可。比如想知道 www.jixin.pro 对应的IP地址是啥,那么直接输入  “ping  www.jixin.pro ” 然后回车即可。
    注意:一个域名对应的IP地址可能会发生变化,所以如果能够输入域名链接最好。
2ec2bf904de20266818fd420823e55e76dd121b2



我们现在通过TCP助手,演练一个完整的TCP连接流程。我找了两个TCP助手,一个负责模拟Server,另一个负责模拟Client。
2dbec6b828cf8e104d74e3a2ca072c6c495eefae dd5a921771f7ee6e05d2750625b736e78b5b26ae


     好了,基础知识普及篇到这里结束,不懂的要多百度啊。 下一篇咱讲讲MQTT是啥。
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
6月前
|
物联网
MQTT常见问题之用单片机接入阿里MQTT实例失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
5月前
|
消息中间件 运维 Apache
消息队列 MQ产品使用合集之消费者在消费完成后没有关闭链接,导致连接数达到上限,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
6月前
|
消息中间件 网络协议 开发工具
MQ产品使用合集之rocketmq5.x只有tcp接入点吗,python sdk需要http接入点,请问怎么使用
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
207 2
|
6月前
|
物联网
MQTT常见问题之链接超时发送失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
6月前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
383 0
|
存储 C语言 芯片
51单片机&15单片机 时钟芯片DS1302
51单片机&15单片机 时钟芯片DS1302
249 0
|
传感器 编解码 芯片
51单片机驱动步进电机——使用ULN2003芯片
51单片机驱动步进电机——使用ULN2003芯片
372 0
51单片机驱动步进电机——使用ULN2003芯片
|
网络协议
|
安全 网络协议 API
利用单片机实现天气服务器获取指定位置天气数据
大家好,今天主要和大家聊一聊,如何利用单片机从心知天气服务器上获取到指定位置的天气数据,咱们先来了解一下心知天气吧!​
261 0
利用单片机实现天气服务器获取指定位置天气数据
|
传感器 C语言 芯片
单片机中利用SHT11实现温湿度实验
单片机中利用SHT11实现温湿度实验
217 0
单片机中利用SHT11实现温湿度实验