利用docker部署esp8266、nodemcu、wemos d1的开发环境

第一步、安装虚拟机
本人使用vmweare,安装centos7
第二步、安装docker
参考官网文档安装docker
https://docs.docker.com/engine/installation/linux/centos/
第三步、安装git

yum install git

第四步、下载docker的bschwind/esp-open-rtos镜像
docker pull bschwind/esp-open-rtos:latest

第五步、插入usb数据线连接电脑和d1 mini板。
其中d1 mini只不过是使用了esp8266-12f加装了一个ch340下载器,因此esp8266的源码完全适用于wemos d1和nodemcu(我这里使用wemos d1 mini板)
利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

更正上图WIFE改为WIFI。
第六步、使虚拟机能使用usb设备(该设备也就是我们的wemos d1板,一定要选对)。
利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

第七步、下载esp-open-rtos,此freertos版本比较新,推荐使用这个。官方版的才7.5版本,比较老了
https://github.com/SuperHouse/esp-open-rtos
进入/home目录,使用git递归克隆源码下来。
cd /home git clone --recursive https://github.com/Superhouse/esp-open-rtos.git

此时你的/home目录下有一个esp-open-rtos的文件夹。
第八步、运行容器,进行下载。
执行下述命令前需注意几点(以wemos d1 mini 为准):
  1. 确保USB已经插入,并且保证第五步操作使虚拟机usb图标高亮。可通过ls /dev查看ttyUSB0是否存在。
  2. 确保第七步下载的源码无问题,在/home/esp-open-rtos目录下
  3. 确保下载的源码有足够的权限,如无则给权限。chmod -R 777 /home/esp-open-rtos/
  4. 确保第四步所下载的镜像已经下载完毕。(下载的速度可能比较慢,毕竟镜像有4GB那么大)
docker run \ -v /home/esp-open-rtos/:/home/rtos/ \ -i --device=/dev/ttyUSB0 \ --rm \ bschwind/esp-open-rtos \ bash -c 'sudo chmod 777 /dev/ttyUSB0 && make flash -j2 -C /home/rtos/examples/blink ESPPORT=/dev/ttyUSB0' # docker运行 # 目录映射 # usb设备映射 # 表明是一次性容器 # 镜像名称 # bash -c 后面的语句表明给ttyUSB0权限,并烧录

利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

若一切顺利的话,执行完上述命令后,d1板上的LED开始闪烁。
但有时候下载不了,可能是因为波特率匹配问题,只需要重新拔出usb线,再插回去,再重复第六步和第八步即可,试多几遍,你将会看到你的板子在一闪一闪的发光。

第七步克隆下来的代码中还有更多的示例,大家可以逐一去尝试。
在克隆下来的代码的examples目录下。
利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

如需使用wifi的station模式的时候,需要新建esp-open-rtos/include/private_ssid_config.h。里面修改成
#define WIFI_SSID "wifi名称" #define WIFI_PASS "wifi密码"

注意,这是station模式。也就是你用单片机去连接你家中的wifi。
ap模式的话,就是单片机充当路由器,具体请看文档。
由于windows上面的可操作性比较强,故鼓励大家安装一个samba,将/home/esp-open-rtos进行共享,使用windows上面的ide进行开发,例如eclipse,然后使用linux去编译下载。
具体可以移步到我的另一篇文章
利用docker安装samba服务
扩展教程:
利用国内docker镜像加速:
利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

【利用docker部署esp8266、nodemcu、wemos d1的开发环境】利用docker部署esp8266、nodemcu、wemos d1的开发环境
文章图片

    推荐阅读