大家好,
最近详细研究了RT-THREAD的net组件,特别是使用at组件和sal套接字抽象层编写的关于esp8266这一类通过at指令进行控制的通讯模块,设计十分精妙,大大简化了at指令控制的通讯模块驱动程序的开发和使用。
但回过头来,又产生新的疑问?RT-THREAD设备和驱动中还有一个wlan设备驱动框架,wlan设备也是属于网络通信类的,应该和net组件有关联吧?但是仔细研究了后发现,二者似乎又无关联,各自是一套独立的代码实现,请问下各位朋友,应该如何将这二者结合起来呢?又该怎样去理解这两部分的关系呢?
比如:
1.esp8266能否也加入wlan框架呢,以wlan设备方式进行控制和通讯?
2.正点原子潘多拉ap8216模块,能否以net驱动框架sal方式实现驱动程序,然后使用socket api来使用呢?
希望各位大佬指点迷津,谢谢!
WLAN 框架是 RT-Thread 开发的一套用于管理 WIFI 的中间件。详细可以看一下文档中WLAN 设备
Net 组件的主要内容有 4 个方面,分别是 sal ,AT,lwip 与 netdev,可以看一下文档net组件
两者主要框架见附图,比较清楚。
1.基于 AT 的 WIFI 设备是可以对接 WLAN 框架的,目前 AT Deivce 中可能只实现了 WIFI 的连接,如果对接 WLAN 框架可以实现对 WIFI 扫描、断开、状态获取等功能,并且也方便用户使用,可以尝试对接。
2.ap8216的haul是可以对接到SAL框架,也能使用BSD socket的相关API的。这里有一篇关于ap6181的移植和对接过程,讲解非常详细,可以参考一下IOT-OS之RT-Thread(十六)—- WLAN管理框架 + AP6181(BCM43362) WiFi模块