两种ESP8266模块的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两种ESP8266模块的区别相关的知识,希望对你有一定的参考价值。
参考技术A 淘宝上能买到的8266有两种这两种外观上看起来是没什么区别的,但是我发现在用arduino烧写程序的时候,其实是不一样的。
2102的这个直接选nodemcu 1.0,然后也不需要按flash -> reset这样来烧写。用led-builtin也可以调用板子上带的一个led。
但是ch340这个不知道要选什么板子,然后有的文章说不管什么就选第一个都行,然后好像也确实可以,不过有个问题是选了这个烧写的话需要按着boot按一下rst,不能太早不能太晚,不然都会烧写失败。实在是有点搞不懂了。。。然后这个板子好像没有LED(除了esp-12本身的那个LED以外)
显示这个是因为没有按boot和rst
另外如果上传失败的话好像说是要降低一些串口速度,不是现实上传成功就是成功了,要看那个红字
所以其实cp2102的那种是nodemcu 1.0 一个叫amica的做的
CH340那个是一个叫Lolin做的号称V3的
https://gitai.me/2017/04/13/Re-Zero-Starting-in-IoT/
esp8266教程:开发方式和SDK选择
esp8266教程:开发方式和SDK选择
两种开发开发方式
在esp8266中有一般有两种开发方式,分别是一种是一个MCU当主控ESP8266当一个wifi模块进行使用,即MCU+ESP8266,一种是ESP8266当主控只需要一颗芯片。
STM+ESP8266
一种是将esp8266当成wifi模块进行使用,比如常用的有STM32+esp8266,它们之间使用uart(串口)进行连接,STM32作为主控,esp8266作为wifi从机模块,然后使用AT指令进行交互。
ESP8266当主控
另一种直接拿到官方的esp8266的SDK进行开发,把esp8266当成一个主控的MCU,然后在esp8266芯片外围添加控制电路,比如我们使用ESP8266制作一个智能插座,就需要在外围电路添加继电器然后控制继电器达控制家用220V电路开关的效果。
优缺点
STM32+ESP8266优点:
1、esp8266因为是当成一个模块使用,esp8266的软件不用开发,只需要简单的AT指令控制即可。
2、易于剪裁esp8266可以当成一个产品高端和低端区别,比如高端的产品有wifi功能那就扩展一个wifi模块,低端的产品没有wifi就不加模块。
STM32+ESP8266缺点:
1、如果只是做一个简单的功能,比如智能插座,STM+ESP8266这个方案成本过高,ESP8266使用一个芯片+一个继电器,使用官方的SDK进行开发就可以省下一个STM32单片机。
2、在有功耗要求的的方案上,多一颗芯片STM32所需要的功耗就会大一点,如果只有ESP8266就能省下更多的电量,续航更久,比如在wifi智能锁上,少一颗芯片智能锁的续航就更久。
单独使用ESP8266优点:
1、省成本,省电。
单独使用ESP8266缺点:
1、需要在SDK上开发软件,如果是没有使用过这个芯片的开发者陌生感,内心抵触使用新的芯片。
SDK选择
ESP8266官方的sdk有两种,一种是带操作系统的版本,一种是没有操作系统的版本。分别为ESP8266_RTOS_SDK和ESP8266 Non-OS SDK,其中使用操作系统的版本使用的是开源的freeRTOS,如果你是初学者,没有使用过freeRTOS,那么我建议是开始使用带操作系统的版本,这样你还可以学习一下RTOS的知识,RTOS现在在产品上使用越来越广泛了,如果现在你出去面试,人家问你有没有使用过RTOS,那么你的竞争力就下一截了。如果你是老手学过RTOS,那就不需要我劝你了,你一定会选择RTOS进行开发的。
arduino 方式的开发
ESP8266已经被arduino官方加入了他们的支持平台,所以一些创客爱好者可能会使用arduino的方式进行开发。什么是arduino的开发方式,就是arduino这个组织写了底层硬件的库,大家可以使用arduino的方式去掉用人家写好的库,然后使用arduino的语法进行编程,就可以控制i2c、gpio、wifi等。但是我不建议大家使用这种方式去学习esp8266。1、因为学习esp8266是想进入嵌入式软件开发这个行业,这个行业都是使用C语言进行开发,arduino的方式不是主流。2、arduino的编程方式不够灵活,毕竟是在人家写好的库上面进行开发,有些功能arduino可能还没有实现,但是我们现实的需求中有这个需求就无法实现,产品的竞争力就不强。
综上所述,如果你是想当个创客玩玩,可以使用arduino的方式的学习esp8266,但是如果你想当一个iot的开发者,或者说进入嵌入式软件这个行业,我建议你还是使用官方的SDK+C语言的方式进行开发。
总结
SDK选择 | FreeRTOS版本 | Non-OS | arduino方式
以上是关于两种ESP8266模块的区别的主要内容,如果未能解决你的问题,请参考以下文章