TCP转MQTT通信系统开发者文档

本文介绍了如何利用TCP协议让支持TCP的设备实现MQTT通信,比较了TCP和MQTT的优缺点,并提供了Python和WebSocket示例代码。着重强调了TCP的灵活性、可靠性以及在不同应用场景下的适用性。
摘要由CSDN通过智能技术生成

TCP转MQTT通信系统开发者文档

口号与价值:
让tcp通信设备(或wsSocket设备)实现mqtt通信功能
如:esp8266AT固件也能实现MQTT通信
如:没有mqtt库的设备只有tcp库 也能实现MQTT通信
支持网页 手机APP 小程序 AT固件 嵌入式设备等实现云通信
域名访问 yun.zh1024.com 端口11081
ip访问 103.103.201.245 端口11081
测试主题 id012345678910pw123,其中id是012345678910密码是123
所有设备和客户端只要是在同一个id主题下,都可以相互通信和mqtt主题通信一样

在这里插入图片描述

TCP协议和MQTT协议各有其优势,以下是TCP协议相对于MQTT的几个优点:

  1. 高度的灵活性和可扩展性:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,可以支持任意复杂度的应用。而MQTT是基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上。因此,在某些需要自定义应用层协议的场景下,TCP协议具有更高的灵活性和可扩展性。

  2. 数据传输的可靠性:TCP协议提供数据包的顺序传送和错误检测,确保数据在传输过程中的可靠性。相比之下,MQTT虽然也提供了一定的可靠性保证,例如可以从断开连接等故障中恢复,但在一些对数据可靠性要求极高的场景下,TCP可能会是更好的选择。

  3. 全面的网络支持:TCP协议得到了所有主流操作系统和硬件平台的支持,无论是服务器还是客户端,都能轻易实现TCP连接。而MQTT虽然得到了广泛的设备支持,但在某些特定环境或设备上可能无法与TCP相提并论。

  4. 强大的并发处理能力:TCP协议支持大规模的并发连接,可以有效地处理海量的网络请求。相比之下,MQTT协议在连接大量客户端的情况下可能需要更多的优化和资源投入。

  5. 直接支持所有类型的应用层协议:由于TCP是一种通用的传输层协议,它可以支持任何类型的应用层协议,包括但不限于HTTP、FTP、SMTP等。而MQTT主要是针对物联网设备设计的轻量级通信协议,因此在一些非物联网场景下,TCP可能会是更好的选择。

TCP tcpudpdbg上位机展示

在这里插入图片描述图片中显示的温湿度是esp8266网络通信模块结合51单片机发出AT指令登录主题 id012345678910pw123 实时发送出来的

TCP NetAssist上位机展示

在这里插入图片描述图片中显示的温湿度是esp8266网络通信模块结合51单片机发出AT指令登录主题 id012345678910pw123 实时发送出来的

TCP转MQTT通信系统使用手册

登录id主题成功 返回 [INFO]:ID OK 保持连接状态
登录id主题失败 返回 [INFO]:ID ERR 断开连接状态
未登录id主题发送数据 返回 [INFO]:ID THEME 保持连接状态
设备或者客户端60秒内没有发送数据 断开连接状态(原因:保持心跳,如果超过60秒判断离线)
所有设备和客户端只要是在同一个id主题下,都可以相互通信和mqtt主题一样

下载文件可以访问官网 http://zh1024.com/tcphttps://zh1024.hsk.top/tcp

在这里插入图片描述

TCP转MQTT通信系统各种编程代码接入

1.示例python语言socket代码接入

import socket
# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
client_socket.connect(('yun.zh1024.com', 11081))
# 向服务器发送数据 登录主题
client_socket.send("id012345678910pw123".encode('utf-8'))
# 接收服务器发送的数据
while 1:
    data = client_socket.recv(1024)
    print("接收到的数据",data.decode('utf-8'))
# 关闭连接
client_socket.close()
    

2.示例html js语言WebSocket代码接入


        // 创建 WebSocket 连接
        const socket = new WebSocket('ws://yun.zh1024.com:11081');

        // 连接打开时触发
        socket.addEventListener('open', (event) => {
            console.log('WebSocket 连接已打开:', event);
			// 向服务器发送数据 登录主题
            socket.send('id012345678910pw123');
        });

        // 接收到服务器消息时触发
        socket.addEventListener('message', (event) => {
            console.log('收到服务器消息:', event.data);

        });

        // 连接关闭时触发
        socket.addEventListener('close', (event) => {
            console.log('WebSocket 连接已关闭:', event);
        });

        // 连接发生错误时触发
        socket.addEventListener('error', (event) => {
            console.error('WebSocket 错误:', event);
        });

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值