历史背景
这篇文章主要记录了我在使用ETH-01模块(以下简称模块)的时候遇到的问题,开始一直打算使用http协议发送报文,相信正在使用模块的小伙伴也会发现很困难,过程相当复杂,是因为模块是tcp链接,你使用tcp链接你会发现直接就监听到了,看到这里的的某些小伙伴应该就有解决方案了(狗头)
这篇文档文末分享,你所看到的上位机已连接,采用的就是tcp端口监听的方法
上位机工具文末分享
正文
- 首先将你的模块连接在同一局域网下,使用网络配置工具配置好,工具如下
设置好端口ip后,这些文档中都有讲到,按做就行了。
- 配置好后,打开上位机,使用TTL转USB将模块连接至电脑,上位机左边点打开,应该就会显示连接好了
- 接下来就是监听了,当然这个时候你打开上位机右边的监听你也能看见监听上了,但我们要实现的是后端监听,数据处理,对吧。所以开始后端代码,我用的是python,代码如下:
# -*- coding: utf-8 -*-
from socket import *
from time import ctime
import requests
host = '192.168.0.104'
port = 8998
bufsiz = 1024
addr = (host,port)
#创建tcp套接字,绑定,监听
tcpServerSock = socket(AF_INET,SOCK_STREAM)#创建TCP Socket
#AF_INET 服务器之间网络通信
#socket.SOCK_STREAM 流式socket , for TCP
tcpServerSock.bind(addr)#将套接字绑定到地址,
#在AF_INET下,以元组(host,port)的形式表示地址.
tcpServerSock.listen(5)#操作系统可以挂起的最大连接数量,至少为1,大部分为5
while True:
print('waiting for connection')
tcpClientSock, addr2 = tcpServerSock.accept() #接受客户的连接
#接受TCP连接并返回(conn,address),其中conn是新的套接字对象,
#可以用来接收和发送数据。
#address是连接客户端的地址。
print('connected from :',addr2)
while True:
try:
data = tcpClientSock.recv(bufsiz) #接收客户端发来的数据
except Exception as e:
print(e)
break
if not data:
break
# print(data)
str_data = str(data, "utf-8")
# print(str_data)
tcpClientSock.close()
break
奥里给!!!!
相关资料下载地址