【开发手札】关于折腾esp8266的一些体会

        近来接触了一些刚开始折腾ESP8266的一些网友,虽然自己之前有做一些程序开发和数据处理方面的工作,但在硬件领域也算是一个菜鸟,这里不敢谈什么指导意见,只能说分享一下自己的一些折腾的经验,希望对大家有帮助,希望群里的大神批评指正。
        首先,虽然ESP8266市面上的模块类型很多,一般入门的朋友都会从安可信的01模块入手,原因就是这个模块虽然引出的gpio接口少,但是作为入门进行一般的通信已经绰绰有余了。玩8266的一般主要是两种玩法,一种是作为单纯的通信模块,配合一些单片机芯片进行数据处理,比如51、arduino等;另外一种就是直接采用SDK的方法直接在8266上做开发,既做通信又做逻辑处理。
        先来说说第一种方式,这种方式比较简单,使用简单的AT命令就可以实现基本的通信功能,缺点是有点大材小用了,其实8266里面是有mcu的,对于一些基本的逻辑处理绰绰有余,甚至性能好过一些单片机模块,而且如果配搭一些单片机实用的话无疑增加了模块,增大了体积,而且8266使用的是3.3v的电压,部分单片机用的是5v的电压,在供电处理上比较麻烦;另外增加了模块之间的通信连线,也增加了硬件出错的几率。
另一种方式是之间使用SDK编程的方式进行固件开发,直接使用8266模块进行通信和逻辑处理,但是需要一定的编程基础和嵌入式开发的一些基础知识,对于一般的网友入门可能有点难度,但是官网提供了很完善的开发资料,包括文档和工具,花点时间开发一些简单的功能还是很容易上手的,而且目前arduino IDE也支持esp8266的SDK开发,为初学者入门进一步铺平了道路。我个人建议如果是有意做点开发的朋友,还是建议使用官方的环境进行开发,这里说明一下我提到的官方指的是芯片的制造商-- 乐鑫 ,很多网友使用的是安可信的模块,并且用于开发的工具也是他们出的那个ESP8266 IDE 2.0,都觉得安可信是官方,其实乐鑫才是芯片制造商,乐鑫上面的资料更多(并不是卖广告,确实是很多朋友问),而且网站提供中英文双语,已经很良心了,网站上的实例复制到开发环境就直接能用,非常方便,这里也顺便提供一下相关的技术链接,方便大家使用,建议大家开发之前先看看这里的相关内容,少走一点网路。
文档链接: http://espressif.com/zh-hans/support/download/documents
代码实例 http://espressif.com/zh-hans/support/explore/sample-codes
        下面对开发中遇到的一些问题在这里将我的个人理解与大家分享一下,下面的内容仅供完全零基础的网友使用,大神勿喷,如果有说得不对的地方请指正。
        首先来理解一个名词就-- 波特率 ,这个名称从你一开始使用模块就会接触到,很多网友可能会说波特率就是115200、9600,但是这些数字怎么理解?这里不讲技术,具体的技术层面的东西大家可以自行度娘,我这里只讲怎么理解。两个设备进行通信,就好比两个人进行交流,一个说中文,另一个也必须说中文,两个人才能进行交流,如果一个说中文,一个说英文,那就是鸡同鸭讲,没法沟通,波特率就好比是语言,两边使用相同的波特率才能让两个设备进行通信,如果波特率不同,就会造成设备间通信变成乱码,这个是产生乱码其中的一个原因,但这不是乱码的唯一原因,后面开发中如果使用的字符集不一致也会造成通信乱码,这个在SDK开发中,通过网络与其它设备通信时会遇到。

        下面对初学者常见的模块异常问题也总结一下。这里提到的模块异常指的是新模块上电后的各种异常情况,包括模块不工作、数据乱码等等。下面以最常见的爱可信的ESP8266-01模块来说明。模块比较简单,一共也就8根针脚,如下图。


        调试模块我是建议每个模块单独调试,确保没有问题后才组合调试,一般ESP8266用到的调试工具是TTL转USB线,将线的TX接模块的RXD,RX接模块TXD,即模块的输出接线的输入,模块的输入接线的输出,这里别搞错了,GND接TTL线的GND,VCC接TTL线的VCC,有些VCC线提供5v和3.3V两种电压,这里注意8266用的是3.3V的电压,别接错了,不然烧芯片,芯片要正常运行,还需要将CH_PD针脚接到VCC上,中间最好串联一个1K的电阻,不然芯片有时容易发烫,线接好后就可以上电了,如果模块正常的话,就可以搜索到名为ESP_开头的无线信号了,详情也可以查看我的另一篇博文,里面写的比较详细了(http://blog.csdn.net/jackhuang2015/article/details/50839130),很多人接完模块说不正常,其实01模块的使用是完全没有什么技术难点的,造成运行不正常的原因无外乎就是以下几点:

        一、检查接线,看清楚八个管脚的位置,检查接线是否正确,确保模块CH_PD管脚拉高,模块处于运行模式,建议在VCC和CH_PD之间接一个1K的电阻,不然可能造成模块发烫。

        二、检查供电,部分便宜的TTL转接线质量比较差,供电也不稳定,经常造成模块异常,重启或者无响应,建议使用AA干电池供电,注意使用独立电源供电需要将TTL转接线和电源共地,不然TTL无输出。

        三、估计很多人会使用杜邦线或者面包板来测试模块,注意检查杜邦线和面包板的接触点,部分不良接触点也是造成模块故障的原因。

        四、不建议购买劣质的TTL转接线,虽然便宜,但是非常不稳定,出了问题没法排查,之前用过PL2303芯片的转接线,被坑得很惨,后来换成FT232RL芯片才解决了。

        五、进行SDK开发需要进行固件刷写操作,需要拉低模块GPIO0针脚进入刷写模式,顺序是先将GPIO0针脚接GND,然后才上电,然后进行固件刷写,这个是有顺序的,先上电再拉低GPIO0针脚是没法进入刷写模式的,刷写经常报错,这里大家要留意一下顺序。


        这里是小弟的一点拙见,希望对大家有点帮助。有兴趣的朋友也可以加企鹅群(254267969)一起交流。


扫描二维码关注公众号,回复: 3169930 查看本文章


猜你喜欢

转载自blog.csdn.net/jackhuang2015/article/details/72745827
今日推荐