ESP8266 打造一款物联网产品---搭建环境编译及烧录
一 前记
作为一个在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 打造一款物联网产品---搭建环境编译及烧录的更多相关文章
- 使用ESP8266 打造一款物联网产品---新版ESP8266-RTOS-SDK(V3.1以上)串口使用指南
问题背景: 使用乐鑫的ESP8266做一个物联网的项目,要使用串口0通信,串口1作为打印log.本来是一个非常简单的事情.没想到居然里面有个大坑.本着前任踩坑,后任抱娃的原则. 这里就做个记录,给后面 ...
- 使用Blynk打造一款物联网产品
前言 一直以来想自己打造一款物联网产品. 围绕这个话题写过一些文章: 一辆树莓派可编程小车的问题 基于树莓派的积木化编程解决方案 物联网相关开源项目整理 物联网.开源硬件与开源社区 之前在一辆树莓派可 ...
- ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...
- 搭建环境Visual Studio 2013 社区版
搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境. Visual St ...
- Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境
本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...
- 用wamp5和ZendOptimizer搭建环境运行Discuz论坛
用wamp5和ZendOptimizer搭建环境运行Discuz论坛 用wamp5和ZendOptimizer搭建环境运行Discuz论坛 一: 环境: 1:Windows操作系统(Linu ...
- Redis学习01——介绍与搭建环境
Redis学习01介绍与搭建环境一简介二yum配置已经配置了的可以跳过三安装gcc四安装redis1 上传Redis到linux中2 解压到usrlocal下3 编译redis4 安装redis5 拷 ...
- 阿里云服务器的购买、基本配置、(xshell)远程连接、搭建环境
一.服务器的购买 1.购买时间点:搞活动的时候.利用学生身份购买 (1)活动:想白嫖一台服务器 双十一,可以在双十一左右,时间提前一点,百度或B站,搜阿里云服务器.腾讯服务器(618可能也有) 一般, ...
- FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译
前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...
随机推荐
- 阿里云服务器CentOS6.9 tomcat配置域名访问
之前一直是ip访问项目,今天申请到一个测试域名,想要用设置用域名访问项目. 1.进入阿里云服务器中,修改tomcat中server.xml文件 cd /usr/local/apache-tomcat/ ...
- Zookeeper工作过程详解
一.Zookeeper工作机制 分布式和集中式系统相比,有很多优势,比如更强的计算能力,存储能力,避免单点故障等问题.但是由于在分布式部署的方式遇到网络故障等问题的时候怎么保证各个节点数据的一致性和可 ...
- kubeadm部署高可用集群Kubernetes 1.14.1版本
Kubernetes高可用集群部署 部署架构: Master 组件: kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象 ...
- c++第一个程序“Hello world!”
c++第一个程序“Hello world!” 打开编译器(这里以vs2013为例) 单击新建项目 选择Win32 控制台应用程序 点击右下角确定 点击完成 点击解决方案管理器 新建cpp文件 右 ...
- 【Java】支付宝获取人脸采集认证的图片base64格式
人脸识别结果查询接口zoloz.identification.user.web.query返回的imgStr图片字符串并不是标准的base64格式,解析不出图片. 由于标准的Base64并不适合直接放 ...
- 5G 时代,云计算迎来新风口
云计算是对传统IT模式从底层硬件到业务模式的颠覆,传统IT市场具备万亿级市场空间,目前云计算收入占IT支出占比尚小,渗透率较低,未来空间较大. 短期受到宏观经济等因素影响,云巨头资本开支增速有所波动, ...
- Rust入坑指南:坑主驾到
欢迎大家和我一起入坑Rust,以后我就是坑主,我主要负责在前面挖坑,各位可以在上面看,有手痒的也可以和我一起挖.这个坑到底有多深?我也不知道,我是抱着有多深就挖多深的心态来的,下面我先跳了,各位请随意 ...
- mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven
一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...
- jsp JavaBean el表达式
JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xx ...
- SpringBoot自动注入分析
我们经常会被问到这么一个问题:SpringBoot相对于spring有哪些优势呢?其中有一条答案就是SpringBoot自动注入.那么自动注入的原理是什么呢?我们进行如下分析. 1:首先我们分析项目的 ...