• ESP8266 SDK开发: 网络篇-TCP服务器(espconn) (NONOS 2.2.0)


    前言

    关于网络通信:

    每一台电脑都有自己的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.包含以下头文件

    #include  "espconn.h"
    #include  "mem.h"

    2.定义一个espconn

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

     

    3.配置下 TCPServer

        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.在监听函数中注册其它函数

     

    5.测试(手机APP连接测试)

     

    5.1手机APP连接模块无线

     

     

     

    5.2 使用手机APP调试助手测试

    安装调试助手

     

    点击左上角菜单

     

     

     

     

     

    点击网络通信

     

     

     

    选择 TCP/UDP通信

     

     

     

    选择TCP客户端,IP地址192.168.4.1(8266默认IP)

    端口号:8080

    点击 连接

    6.测试(电脑上位机连接测试)

    电脑连接8266无线

     7.编写判断串口接收到一条完整的数据程序

    7.1 编写判断串口接收到一条完整的数据程序

    具体请参考: https://www.cnblogs.com/yangfengwu/p/11669373.html

     

    7.2

    8.wifi串口接收的数据转发给TCP客户端(透传)

    8.1 定义一个 espconn 变量,用于获取 espconn 结构体指针

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

    8.2 赋值

    8.3 发送数据

    测试

  • 相关阅读:
    Linux初级知识_04 -- 目录结构与目录管理
    查找无限整数序列的第n位1,2,3,4,5,6,7,8,9,10,11,...
    谷歌面试题:在半径为1的圆中随机选取一点
    FtpClient 调用storeFile 抛出 java.net.SocketException异常
    CountDownLatch 使用
    软件版本号比较 java工具类
    pcm文件转wav C语言
    unimrcp更改安装目录
    xpath学习记录
    jackson 实体转json 为NULL或者为空不参加序列化
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12543847.html
Copyright © 2020-2023  润新知