Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 399|回复: 0

3.02-网络篇-8266TCP服务器(espconn实现) (NONOS 2.2.0)

[复制链接]

56

主题

56

帖子

224

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
224
发表于 2020-10-27 20:23:00 | 显示全部楼层 |阅读模式



前言
关于网络通信:
每一台电脑都有自己的ip地址,每台电脑上的网络应用程序都有自己的通信端口,
张三的电脑(ip:192.168.1.110)上有一个网络应用程序A(通信端口5000),
李四的电脑(ip:192.168.1.220)上有一个网络应用程序B(通信端口8000),
张三给李四发消息,首先你要知道李四的ip地址,向指定的ip(李四ip:192.168.1.220)发信息,
信息就发到了李四的电脑。
再指定一下发送的端口号(通信端口8000),信息就发到了李四电脑的网络应用程序B上。
TCP--一种网络通信方式而已。分为服务器(网络应用程序)和客户端(网络应用程序).
1.包含以下头文件
819239-20200322022210762-812162953.png



espconn.h"mem.h"



2.定义一个espconn
819239-20200322020815428-246670795.png



struct espconn TcpServer;//TCP连接配置的结构体

3.配置下 TCPServer
819239-20200322021206674-1942065433.png





espconn_init();//初始化
    TcpServer.type = ESPCONN_TCP;     //创建TCP
    TcpServer.state = ESPCONN_NONE;   //一开始的状态
    TcpServer.proto.tcp = (esp_tcp *)os_malloc(sizeof(esp_tcp));


    TcpServer.proto.tcp->local_port = 8080;//监听的端口号
    espconn_regist_connectcb(&TcpServer, TcpServerListen);//注册监听函数
    espconn_accept(&TcpServer);//启动监听






4.在监听函数中注册其它函数
819239-20200322021808282-1254996390.png








5.测试(手机APP连接测试)
5.1手机APP连接模块无线
819239-20200302013314052-1886815986.png
5.2 使用手机APP调试助手测试
安装调试助手
819239-20200302012912222-1583995836.png
点击左上角菜单
819239-20200302012949362-341273747.png
点击网络通信
819239-20200302013047330-1288207005.png
选择 TCP/UDP通信
819239-20200302013130625-1515423619.png
选择TCP客户端,IP地址192.168.4.1(8266默认IP)
端口号:8080
点击 连接
819239-20200302013459313-569275803.png

819239-20200322022604091-1651945073.png




819239-20200322022738663-348403465.png






6.测试(电脑上位机连接测试)
819239-20200302013843551-1963600627.png

电脑连接8266无线
819239-20200302013939115-2059524425.png




819239-20200302014003523-585858287.png



819239-20200302014017687-912387722.png

819239-20200322022949155-869095383.png




819239-20200322023003828-1357751327.png



7.编写判断串口接收到一条完整的数据程序
7.1 编写判断串口接收到一条完整的数据程序
7.2
819239-20200322030643617-1538798270.png


819239-20200322030704664-2077728467.png







819239-20200322030838183-1075677952.png





819239-20200322030908098-1347391777.png



819239-20200322030917160-1251297967.png

8.wifi串口接收的数据转发给TCP客户端(透传)
8.1 定义一个 espconn 变量,用于获取 espconn 结构体指针
819239-20200322031103292-1406353227.png




struct espconn *TCPSendDate = NULL;//发送数据使用


8.2 赋值
819239-20200322031148401-713387.png




8.3 发送数据

819239-20200322031217081-2098791725.png


测试
819239-20200322032623023-2017447922.png




819239-20200322032636675-808465232.png



copycode.gif
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2020-11-30 22:17 , Processed in 0.085451 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表