一 前记

  作为一个在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. What skills you need to become a full stack java developer?

    For a full stack Java developer you should start with learning backend and front-end technologies Fr ...

  2. 安装pytest-allure-adaptor后,运行报错:AttributeError: module 'pytest' has no attribute 'allure'

    ​ 原因:因为pytest-allure-adaptor库基本被python3放弃了,运行很不友好,反正我运行就是报错 解决方法: 先卸载:pip uninstall pytest-allure-ad ...

  3. Spring MVC 梳理 - 四种HandlerMapping

    总结 (1)SpringMVC导入jar包,配置web.xml 这些都是基础的操作. (2)四种HandlerMapping:DefaultAnnotationHandlerMapping;Simpl ...

  4. Spring Data JPA 梳理 - JPA是什么

    总结: JPA是java的标准,不是Spring的标准 java标准中一般通过Meta-INF文件规范开发层面的事情,JPA也不例外,使用persistence.xml JPA定义了Entity 到 ...

  5. PostMethod和GetMethod用法

    注:新浪短接口参考地址:https://www.douban.com/note/249723561/      将长的url链接转换成短链接 一.GetMethod try { HttpClient ...

  6. OpenGl 实现鼠标分别移动多个物体 ----------移动一个物体另外一个物体不动--读取多个3d模型操作的前期踏脚石

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我 ...

  7. SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6

    一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说 ...

  8. nginx的ngx_http_geoip2模块以精准禁止特定地区IP访问

    要求:对网站的信息,比如某个访问节点不想国内或者国外的用户使用,禁止国内或者国外或者精确到某个城市的那种情况. 解决方式:1.Cloudfalre来实现禁止特定国家的ip访问,比较简单,但是需要mon ...

  9. 中缀表达式转后缀表达式(Java代码实现)

    后缀表达式求值 后缀表达式又叫逆波兰表达式,其求值过程可以用到栈来辅助存储.例如要求值的后缀表达式为:1 2 3 + 4 * + 5 -,则求值过程如下: 遍历表达式,遇到数字时直接入栈,栈结构如下 ...

  10. 五 mysql之多表查询

    目录 一 介绍 二 多表连接查询 1.交叉连接:不适用任何匹配条件.生成笛卡尔积 2.内连接:只连接匹配的行 3 .外链接之左连接:优先显示左表全部记录 4 .外链接之右连接:优先显示右表全部记录 5 ...