一 前记

  作为一个在wifi领域耕耘了多年的人,以前一直在外企和大公司做芯片,没有怎么使用过国内的芯片公司做出来的芯片。最近正好有一个项目需要用到一款低成本的wifi芯片,找来找去,发现乐鑫的最适合。就拿来用了。
基本熟悉了一下乐鑫的ESP8266之后,让我感觉到非常的惊讶,居然有国内芯片公司能把文档写的这么详细的。完全不用问任何人,就能把一款芯片跑起来,并且能够快速的上手。这个不是一般公司能够做到的,能够有如此详细文档和生态链的,以前只有意法半导体和NXP这种公司才能做的。
  自己动手编译运行之后,也遇到了一些问题。一个是文档太多,模组的型号太多,很难找到正确的文档。再者,国内使用百度很难搜到乐鑫的官方文档,这样只能在他们官网搜索了,官网搜索功能又太差,很多搜不到。还有就是官网上的资料就是太多,针对某款的芯片和板卡,要费了不少时间才找全的。

  把系统整个功能跑通之后,我就做一个记录,方便后面的朋友吧。

二 环境搭建

  编译环境搭建:
  他们文档上有几种安装方法,一种是源码安装,另外一种是库安装。我刚开始使用的是源码安装,期间,遇到了很多问题,首先是代码太大,在github上下载很难成功。需要比较好的网络,再者,编译会遇到各种依赖库。对程序员的挑战比较大。另外一种是库安装,这种比较方便,笔者建议这种安装方法。

还有就是官方文档用的是linux虚拟机,个人感觉虚拟机开发效率太低了。有个朋友说的好,玩虚拟机linux就如找了一个充气娃娃版的女友,建议你还是最好不要用虚拟机的ubuntu来玩了。

在linux下的安装方法见下面文档:

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.html

其实,这个文档是很清楚了,但是有几个重点还是要画一下的。

 编译器安装之后一定要测试一下是否安装的是否正确:

第一步任意目录下运行:xtensa-lx106-elf-gcc -v 如下显示才算安装正确。

第二步,确定编译功能是否可以:

在ESP8266_RTOS_SDK/examples/get-started/hello_world 目录下运行: 有elf文件编译出来才算编译成功了。

三 下载运行

  笔者选择的开发板是ESP-Launcher。上榜理由,所有接口都引出来了,乐鑫本公司生产,质量有保证。

板子的网址:这个板子就连淘宝上也是他们自家卖的,看来只能给他们免费做广告了。

https://www.espressif.com/zh-hans/products/hardware/development-boards 

拿到这个板子,瞄上几眼之后,赶紧看一下使用说明,笔者已经帮你找到了:下面网址可在线查看:

https://www.espressif.com/sites/default/files/documentation/esp8266_quick_start_guide_cn.pdf

经过使用,感觉有两个地方后来者要认真看一下:

  第一个是分为boot模式和运行模式的区分:

这两个模式是依靠板子上的一个GPIO来控制的,具体的使用规则乐鑫的视频教材讲解最清楚,网络地址:

https://v.youku.com/v_show/id_XMTY5Nzc5ODEwOA==.html

  第二个就是多GPIO复用,这个板子一个GPIO在不同的地方有引出,看原理图和做东西的时候要注意下,总有一个接口适合你。

具体如下所示:

  有了板子和编译环境,那就好办了,只剩下下载了。官方的windows版本的下载做的非常复杂,让人看了有种眩晕的感觉。笔者这里是在ubuntu下下载的,非常简答,只需要在板子进入下载模式的情况下,源码根目录下执行:make flalsh 即可完成下载:

下载之后,把板子的波码开关拨到正常运行模式。

重新上电,这样就能看到正常的log打印了。

ESP8266 打造一款物联网产品---搭建环境编译及烧录的更多相关文章

  1. 使用ESP8266 打造一款物联网产品---新版ESP8266-RTOS-SDK(V3.1以上)串口使用指南

    问题背景: 使用乐鑫的ESP8266做一个物联网的项目,要使用串口0通信,串口1作为打印log.本来是一个非常简单的事情.没想到居然里面有个大坑.本着前任踩坑,后任抱娃的原则. 这里就做个记录,给后面 ...

  2. 使用Blynk打造一款物联网产品

    前言 一直以来想自己打造一款物联网产品. 围绕这个话题写过一些文章: 一辆树莓派可编程小车的问题 基于树莓派的积木化编程解决方案 物联网相关开源项目整理 物联网.开源硬件与开源社区 之前在一辆树莓派可 ...

  3. ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版

    原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...

  4. 搭建环境Visual Studio 2013 社区版

    搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...

  5. Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境

    本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...

  6. 用wamp5和ZendOptimizer搭建环境运行Discuz论坛

    用wamp5和ZendOptimizer搭建环境运行Discuz论坛 用wamp5和ZendOptimizer搭建环境运行Discuz论坛 一: 环境:      1:Windows操作系统(Linu ...

  7. Redis学习01——介绍与搭建环境

    Redis学习01介绍与搭建环境一简介二yum配置已经配置了的可以跳过三安装gcc四安装redis1 上传Redis到linux中2 解压到usrlocal下3 编译redis4 安装redis5 拷 ...

  8. 阿里云服务器的购买、基本配置、(xshell)远程连接、搭建环境

    一.服务器的购买 1.购买时间点:搞活动的时候.利用学生身份购买 (1)活动:想白嫖一台服务器 双十一,可以在双十一左右,时间提前一点,百度或B站,搜阿里云服务器.腾讯服务器(618可能也有) 一般, ...

  9. FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译

    前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...

随机推荐

  1. 了解一下Java SPI的原理

    了解一下Java SPI的原理 1 为什么写这篇文章? 近期,本人在学习dubbo相关的知识,但是在dubbo官网中有提到Java的 SPI,这个名词之前未接触过,所以就去看了看,感觉还是有很多地方有 ...

  2. 从 Int 到 Integer 对象,细细品来还是有不少东西

    int 是 Java 八大原始类型之一,是 Java 语言中为数不多不是对象的东西,Integer 是 int 的包装类,里面使用了一个 int 类型的变量来存储数据,提供了一些整数之间的常用操作,常 ...

  3. json入门初体验

    json是JavaScript对象表示法,也是轻量级的文本数据交互格式,独立于语言,能够自我描述 json文本格式在语法上与创建JavaScript对象代码相同,多以json不需要解析器,js程序能够 ...

  4. js三级联动效果city-picker

    链接:https://pan.baidu.com/s/1NE_EO5_xGvR-y-lboYap7g 提取码:h00e 效果展示: 解决: 动态赋值: 注意:在执行赋值之前,必须执行reset和des ...

  5. Shell之Xargs命令

    目录 Shell之Xargs命令 参考 xargs命令简介 xargs命令格式 xargs实例说明 Shell之Xargs命令

  6. ping通谷歌后发送QQ邮件通知

    前言   国庆期间,据说是为了防止有人在重大节日发表不正当言论,很多可以kxsw的ip都被封了,可是什么时候才会解封呢,不能没事就去ping一下吧,所以我写了个定时任务,定时ping谷歌服务器,如果p ...

  7. [LeetCode] 1137. N-th Tribonacci Number

    Description e Tribonacci sequence Tn is defined as follows: T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + ...

  8. Android系统介绍与框架

    一.Andriod是什么? Android系统是Google开发的一款开源移动OS,Android中文名被国内用户俗称“安卓”.Android操作系统基于Linux内核设计,使用了Google公司自己 ...

  9. Django中的表关系实现及操作

    表关系的实现   预备知识 ORM的正向操作和反向操作: 1.正向操作:一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作. 2.反向操作:被外键所关联的模型,通过该模型对外键所在模型 ...

  10. .NET斗鱼直播弹幕客户端(下)

    .NET斗鱼直播弹幕客户端(下) 在上篇文章中,我们提到了如何使用.NET连接斗鱼TV直播弹幕的基本操作.然而想要做得好,做得容易扩展,就需要做进一步的代码整理. 本文将涉及以下内容: 介绍如何使用R ...