zoukankan      html  css  js  c++  java
  • lwip学习 0.学习计划

    个人初次基础 lwip,所以在这里记录学习过程。如果有什么问题,欢迎交流。

    一.开发环境

      硬件环境:

        主要芯片:STM32F207VET6 + DP83848

      软件环境:

        系统版本:RT-THREAD2.1.0 + LWIP1.4.1

        编译环境:IAR7.8

    二.学习计划

      1.lwip应用初体验

        任务要求:设备1<----->设备2

        总的通信流程:

          1. 设备2通过UDP通过8000端口广播 “!Dev2_SearchValidMac$

          2. 设备1通过监听UDP8000端口,收到广播包“!Dev2_SearchValidMac$”,并回复TCP服务器地址(假如为192.168.4.132)和端口号(假如为9876),例如“!Dev1_192.168.4.132_09876_00:60:6e:3a:00:39$”(项目中可固定字节数)

          3. 设备2通过设备1回复的ACK中的地址和端口号,连接相应的服务器,建立通信

          4. 设备2根据4455协议发送ch+opcode+arg_len+arg给设备1,设备1根据4455协议回复ch+opcode+0XFF

          异常备注:a. 步骤3完成之后,设备2理论上30S会发送一条心跳报文给设备1,如果设备1连续2分钟都没有收到心跳,直接断开此连接

          设备单独分析:

            设备1:

              设备上电:

                a.开启TCP_Server的Soket端口6000,等待客户端连接通信,连接成功之后,心跳包不可超过2分钟,否则重启TCP_Server

                b.开启UDP的Soket端口6000,等待接收广播包,如果收到有效广播包,回复相应的自身TCP_Server信息

            设备2:(第一阶段用PC代替)

              设备上电:

                a.开启UDP的Socket端口,定期发送广播包“!Dev2_SearchValidMac$”,收到有效数据包后

                b.开启TCP_Client的Soket,根据UPD收到数据包连接服务器,连接成功之后,心跳包30S一次,发送失败,重新连接。

      2.lwip应用提高篇

        任务要求:

          a.梳理初体验篇中的各种异常情况并处理

          b.梳理Lwip中的多个重要函数使用方法

      3.Lwip项目实践篇

        任务要求:EMW3165+红外转发器可以用手机远程控制。

    三.Lwip学习计划变化

      1.根据网关协议,做一个逻辑简单的网关

        设备的所有硬件BSP包支持+所有软件BSP包支持+platform包支持

      2.设备接入测试稳定性

  • 相关阅读:
    CodeForces 660D Number of Parallelograms
    【POJ 1082】 Calendar Game
    【POJ 2352】 Stars
    【POJ 2481】 Cows
    【POJ 1733】 Parity Game
    【NOI 2002】 银河英雄传说
    【NOI 2015】 程序自动分析
    【POJ 1704】 Georgia and Bob
    【HDU 2176】 取(m堆)石子游戏
    【SDOI 2016】 排列计数
  • 原文地址:https://www.cnblogs.com/mrsandstorm/p/7095642.html
Copyright © 2011-2022 走看看