2.物联网LWIP网络

这篇具有很好参考价值的文章主要介绍了2.物联网LWIP网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意:学习路径

1.如果想要深入了解,学习LWIP的ARM API(对底层操作)

2.如果想要快速开发,学习LWIP的Socket API(针对操作系统)

一。LWIP协议栈

(1)LWIP应用场景 

2.物联网LWIP网络,物联网

        上述是以太网DTU,通过这个器件可以很快捷的把数据传递到以太网上,即DTU就是硬件与以太网传递的中介。大多通信方式都支持,比如I2C,SPI。下面是DTU的一些介绍。

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

        上述为ESP8266,因为ESP8266模块是一款高性能的WIFI串口模块,可以不用知道太多WIFI相关知识就可以很好的上手。说白了,只是个WIFI转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。

(2)LWIP协议介绍

        LWIP是轻量级的IP协议,重点是在保存TCP协议的主要功能上减少对RAM的占用,这使得LWIP协议非常适合在小型嵌入式系统中使用。

(3)LWIP编程接口

2.物联网LWIP网络,物联网

         上述是LWIP在各层提供的接口,IP的模型是适用于LWIP。

LWIP的编程接口

RAW API

         1.是给底层设置的API,不需要操作系统即可以实现;

        2.具体操作的是Pcb(控制块,一个结构体);

        3.具体使用方式是写回调函数(例如以前的中断回调函数);

        4.应用场景:低容量设备,无RTOS操作系统,控制权大多在开发者; 

        5.特点:代码量大,占用空间少。    

Netconn/Socket API

        1.Socket网络变成,就是提供在操作系统的帮助下的网络API;

        2.具体操作的是Socket(操作系统的Socket);

        3.具体使用方式是Linux与Windows的Socket的API;

        4.应用场景:大容量设备,有操作系统;

        5.特点:代码量少,占用空间多。

具体比较

2.物联网LWIP网络,物联网

(4)LWIP硬件接口

2.物联网LWIP网络,物联网

由上述图可知,网卡是通过链表来一一连接的。每个接口都需要4部分:

        1.IP 信息;2.硬件信息;3.驱动函数;4.选项配置

(1)IP信息:

        使用IP时,需要三要素,IP地址、子网掩码、网关。

        配置IP地址,三种方式,static ip(本身的静态ip);DHCP租用一个IP;Auto IP(自动的ip)

(2)Hardware info:

        MTU:数据帧最大1500byte

        MAC 地址:硬件的身份证

        Flags:以下就是Flags,就是把信息封装一下,方便设置

2.物联网LWIP网络,物联网      

 3.Driver Function(驱动函数)

input,linkoutput,link_callback

二。以太网外设编程

1.编程流程

        原理图分析,PHY手册分析,以太网与外设分析,Lwip配置

(1)原理图分析,RMII分析

2.物联网LWIP网络,物联网

RMII原理图在核心板原理图上。通过看实体板子,发现网口接口在左下角,所以在原理图的左下角寻找即可。 

 (2)PHY手册分析

(3)以太网与外设分析

(4)LWIP配置

三。创建工程

实验:使用网络LWIP与电脑相连,并且可以用ping命令通过

1.Cubemx创建工程

(1)操作系统的时钟配置 

2.物联网LWIP网络,物联网

(2)配置ETH

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

 注意:根据底板原理图,不是核心板原理图

(3)配置USART1串口,配置为异步通信

     注意:配置结束后把时钟配置一下,但是这里会有一个弹窗,会自动配置好时钟 

不需要使用HSE外部高频时钟

(4)ETH继续配置

问题:

2.物联网LWIP网络,物联网

解决:使用较新的Cubemx即可

2.物联网LWIP网络,物联网

 初始值0x10,速度0x0002,Duplex0x0004

2.物联网LWIP网络,物联网

(5)接下来配置LWIP

DHCP分配IP地址首先不用

2.物联网LWIP网络,物联网

2.步骤

(1)fputc重定位,使串口可以打印输出

(2)使用LWIP.c中的process函数。

2.物联网LWIP网络,物联网

MX_LWIP_Process();

3.配置网络

思想:

        使用的stm32没有使用DHCP来分配IP地址,是自己写的IP地址与网络ip,所以我们需要在电脑上也配置一下IP地址。

(1)查看stm32配置的ip

2.物联网LWIP网络,物联网

 (2)在电脑上配置ip

(1)stm32的网线与电脑连接,电脑上会出现以下内容。

2.物联网LWIP网络,物联网

 (2)点击进入设置,选择更改配置 

2.物联网LWIP网络,物联网

(3)选择这个未识别的网络

2.物联网LWIP网络,物联网

(4)右键,属性,进入IPv4

 2.物联网LWIP网络,物联网

(5)IP地址的配置

2.物联网LWIP网络,物联网

(3)尝试ping单片机的网络

1. win+R后输入cmd进入控制台。

2. 使用ipconfig /all查看网络《windows下查ip为ipconfig,不是ifconfig

2.物联网LWIP网络,物联网

3.ping单片机的网络,成功

2.物联网LWIP网络,物联网

四。RAW API编程模型

1.TCP建立连接

2.TCP接受数据

3.TCP发送数据

4.TCP关闭连接

2.物联网LWIP网络,物联网

五。实验:TCP回响服务器的实现

 1.实验分析

(1)移植tcp_echoserver.c文件

2.物联网LWIP网络,物联网

(2)main.c添加tcp_enchosever_init

(3)编译烧写

(4)使用NC命令进行连接

(5)发送任意数据等待回响

(1)移植tcp_echoserver.c文件

移植的代码在cubemx工程的目录中,移植到自己的文件中即可

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

 找到TCP的服务文件后,移植.h与.c文件。

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

 复制到自己创建的工程目录下。

2.物联网LWIP网络,物联网

2.物联网LWIP网络,物联网

//上方声明外部函数
extern void tcp_echoserver_init(void);
//下方init初始化
tcp_echoserver_init();

结果:

ping可以通过,nc 192.168.1.10 7可以有回响的功能。(7是端口号,在tcp_echoserver_init()函数中可以找到配置

2.物联网LWIP网络,物联网文章来源地址https://www.toymoban.com/news/detail-642943.html

到了这里,关于2.物联网LWIP网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 8.物联网LWIP之使用web点亮led灯

    一。HTTP详解 1.超文本:(HyperText) (1)超文本文件彼此链接,形成 网状 (web),内含有 超链接 (Link)与各种 媒体元素标记 (Markup)。 (2)超文本文件彼此 链接使用URL 表示。(下面解释URL) (3)常见超文本格式是 超文本标记 语言 HTML 。(下面解释HTML,代码) 综上

    2024年02月11日
    浏览(21)
  • 9.物联网LWIP,ip数据报,udp数据报,tcp数据报

    一。ip协议原理(网络层) 1.网络地址转换NAT         我们上网是通过运营商向我们提供的IP地址来上网的,并不是自身的IP地址,所以这就需要网络地址转换NAT的帮助。即内网访问外网所需要的ip转换装置。 2.ip数据报 (1)版本          占据4bit空间,定义IPv4与ipv6,对应的

    2024年02月10日
    浏览(27)
  • 4.物联网LWIP之C/S编程,实现服务器大小写转换

    LWIP配置 服务器端实现 客户端实现 错误分析 一。LWIP配置(FREERTOS配置,ETH配置,LWIP配置) 1.FREERTOS配置  为什么要修改定时源为Tim1?不用systick? 原因:HAL库与FREERTOS都需要使用systick,两者冲突,所以修改时钟源,让FREERTOS使用Tim1。  2.ETH配置  3.LWIP配置 不使用DHCP  4.步骤

    2024年02月12日
    浏览(24)
  • 【物联网学习笔记】CubeMx+STM32F407ZGT6+LWIP最最最基础配置

    使用正点原子探索者开发板 板载芯片:STM32F407ZGT6 PHY芯片:LAN8720 LWIP版本:2.1.2 本次目标:先ping通开发板再说! 修订: · 2024.4.23经评论区反馈又重新下载6.10版本CubeMX,发现确实没有Advanced Parameters,目前使用6.6.1存在,如有需要可以改成这个版本。 更改引脚 在ethernetif.c中找

    2024年04月27日
    浏览(61)
  • 8.物联网LWIP,简要介绍http(超文本,URL),html(css,ajax),web实现打开灯

    一。HTTP详解 1.超文本:(HyperText) (1)超文本文件彼此链接,形成 网状 (web),内含有 超链接 (Link)与各种 媒体元素标记 (Markup)。 (2)超文本文件彼此 链接使用URL 表示。(下面解释URL) (3)常见超文本格式是 超文本标记 语言 HTML 。(下面解释HTML,代码) 综上

    2024年02月10日
    浏览(38)
  • 【lwIP(第四章)】网络接口

    lwIP协议栈支持多种不同的网络接口(网卡),由于网卡是直接和硬件平台打交道,硬件不同则处理也是不同的,所以由用户提供最底层的接口函数,lwIP提供统一的接口,但是底层的实现需要用户自己去完成(ethernetif.c) 一个系统中可能有多个网络接口,有可能是以太网,有

    2023年04月22日
    浏览(27)
  • RT-Thread 组件-网络组件-Lwip UDP说明①

    1.1 协议简介 UDP (User Datagram Protocol):用户数据报协议,是一种简单、无连接、不可靠的传输协议。 无需建立连接、没有提供任何流量控制、拥塞控制机制,收到的报文也没有确认,因此 UDP 的传输速度快,但不能保证数据到达目的地。 与我们熟知的 TCP 协议一样,都属于 OS

    2024年02月22日
    浏览(31)
  • GD32F470之网络lwip+UDP配置+lan8720芯片

    先申明,本栏目用的都是GD32F470芯片240M,软件用的是keil,编写用的是C++(其实和C没有区别). 和STM32的lwip配置大致一样,主要不一样的地方在于 PHY的配置顺序问题,下面会讲到. 我用的是lan8720,所以头文件要修改一下,在gd32f4xx_enet.h中。 把PHY_TYPE改为LAN8700, PHY_ADDRESS改为0, 这是

    2023年04月09日
    浏览(35)
  • 驾驭车联网的力量:深入车联网网络架构

    车联网,作为移动互联网之后的新风口,以网联思想重新定义汽车,将其从简单的出行工具演化为个人的第二空间。车联网涵盖智能座舱和自动驾驶两大方向,构建在网联基础上,犀思云多年深度赋能汽车行业,本文将从车联网基础网络角度带您深入探讨车联网的网络构架。

    2024年01月20日
    浏览(39)
  • 物联网网络通讯知识

    RTU英文全称Remote Terminal Units,中文全称为远程终端单元。远程终端设备(RTU)是安装在远程现场的 电子设备 ,用来监视和测量安装在远程现场的传感器和设备。通俗理解就是能够编程的还可以将数据传输到服务器的工具。RTU内部是包含 通讯模块 的,RTU仪表配置服务器后,就可

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包