第一步、安装虚拟机
本人使用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板)
文章图片
文章图片
更正上图WIFE改为WIFI。
第六步、使虚拟机能使用usb设备(该设备也就是我们的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 为准):
- 确保USB已经插入,并且保证第五步操作使虚拟机usb图标高亮。可通过ls /dev查看ttyUSB0是否存在。
- 确保第七步下载的源码无问题,在/home/esp-open-rtos目录下
- 确保下载的源码有足够的权限,如无则给权限。chmod -R 777 /home/esp-open-rtos/
- 确保第四步所下载的镜像已经下载完毕。(下载的速度可能比较慢,毕竟镜像有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权限,并烧录
文章图片
若一切顺利的话,执行完上述命令后,d1板上的LED开始闪烁。
但有时候下载不了,可能是因为波特率匹配问题,只需要重新拔出usb线,再插回去,再重复第六步和第八步即可,试多几遍,你将会看到你的板子在一闪一闪的发光。
第七步克隆下来的代码中还有更多的示例,大家可以逐一去尝试。
在克隆下来的代码的examples目录下。
文章图片
如需使用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的开发环境】
文章图片
推荐阅读
- 单片机|单片机初学者做项目为什么这么难(单片机初学者心得有哪些)
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- 单片机|Arduino、arm、树莓派、单片机四者有什么不同()
- 灵动微电子全新超值型MM32F基本特性及目标应用
- AD中PCB布局与布线的原则
- 灵动微MM32F0130国产32位单片机电子货架标签应用案例参考
- 灵动微代理ARM?Cortex?-M0的32位微控制器MM32F0020
- 灵动微电子MM32SPIN0280国产32位单片机为主控的滑板车参考方案