搜索
bottom↓
回复: 31

eBox驱动:WiFi模块驱动(esp8266-12f)使用教程-----STM32基于eBox

  [复制链接]

出0入17汤圆

发表于 2016-3-23 14:15:53 | 显示全部楼层 |阅读模式
本帖最后由 shentqlf 于 2016-3-23 14:57 编辑

WiFi目前应用越来越广泛,串口WiFi对于单片机来说是一种比较方便的接入方式,一般使用一组AT命令来做为通信。

但是我一直也没找到一个很完美的驱动,然后花了很长时间和一个网友一起写了一套基于eBox的API驱动。欢迎拍砖。

eBox架构下的驱动将AT命令封装为用户及其方便使用的一套API。并撰写了基于API的几个标准网络应用,提供了标准应用的使用例程。降低用户编程难度。

  • 驱动架构
  

使用eBox串口驱动为基础通信接口,配合系统提供的时基服务,这是系统的基本依赖关系。

  • 驱动整体认识
(一)数据接口层是整个驱动中最复杂的部分:
        1.AT命令发送:使用用户指定的串口发送AT格式消息
        2.AT命令接收:使用一个rx_cmd_buf缓冲区作为AT命令接收缓冲区。在用户发送完一个AT命令后,系统会在TIMEOUT时间内等待AT命令的回复,并根据回复的内容进行返回相应的结果。如果超时没有响应,则退出等待。
        3.异步网络数据的接受:当模块配置好网络连接后,模块接受到网络数据后会第一时间将有效数据通过串口发送给主机。驱动会通过状态机的控制将数据合理的分配到一个环形缓冲区内。环形缓冲区的大小可以根据需求进行配置。
      * 4.读取网络数据:用户只需在应用层调用相关的read方法即可将数据读出。返回值为其读取数据的长度。(此段为高级应用层部分,放到此处是为了让用户全面的认识数据发送和接受的基本过程)
        注解:AT命令接收和网络数据接收分别建立了缓冲区进行处理。这样可以降低代码的复杂性。
(二)AT命令层
       这一层主要是实现所有AT命令格式打包发送,用户只需将参数输入即可实现。
(三)API接口层
        此层是为了进一步方便用户的使用,AT命令层由于函数名称比较晦涩,参数过于复杂,不适合用户直接使用。通过此层的打包组合实现特定功能。
网络应用层
API接口功能基本上已经可以满足用户的基本需求,但是用户需要去使用很多API来实现一个特定的功能,所以针对一些常用的网络协议,直接进行API打包组合产生一个特定网络功能,比如UDP,TCP客户端,TCP服务器等功能。
到了这一层用户基本上已经完全脱离了底层复杂性。可以放心的去调试自己的网络数据。
  • 应用示例

驱动好用不好用看看示例代码便可知晓,有不完善的地方欢迎大家提出修改建议。

    1.基本测试,检测WiFi模块是否可用和其版本号
  
       2.一个UDP的例程,发送一个UDP数据包。接收UDP数据并将其输出到串口上

   

       3.TCP客户端

                TCP的使用方法和UDP的方法几乎完全一样。详细内容请参考源代码。



到此我想大家应该已经基本了解了驱动的基本情况,可能有部分网友会觉得这么封装下来性能如何?我只能说,性能肯定不如你自己去写好一个AT命令用串口直接发出去高。更没有汇编效率高。但是会尽可能的优化部分高频率使用的函数以提高性能。


多说两句:

eBox目前已经更新了很多功能,也有了更好的兼容性,很多网友给我了一些自己写的驱动。eBox的发展离不开大家的共同努力!希望大家多多支持!

刚刚忘了上传附件了~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-3-23 14:37:37 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2016-3-23 14:45:14 | 显示全部楼层
先留个名

出0入0汤圆

发表于 2016-3-23 15:31:13 | 显示全部楼层
支持下楼主

出0入0汤圆

发表于 2016-3-23 17:23:47 | 显示全部楼层
mark,收藏,支持一下

出0入0汤圆

发表于 2016-3-23 18:14:01 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2016-3-23 20:38:52 | 显示全部楼层
这个模块功耗大吗?

出0入0汤圆

发表于 2016-3-23 21:08:59 | 显示全部楼层
ESP8266这个模块工作发送电流近200MA 但是睡眠功耗还是很低的,现在已经用得非常广泛了,我们公司现在模块 成品都有在大量出货

出0入0汤圆

发表于 2016-3-23 21:43:15 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2016-3-23 22:19:54 来自手机 | 显示全部楼层
有透传数据的协议部分?

出0入0汤圆

发表于 2016-3-23 22:45:42 | 显示全部楼层
去楼主网店搞个开发板来玩玩。

出0入17汤圆

 楼主| 发表于 2016-3-23 23:37:00 来自手机 | 显示全部楼层
bad_fpga 发表于 2016-3-23 20:38
这个模块功耗大吗?

功耗还是蛮大的。低功耗肯定不能选

出0入17汤圆

 楼主| 发表于 2016-3-23 23:37:46 来自手机 | 显示全部楼层
292302877 发表于 2016-3-23 21:08
ESP8266这个模块工作发送电流近200MA 但是睡眠功耗还是很低的,现在已经用得非常广泛了,我们公司现在模块  ...

说得对!

出0入17汤圆

 楼主| 发表于 2016-3-23 23:38:58 来自手机 | 显示全部楼层
lnso 发表于 2016-3-23 22:19
有透传数据的协议部分?

透传的目前还没完善,但是架构里面已经考虑了,是可以支持的

出0入17汤圆

 楼主| 发表于 2016-3-23 23:39:24 来自手机 | 显示全部楼层
phone 发表于 2016-3-23 22:45
去楼主网店搞个开发板来玩玩。

多谢支持!

出0入0汤圆

发表于 2016-3-23 23:52:17 来自手机 | 显示全部楼层
谢谢分享 需要就过来买

出0入0汤圆

发表于 2016-3-24 11:14:08 | 显示全部楼层
谢谢分享

出0入17汤圆

 楼主| 发表于 2016-3-26 12:57:04 | 显示全部楼层
heyj6969 发表于 2016-3-23 23:52
谢谢分享 需要就过来买

多谢支持!

出0入0汤圆

发表于 2016-3-26 18:29:49 | 显示全部楼层
买了两块还没驱动起来,谢谢楼主资料

出0入0汤圆

发表于 2016-3-27 09:22:48 | 显示全部楼层
支持一下

出0入17汤圆

 楼主| 发表于 2016-3-27 19:18:20 来自手机 | 显示全部楼层
liwang 发表于 2016-3-26 18:29
买了两块还没驱动起来,谢谢楼主资料

用我这个驱动很容易就搞定了

出0入0汤圆

发表于 2016-3-28 17:54:48 | 显示全部楼层
帮忙顶一下

出0入0汤圆

发表于 2016-3-29 08:11:45 来自手机 | 显示全部楼层
顶一个!

出0入8汤圆

发表于 2016-3-29 16:54:06 来自手机 | 显示全部楼层
好人~~~~

出0入17汤圆

 楼主| 发表于 2016-3-29 22:16:05 | 显示全部楼层

需要大家一起投入开发进来,才能出更多的好东西

出0入0汤圆

发表于 2016-4-1 07:17:59 | 显示全部楼层
shentqlf 发表于 2016-3-29 22:16
需要大家一起投入开发进来,才能出更多的好东西

众人拾柴火焰高,嵌入式开发的重复劳动太多了,搞一个用的人越多越好用的生态是个好主意,支持楼主

出0入17汤圆

 楼主| 发表于 2016-4-1 08:53:12 | 显示全部楼层
lechang 发表于 2016-4-1 07:17
众人拾柴火焰高,嵌入式开发的重复劳动太多了,搞一个用的人越多越好用的生态是个好主意,支持楼主 ...

构建一个生态系统很重要,要不然开发永远是搬砖

出0入0汤圆

发表于 2016-4-3 12:54:09 | 显示全部楼层
怎么不用spi呢,用串口和esp8266通信多慢啊 如果外设本身也是串口,比如stm32 5个串口都用 ,上链也是串口 就不合适了吧
ESP8266 有SPI的

出0入17汤圆

 楼主| 发表于 2016-4-4 22:54:28 | 显示全部楼层
ericdai 发表于 2016-4-3 12:54
怎么不用spi呢,用串口和esp8266通信多慢啊 如果外设本身也是串口,比如stm32 5个串口都用 ,上链也是串口  ...

多谢提醒!回头我试试

出0入0汤圆

发表于 2018-12-18 13:41:38 | 显示全部楼层
这个是阻塞的吗。发完AT一直等待OK返回才继续往下运行程序?

出0入0汤圆

发表于 2018-12-18 19:13:31 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2018-12-18 19:52:08 | 显示全部楼层
感谢分享!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 02:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表