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.设备接入测试稳定性

  • 相关阅读:
    周易:简易、变易、不易
    2018.net面试题汇总
    关于《推荐系统实践》
    设计模式指引
    facebook的工程开发,不得不佩服
    eclipse自动补全的设置
    数据智慧工程师——计算机和人类之间的中间人——如何从数据中获取有价值的知识
    (移动位置社会网络中)LBSN:好友关系对人类活动的影响分析
    加快软件开发速度,eclipse最常用的快捷键
    人生是一对一的搏斗
  • 原文地址:https://www.cnblogs.com/mrsandstorm/p/7095642.html
Copyright © 2011-2022 走看看