基于MacOS搭建ESP8266 NodeMCU CP2102开发环境

简介: 基于MacOS搭建ESP8266-NodeMCU开发环境1. 下载、安装驱动2. Arduino开发环境配置2.1. 下载、安装Arduino2.2. 配置Arduino

1. 下载、安装驱动


常见的ESP8266 NodeMCU开发板有 ESP8266 NodeMCU CP2102 和 ESP8266 NodeMCU CH340 ,CP2102 和 CH340是驱动类型,就是负责和电脑传输数据的模块,这里用的板子是ESP8266 NodeMCU CP2102,所以需要安装 CP2102 驱动。


用USB连接线连接电脑和开发板,在 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers 或者 https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers 下载驱动,选择Mac版本的驱动安装包:


13.png


解压、安装下载的驱动“SiLabsUSBDriverDisk.dmg”


14.png


PS:这里最好打开系统偏好设置-安全性与隐私-通用,安装过程可能会被系统阻止,这里要允许。

一直continue/agree,直到最后一步安装成功:


15.png


重启系统。

检查安装的驱动,执行 ls -l /dev/cu.* , /dev/cu.usbserial-0001 就是安装的驱动

crw-rw-rw-  1 root  wheel    9,   5  3 17 22:07 /dev/cu.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel    9,   9  3 18 10:37 /dev/cu.SLAB_USBtoUART
crw-rw-rw-  1 root  wheel    9,   1  3 17 22:06 /dev/cu.debug-console
crw-rw-rw-  1 root  wheel    9,   7  3 18 10:37 /dev/cu.usbserial-0001
crw-rw-rw-  1 root  wheel    9,   3  3 17 22:06 /dev/cu.wlan-debug


2. Arduino开发环境配置


这里开发环境用Arduino。


2.1. 下载、安装Arduino


在官网下载Arduino https://www.arduino.cc/en/software ,网页右边选择Mac版本:


16.png


解压、安装下载的Arduino安装包“Arduino.app”。


2.2. 配置Arduino


在Arduino中配置开发板管理器网址,打开【Arduino】 → 【Preference】,在附加开发板管理器网址中填入 https://arduino.esp8266.com/stable/package_esp8266com_index.json


17.png


安装esp8266开发板,打开【工具】 → 【开发板】 → 【开发板管理器】,搜索“esp8266”,选择版本,安装:


18.png


在IDE中选择对应开发板,【工具】 →【开发板】 →【NodeMCU 1.0(ESP-12E Module)】


19.png


在Arduino中选择端口,【工具】→【端口】→【在上面安装的CP210X驱动(/dev/cu.usbserial-0001)】

20.png


至此,ESP8266 NodeMCU CP2102在MacOS上的开发环境就搭建好了,Arduino中集成了很多现成的例子,找个例子随便试验一下:

21.png


这是个让开发板上的LED间隔1秒点亮和熄灭的例子,编译、上传到开发板,观察开发板上LED的状态。

这里我第一次编译上传的时候,看日志是编译成功了,但是上传时出错了:


22.png


报错【pyserial or esptool directories not found next to this upload.py tool.】,看报错内容是esptool和pyserial这两个包不存在,解决办法就是下载一个就行了:


下载 https://github.com/espressif/esptool/archive/v3.0.zip ,解压后文件夹重命名为esptool;

下载 https://github.com/pyserial/pyserial/archive/v3.4.zip ,解压后文件夹重命名为pyserial;

用下载的esptool和pyserial 放到 /Users/dannyhoo/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/tools目录下(2.6.3是在上面安装的esp8266开发板的版本),如果文件已存在,替换即可。


再次编译上传,上传成功,且开发板正常工作了


Executable segment sizes:
IROM   : 227612          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 26768   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 
DATA   : 1252  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 672   ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 24880 )         - zeroed variables      (global, static) in RAM/HEAP 
项目使用了 256304 字节,占用了 (24%) 程序存储空间。最大为 1044464 字节。
全局变量使用了26804字节,(32%)的动态内存,余留55116字节局部变量。最大为81920字节。
esptool.py v3.0
Serial port /dev/cu.usbserial-0001
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: c8:c9:a3:69:d6:6f
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 260464 bytes to 190641...
Writing at 0x00000000... (8 %)
Writing at 0x00004000... (16 %)
Writing at 0x00008000... (25 %)
Writing at 0x0000c000... (33 %)
Writing at 0x00010000... (41 %)
Writing at 0x00014000... (50 %)
Writing at 0x00018000... (58 %)
Writing at 0x0001c000... (66 %)
Writing at 0x00020000... (75 %)
Writing at 0x00024000... (83 %)
Writing at 0x00028000... (91 %)
Writing at 0x0002c000... (100 %)
Wrote 260464 bytes (190641 compressed) at 0x00000000 in 16.9 seconds (effective 123.3 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...



相关文章
|
关系型数据库 MySQL 应用服务中间件
LNMP详解(四)——LNMP原理与简单部署
LNMP详解(四)——LNMP原理与简单部署
649 1
|
Linux Perl
Linux 系统快速分析日志定位故障原因的 10 个方法
在 Linux 系统中,日志是一种非常重要的资源。系统管理员可以通过日志记录的内容来检测系统的运行状况,分析问题,做出相应的调整和优化。由于日志文件数量庞大,内容复杂,因此需要使用一些工具和技术帮助管理员进行快速分析和查找。 本文将介绍 Linux 系统中快速分析日志、定位故障的 10 个方法。
3990 1
|
监控 IDE 机器人
基于Nodemcu的手机控制小车
基于Nodemcu的手机控制小车
233 0
|
11月前
|
监控 安全 物联网
工厂人员定位管理系统方案:实现低成本高精度人员定位
蓝牙定位技术结合Lora技术,实现低成本、高效率的工厂人员定位管理,能够提升生产效率、保障安全、优化应急响应的关键工具。该系统能够实时获取工厂内人员的位置信息,为生产调度、安全监控、紧急疏散等提供精确、及时的数据支持。
610 5
|
机器学习/深度学习 人工智能 搜索推荐
【AI 场景】如何使用 AI 向客户推荐个性化产品?
【5月更文挑战第3天】【AI 场景】如何使用 AI 向客户推荐个性化产品?
【AI 场景】如何使用 AI 向客户推荐个性化产品?
|
存储 开发框架 小程序
【全栈小程序开发路线】手把手教你入门小程序开发,小白必看!
以下内容是结合我项目中实战经验,踩坑记录,大量时间学习小程序的积累,总结分享给大家。 学习路线包括前端基础、小程序开发框架、UI组件库、云开发、周边生态以及插件这几个纬度,学完这些,你也能全栈开发一个属于自己的产品。
1058 0
|
存储 算法 C++
C++ STL精通之旅:向量、集合与映射等容器详解
C++ STL精通之旅:向量、集合与映射等容器详解
402 0
|
机器学习/深度学习 语音技术 Python
使用Python实现语音识别与处理模型
使用Python实现语音识别与处理模型
455 0
|
存储 JSON JavaScript
「Python系列」Python JSON数据解析
在Python中解析JSON数据通常使用`json`模块。`json`模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法。
342 0
|
网络协议 Linux C++
linux系统中如何使用QT来进行网络编程实现
linux系统中如何使用QT来进行网络编程实现
344 0

热门文章

最新文章