找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9507|回复: 5
打印 上一主题 下一主题
收起左侧

从小白一步步走来,ESP8266模块使用,环境搭建,编译和烧录

  [复制链接]
跳转到指定楼层
楼主
      经过一阵子的捣浆糊,无数次的迷茫,困惑,终于慢慢看到点希望的曙光。网上的资料很多,但都不系统,讲地也不详细,一半靠努力学,一半靠悟。阻挡了很多菜鸟的进步,我现在把我的经验分享出来,希望少点痛苦多点成就感。
      学习这个主要分两大块,第一块,是APP端建立,第二块是MCU端建立。以下文章是从MCU端建立来说的。
      MCU端建立又分为SOC程序建立和单片机程序建立。前者是利用esp8266本身来写,优点是少了单片机,体积更小,成本更低。缺点是入门得化了半月一月的,端口资源也少。  如果利用自己熟悉的单片机来开发进度就快多了,这就是后者单片机端的建立。 优点是自身熟悉,操作流畅,端口资源丰富,缺点就是体积和成本都要增加。需要ESP8266+MCU,MCU建议有采用有两个串口的。
   
     开始我们学习之路吧。
   
第一章 ES8266 WIFI模块开发环境搭建  
       本人有开发单片机的基础,但对于WIFI智能模块需要用到的软件是小白一枚,这几天看了安信可和机智云的开发教程,很多细节都没写清楚,走了许多转路,针对学习中遇到的痛苦经历,以及官方资料不详尽,本人把这些写下来一则备忘,二则为了和我同样的小白们少浪费些时间。
      选择安信可的AiThinker_IDE的原因是,它不需要搭建linux和虚拟机,非常方便。解压后在windows环境下直接就能用。现在支持XP,win7了。
第一步,如何安装安信可一体化开发环境
   ESP8266 SKD的开发环境有很多,官方的开发环境配置比较复杂,这里介绍使用安可信出品的集成开发环境ESP8266 IDE,其实就是eclipse集成了相关的开发插件,用起来还是挺方便的。
安信可一体化开发环境有以下特点:
·         支持ESP8266 NONOS和FreeRTOS环境开发
·         支持ESP31B/ESP32 FreeRTOS环境开发
·         下载即用,无需另外配置环境
·         可直接编译所有乐鑫官方推出的SDK开发包
下载地址:http://pan.baidu.com/s/1skRvR1j  (百度云盘)    下载红框内的最新版本。其它的老版本不用下了。
已更新支持 XP 支持ESP32 支持OpenOCD 支持GCC 5.2版本


        解压后:
       双击AiThinkerIDE_V0.5_setup安装程序,选择一个解压目录,默认是D盘。我在D盘新建个文件夹“WIFI_ESP8266”,这里要注意文件夹名称不要有中文和空格和小数点,要不后面编译程序时不会成功。

解压完成后,打开目录

下面以个名字了解下,其中安信可的AiThinker_IDE.exe将一些烦琐的步骤简化了。

文件名
描述
备注
Cygwin.execygwin和xtensa编译器环境含ESP8266 和 ESP31B/ESP32 开发环境
Eclipse.exeeclipse c/c++ 开发工具,仅在官网版本基础上打包了jre运行环境本机已经安装 eclipse cdt 环境的的无需重复下载
AiThinker_IDE.exe一体化开发环境配置工具


---------------------------------------------------------------------------------------------------------------------------------


开始整合编译环境
第一步:双击这个

第二步:先点击“Dafult”按钮,将用到的程序自动关联起来。然后点击“Save”保存设置。


步骤2:运行





第二章 如何使用安信可 ESP 系列一体化开发环境  
        以导入一个SDK为例,按官方的步骤有问题,反正我没成功。我总结了一下,有两种导入方式有些差别:
第一种,当File->Import弹出对话框后,选“General”里的"Existing Projects into Workspace" 导入。第二种,选"C/C++"里的"Existing Code as Makefile Project"  导入。当第一种导入不成功时,可尝试用第二种导入。机智云生成的SDK都是用第二种方法导入的。网络上eclipse大都用的第一种,为什么这样我没有去深究,我觉得还是先学好怎么用吧。

      两种方法的共同点是,所需的项目文档一定要导入AiThinkerIDE_V0.5cygwinhomeaithinkerproject文件夹,这个文件夹类似eclipse官方资料常提到的workspace文件夹,否则编译不成功,不成功,不成功(重要的事说三遍)。这一步卡了我三天,谁让我是小白呢,下面我按我的流程详细写下来备忘。

      安信可IDE安装好后,已经给我们准备好了打开的快捷方式。我们打开刚才解压缩的"AiThinkerIDE_V0.5"文件夹,可以看到有个“OpenWorkSpace" 批处理文件。双击打开,会自己定位到所要导入的文件夹,该文件夹内,就是已经导入好的项目SDK。
   
先说第一种导入方式:以安信可官方下载的SDK为例
   步骤1:双击打开AiThinker_IDE。“File”->"Import"。项目栏里右击选择“Import”也可以。
   

步骤2:选择“General”->"Existing Projects into Workspace"   点击“next”。

步骤3:如图,选择桌面上解压好的的esp8266_nonos_sdk_v1.5.4文件夹。下面又要注意了,文件夹名称不能有小数点,不能是中文名,并且将“Options”栏里,"Copy projects into workspace",前打勾。意思是将该文件夹复制进文章开头提到的project文件夹内。一定要打勾,否则编译又是不成功!不成功!不成功!。
   就是该项目文件夹一定要放到AiThinkerIDE_V0.5cygwinhomeaithinkerproject文件夹内。可以自己手动复制,也可以让软件自己复制。
    废话多一点,自己多注意点。



    如果出现这种样子,就是文件夹内有同名文件了。

       由于程序默认已加载了“ESP8266_NONOS_SDK”,跟我们现在要导入的文档是一样的,重复了,所以要把以前的删除。按下“del”键,或者右键单击,选择“Delete”。

      在弹出的对话框内如下图,将“Delete project contents on disk......”前打上勾。然后点击OK。就将项目名称连同workspace文件夹内的文档全部删除了。
      
         


       重新按以上步骤导入下,成功后,先选择“clean project”,防止出错。然后再右键单击选择“bulid project”或者工具栏上的那个小锤子。
      


      
OK,开始编译。完成后,如下图


    第二种导入方式,针对第三方云平台项目用第一种方法无法导入问题。例如“机智云”生成的项目文件夹。
步骤1:解压从机智云下载的项目并复制到project文件夹内。双击"OpenWorkSpace"批处理文件,自动打开。简化步骤



步骤2:将项目手动复制进去。下图选中的就是我刚才复制的项目文件夹。

步骤3:双击打开该文件夹,直到定位到有“MakeFile”的文件夹处。并复制文件路径,到安信可IDE内用。注意路径上有文件名,不能出现中文。

步骤4:双击打开AiThinker_IDE。“File”->"Import"。图略了。
步骤5:双击下图的“Existing Code as Makefile Project”

步骤6:将刚才复制的路径直接粘贴到“Existing Code Location”处,省地点“Browse”按钮一层层找了。下面选"Cygwin GCC"。 点“Finish”。


导入成功,但还有些地方需要修改,否则编译不成功。我是从机智云论坛上看来的,目前我还没整明白。就是双击打开MakeFile,将下面这段程序参数修改下。
BOOT?=none
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=0
改成

BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6

boot赋值为new,意思就是可以升级

APP 赋值为1,就可以生成user1的bin 文件  如果需要OTA云端升级,就要用到user2文件,只要在这里将APP值赋为2就行了。


SPI_SPEED是下载的速度

SPI_MODE是下载模式

SPI_SIZE_MAP是flash的大小这个可以看上面那个文档详细介绍 赋值为0表示使用的flash是512k

有一处没搞清楚,安信可官方的SPI_SIZE_MAP?=2  机智云论坛上的那位大神是SPI_SIZE_MAP?=4,而下面有位版主说要改成SPI_SIZE_MAP?=6  反正都能编译成功。

具体可以查看这人的文章     http://blog.csdn.net/chen244798611/article/details/51375337


试验了下。

编译后生成的bin文件名称不同。看user1.1024.new.2.bin那行。

SPI_SIZE_MAP?=2  Flash容量是1024Kb



SPI_SIZE_MAP?=4 文件名:user1.4096.new.4.bin   SPI_SIZE_MAP?=6  文件名是user1.4096.new.6.bin     Flash容量为4096Kb没有改变。 机智云SDK生成的文件名是user1.4096.new.6.bin  故我们先写成SPI_SIZE_MAP?=6


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏10 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:515684 发表于 2019-10-9 19:20 | 只看该作者
mark一下,后面需要来学习。
回复

使用道具 举报

板凳
ID:111843 发表于 2020-3-3 11:17 | 只看该作者
MARK,很详细,感谢分享
回复

使用道具 举报

地板
ID:728207 发表于 2020-4-13 14:31 | 只看该作者
大佬,链接失效了,能重分享一个链接吗?
回复

使用道具 举报

5#
ID:738546 发表于 2020-4-26 15:55 | 只看该作者
请问esp8266使用都需要这样后才能用吗
回复

使用道具 举报

6#
ID:516946 发表于 2020-7-10 12:12 | 只看该作者
dehermano 发表于 2020-4-26 15:55
请问esp8266使用都需要这样后才能用吗

可以使用arduino开发,但是有时候出错不容易查找
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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