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在嵌入式上的运用,这里给大家 ...
随机推荐
- 浅谈Spring的事务隔离级别与传播性
浅谈Spring的事务隔离级别与传播性 这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚 ...
- pycharm使用sublime/boxy配色方案
# 展示效果图 1. github官网连接:https://github.com/simoncos/pycharm-monokai 2.克隆代码并解压文件 3.PyCharm -> File - ...
- ASP.NET 服务端接收Multipart/form-data文件
在网络编程过程中需要向服务器上传文件. Multipart/form-data是上传文件的一种方式. /// <summary> /// 上传工程文件 /// </summary&g ...
- SpringBootSecurity学习(09)网页版登录配置Session共享
场景 当后台项目由部署在一台改为部署在多台以后,解决session共享问题最常用的办法就是把session存储在redis等缓存中.关于session和cookie概念这里就不再赘述了,在spring ...
- [Job] 找工作小结
有近2个月没有更新博客,主要精力放在了投递会议论文和秋招找工作方面.这里简单总结一下秋招笔试面试的几点建议和感受. 投递的NLP算法工程师岗位,主要参加过面试的公司有腾讯(春招),蚂蚁金服(春招),追 ...
- Spring 梳理-运行时动态注入bean
动态注入的方法 使用占位符 使用Spring表达式
- Vagrant定制个性化CentOS7虚拟机模板
关于虚拟机模板 想用vagrant搭建hadoop集群,要完成以下准备工作: 三个虚拟机实例操作系统都是CentOS7的server版: 每个实例都要安装同样的应用.关闭防火墙.关闭swap等: 今天 ...
- 【Java】访问mysql数据库视图
数据库连接Connect: package cn.hkwl.zaxq.mysql; import java.sql.Connection; import java.sql.DriverManager; ...
- JavaScript中闭包的使用和各种继承介绍
一.什么是闭包? (1)闭包的概念:a.闭包就是函数嵌套时,让局部变量变成自由变量的环境,是一种让局部变量进化的方式. b.定义在一个函数内部的函数. ...
- git分支的创建、删除、切换、合并
需求背景 开发新功能和修改bug一般放在新建分支,如果觉得可行,可以合并到master分支上. 方式 1.查看分支 git branch (查看本地分支及当前所属分支) git branch -a ( ...