物联网

esp8266 esp32 docker 开发环境搭建

2016-12-26  本文已影响1246人  Neucrack

esp-build

中文介绍

乐鑫WiFi(蓝牙)芯片程序构建环境

用法:

(一) 安装docker

按照这个步骤进行安装--> https://docs.docker.com/engine/installation/

举个例子,使用apt工具安装

sudo apt install docker.io

(二) 将集成了开发环境的docker镜像拉取到本地

docker pull neucrack/esp-build

或者

docker pull daocloud.io/neucrack/esp-build
  • 第一个国内拉去的过程可能比较慢或者出错,请耐心尝试,可以使用国内的daocloud镜像加速服务或者直接使用第二个命令

(三) 运行容器

基本操作

eg:/dev/ttyUSB1:/dev/ttyUSB0 即将宿主机的串口1映射到容器的串口0

exit
docker start 容器名(或者ID号)
docker attach 容器名(或者ID号)

若不知道旧的容器名,使用docker ps -a 查看

针对模块具体举例:

1. 运行开发esp8266的容器

使用SDK:

docker run -ti --name esp8266-builder -e SDK_BASE=/build/esp8266/ESP_RTOS_SDK/ --device /dev/ttyUSB0:/dev/ttyUSB0 -v /data/esp:/build neucrack/esp-build /bin/bash
  • -name指定运行容器的名字
  • -e添加环境变量(具体的环境变量由SDK决定,阅读SDK的使用说明即可,将SDK下载或者克隆到相应文件夹下,比如这里/build/esp8266/ESP_RTOS_SDK/),如果是使用nonos版本的SDK,可以不设置环境变量
  • --device将宿主机的/dev/ttyUSB0设备挂载到容器/dev/ttyUSB0(这里是USB转串口设备,具体的设备名可以使用 ls /dev/*|grep ttyUSBdmesg|grep ttyUSBdmesg|grep ttyS 查看
    )
  • -v 将/data/esp文件夹挂载到容器的/build文件夹中,即宿主机这个文件夹和容器的build文件夹实现了同步和共享
2. 运行开发esp32的容器

使用esp-idf:

将官方的库克隆到本地

cd /data/esp/esp32
git clone --recursive https://github.com/espressif/esp-idf.git
  • 注意文件夹路径不能有空格
  • 注意使用--recursive将子模块一同引进来
    如果没有使用,可以使用如下命令进行更新
cd /data/esp/esp32/esp-idf
git submodule update --init
docker run -ti --name esp32-builder -e IDF_PATH=/build/esp32/esp-idf --device /dev/ttyUSB0:/dev/ttyUSB0 -v /data/esp:/build neucrack/esp-build /bin/bash
  • -name指定运行容器的名字
  • -e添加环境变量(设置IDF_PATH的地址为/data/esp/esp32/esp-idf,所以将)
  • --device将宿主机的/dev/ttyUSB0设备挂载到容器/dev/ttyUSB0(这里是USB转串口设备,具体的设备名可以使用 ls /dev/*|grep ttyUSBdmesg|grep ttyUSBdmesg|grep ttyS 查看
    )
  • -v 将/data/esp文件夹挂载到容器的/build文件夹中,即宿主机这个文件夹和容器的build文件夹实现了同步和共享
3. 运行同时可以开发多个芯片的容器

在前两者的基础上改改环境变量和文件夹映射就可以

(四) 编写 下载 应用程序

在已经运行了并进入容器之后(所以下面的命令都在容器中执行,不是在宿主机中哦),根据SDK的使用说明使用

比如:

esp8266 RTOS SDK

开始可以使用example/下的例子直接测试,使用方法见具体例子下的readme,注意环境变量的要求,执行gen_misc.sh脚本编译程序,生成二进制文件*.bin.
然后使用下载工具下载到模块,
eg:

esptool -cc esp8266 -cp /dev/ttyUSB0 -cd nodemcu -ca 0x00000 -cf 00000.bin -ca 0x40000 -cf 40000.bin
  • 参数使用man esptool进行查看。二进制文件文件名及地址参考SDK说明
  • 注意在下载的时候串口不能被占用哦~(比如串口助手正在使用串口)否则会下载失败滴
  • 注意如果使用nodemcu,下载模式要使用DIO哦
esp32 SDK

根据example/文件夹下的readme内容进行操作

注意在下载的时候串口不能被占用哦~(比如串口助手正在使用串口)否则会下载失败滴

sudo apt-get install minicom

设置(*设置好了记得保存设置*)
```bash

sudo minicom -s

运行
```bash

sudo minicom

参考

来自vowstar/esp8266,

上一篇 下一篇

猜你喜欢

热点阅读