南通专业网站建设,python网站开发架构,wordpress主题安装后图片找不到,安全的定制型网站建设作为一款在RTOS领域对网络支持很丰富的RT-Thread#xff0c;对设备联网功能的支持的工具就是net组件。 位于/rt-thread/components/net路劲下#xff0c;作为一款基础组件#xff0c;env与Studio的工程配置项界面的配置项都依赖该目录下的Kconfig。 我们对网络功能的选择对设备联网功能的支持的工具就是net组件。 位于/rt-thread/components/net路劲下作为一款基础组件env与Studio的工程配置项界面的配置项都依赖该目录下的Kconfig。 我们对网络功能的选择或者其配置都属于该Kconfig的管理范畴。 从图片中的信息可以了解到ATLwipnetdevsal这些我们相对熟悉的功能也位于该目录中。 这四个基础组件可以驱动的网络设备的种类多到各个方面。 从有线网络的各种 ETH 的方式带 PHY 的 enc28j60纯接口的 RJ45还有自带网络协议栈的 W5500都可以直接经过配置通过我们的 net 组件实现设备联网的需求除了有线网络的接入方式无线网络的接入方式则更多2G模块3G模块4G模块Cat-1模块Cat-4模块NB-IOT模块乃至 5G 模块这些依赖基站运营商的入网方式例如 SIM800EC20AIR720L610N58M5311 等这些不同厂家不同工作频率的模组均可以通过 NET 组件入网WIFI 这种无需运营商直接提供的网络的入网方式例如 ESP8266W60xrw007 等。
通过上面的简单介绍大家可以基本了解Net组件的作用即为使用RT-Thread的设备提供上网能力。 上面的联网设备品类繁多方式各异但其实追踪到依赖的基础net能力其实也没有多复杂。实际上大部分的功能依赖的基础能力只有两组而已即ATLwip而用户也就是开发者层面大部分就只用到SAL这一个概念。 通过SAL接口大家可以实现MQTTNTPTFTPTCP ClientTCP ServerwebclientUDP ClientUDP Serverwebnet 等这些大家经常会使用的工具。像浏览器一样访问网站webclient模拟一个网站webnet连接各种云平台Mqtt获取准确授时NTP通过网络传输文件TFTP诸如此类功能SAL提供了轻松访问网络的一把钥匙。可以理解这把钥匙是向上的。
总概
对于一个给定的模组它的联网方式有时并不是单一的以常见的Cat-44G模块为例一方面它可以使用AT命令这种经典的方式来实现网络连接另一方面又可以通过PPP拨号使用lwip的方式实现网络连接。
或者在以 W60x 为例一方面可以使用 AT 的方式来实现联网功能另一方面又可以使用裸 IP 包的方式来实现网络连接。
在选取上网模块时应当考虑片上资源的情况以及网络质量的问题选择比较适合的联网方式。
AT AT命令一开始并没有那么丰富一开始用作拨号的功能也就是电话业务方面的内容。 后来随着时间发展AT命令的范围也一步步进行了扩展而逐渐支持了网络的一些功能例如TCPUDP的功能而到现在有些模块甚至直接使用AT命令扩展的方式实现了诸如MQTTHTTPHTTPS之类的功能。
这些使用扩展AT命令方式实现的上层应用堆模块依赖度高。在RT-Thread的IOT Package的栏目中可以留意到这样的软件包例如bc28_mqtt。
RT-Thread 的AT socket功能则是更接近底层实现TCP UDP这样的接口通过SAL来实现MQTT这种上层应用。
AT组件设计目的就是使设备能发送和解析AT命令。
对于AT Client来说是由MCU向Modem发送AT命令由Modem响应命令并给出回复。这种方式是我们常用的通过支持AT的模组上网的常用方式。对于AT Server来说是由MCU作为类似Modem的功能由其它MCU向这个MCU发送AT命令由这个MCU响应AT命令并做出回复。
Lwip
大家基本都是看过这个TCP/IP模型的在嵌入式的网络协议栈入口中Lwip就是很重要的一个入口Lwip是开源的一个协议栈得到验证和肯定的嵌入式TCP/IP网络协议栈Lwip的全称a lightweight TCP/IP stack一个轻量级的TCP/IP协议栈。
所以可以知道lwip 并不是嵌入式上唯一的 TCP/IP 协议栈但 lwip 是经过验证的能胜任工作的 TCP/IP 协议栈。在 RT-Thread 中提供了三个 lwip 的版本供用户使用 lwip1.4.1lwip2.0.2lwip2.1.2 通常大家在使用有线连接的方式使用网络时一部分是使用的 lwip 协议栈而另一部分则是使用了 w5500 这种方式来实现。