徐松亮ESP8266专项教学1-简介与多种开发环境搭建

版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!QQ:5387603

推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)


目录

一,ESP8266简介

1,官方网站

2,芯片资源

二,基于安信可的Eclipse开发环境

1,适合人员

2,官方网站

3,安装

4,使用

5,下载

三,基于micropython的开发环境

1,micropython简介

2,适合人员

3,官方网站

4,安装

5,使用

6,注意事项

四,基于Arduino的开发环境

1,Arduino简介

2,适合人员

3,官方网站

4,安装

5,应用实例

五,基于乐鑫的开发环境(未完待续)

六,总结


 

一,ESP8266简介

  • 1,官方网站

    • 乐鑫(ESP8266的芯片生产商) 
    • 安信可(基于ESP8266芯片开发了系列模块,并有一定的开发资源与技术支持)
      • https://www.ai-thinker.com/home
      • 安信可的开发环境是基于Windows的,基于Eclipse+cygwin的开发环境,安信可都已经配置完好,降低使用难度.
  • 2,芯片资源

    • CPU    Tensilica L106    32bitMCU    16bitRSIC
    • 主频    80MHz~160MHz
    • 存储
      1. 内部SRAM            刨除SDK    用户可用50KB
      2. 外部FLASH           16MB           建议不支持OTA>512KB,支持>1MB
    • 功耗
      1. 激活模式
      2. 睡眠模式
      3. 深睡模式   20uA
    • 外设
      1. GPIO                17个
      2. UART               2个              速度可达115200*40(4.5Mbps)
      3. I2C                   1个              可主可从     100kHz
      4. I2S                    1入1出      支持DMA
      5. SDIO                25MHz-SDIOv1.1     50MHz-SDIOv2.0
      6. PWM                4个             
      7. ADC                 1个              10bit
      8. SPI
      9. IR                     1个              1收1发

二,基于安信可的Eclipse开发环境

三,基于micropython的开发环境

  • 1,micropython简介

    • Damien George是一名计算机工程师,他每天都要使用Python语言工作,同时也在做一些机器人项目。有一天,他突然冒出了一个想法:能否用Python语言来控制单片机,进行实现对机器人的操控呢?
      要知道,Python是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。遗憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼。
      Damien为了突破这种限制,他花费了六个月的时间来打造Micro Python。它基于ANSI C,语法跟Pyton 3基本一致,拥有自家的解析器、编译器、虚拟机和类库等。目前他支持基于32-bit的ARM处理器,比如说STM32F405。
      借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。
      与此同时,Damien还给大家带来了一款专门为Micro Python而打造的开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、一个加速传感器、时钟模块,可在3V-10V之间的电压正常工作。值得一提的是,它遵守MIT协议开源,被授权人拥有复制、修改、发行和再授权的权利。
    • MicroPython在2014成功的在kickstarter上众筹,获得很高的评价,现在越来越多的开发者开始使用MicroPython。
      目前MicroPython有多个不同硬件平台的移植版本,包括STM32F4/F7/L4系列、ESP8266、ESP32、NXP MK20DX256、microchip PIC33、Infineon XMC4700、nRF51822、CC3200、MSP432等。其中以STM32和ESP8266为主要版本。除了官方维护的版本外,还有众多爱好者移植的版本。
      MicroPython采用了MIT授权方式,这是最宽松的授权方式,任何人都可以使用它,也可以用于商业应用。
      实际上,除了MicroPython外,在嵌入式上还有其它一些python版本,只是影响力不大。如更早的时候有pymite项目,可以在avr上运行python;还有一些不开源的商业项目,如:SNAPpy,能够在C8051和AVR上运行。但是这些项目的功能不如micropython。
  • 2,适合人员

    • 适合擅长软件开发,对硬件及C语言不是很擅长的python工程师。
    • 适合没有特殊功能规划需求的项目,因为底层是不开放的,自由度没有C语言开发强。
  • 3,官方网站

  • 4,安装

    • 芯片完全擦除(没有此步骤可能会导致开发板不断输出乱码),如下图软件配置,并点击ERASE按键
    • 把下载的esp8266-XXXXXXXX-vX.X.X.bin文件,通过ESP FLASH DOWNLOAD TOOL工具下载到开发板。
    • 验证:打开常用的串口工具,波特率115200,重上电开发板打印出调试信息,并进入到">>>"说明固件下载成功。
  • 5,使用

    • micropython官网文档:http://docs.micropython.org/en/latest/index.html
    • 中文教程(仅供参考):https://pan.baidu.com/s/1l4w9xmpedyQQlZ36mMcIEw
    • 指令方式实验
      • 输入如下代码,可以验证开发板对应的小灯按照指令的执行亮灭.
      • >>> from machine import Pin
        >>> led=Pin(2,Pin.OUT)
        >>> led.on()
        >>> led.off()
    • 文件传输方式
      • 本文主要介绍用micropython的官方文件传输工具webrepl的使用步骤
      • 首次下载固件后,先配置模块的网络,使其能与电脑使用共同的局域网.如下图:
      • 设置webrepl的密码,在开发板上做如下操作(也是仅首次下载固件后操作,之后就不用了):
      • 重启后,显示如下信息:
      • 获取路由器给开发板分配的IP地址
      • 在电脑打开webrepl客户端软件(打开文件webrepl.html),修改IP为开发板的IP,点击连接,并输入密码,如下图
      • 新建一个文件main.py,输入最最简单的代码,并保存.如下图:
      • 在通过上面已经连接的webrepl客户端软件网页,传送文件
      • 重启设备,验证我们写的main.py是否被成功执行:
  • 6,注意事项

    • 传入ESP8266的文件注意编码格式,本人用ANSI编码好使,必要时用"记事本"转换即可.
    • 注意板子的型号,尤其是FLASH容量,如果对应不好,会出现部分功能缺失,本人调试时遇到了用安信可的小黄版,下载micropython后,WebREPL不好使的状况.

四,基于Arduino的开发环境

  • 1,Arduino简介

    • Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发...具体自己百度就好。
  • 2,适合人员

    • 一般用Arduino的大多是非专业工程师,而是电子产品开发爱好者。与micropython优缺点类似。
  • 3,官方网站

  • 4,安装

    • 安装Arduino IDE
    • 打开Arduino IDE,选择首选项(文件---首选项),在"附加开发板管理器网址"中添加如下信息:
    • 安装开发板(工具---开发板...---开发板管理器),找到"esp8266 by ESP8266 Community...",下载安装
    • 选择开发板,常规实验选择Genneric ESP8266 Module即可
    • 选择串口,按照实际电脑连接的串口号选择
    • 其他开发板信息如有特殊需求自行修改,如CPU Frequency或Flash Size等等.
  • 5,应用实例

    • 验证一个官方做的WebServer实例
    • 打开示例文件:文件---示例---ESP8266WebServer---AdvancedWebServer,如下图
    • 修改路由器的ssid和password为本地路由信息,如下图
    • 编译与下载: 将ESP8266开发板进入下载模式(GPIO0拉低再复位,再具体问题不再本文描述范围内),先点击"验证"图标再点击"上传图标",如下图
    • 如果程序下载成功,会在IDE的信息窗口显示如下信息.
    • 打开IDE的串口监视器,设置波特率到115200,并复位开发板,如果板子连接路由成功,则会显示如下信息.
    • 用浏览器打开上面显示的IP地址,就会看到ESP8266开发板输出的内容.实验结束.

五,基于乐鑫的开发环境(未完待续)

六,总结

  • 专业的C语言嵌入式开发工程师用乐鑫开发环境或者安信可Eclipse开发环境
  • 嵌入式开发爱好者通常使用micropython或则arduino开发环境.
  • 尴尬的是,做为专业的C语言嵌入式开发工程师,有些复杂的网络应用自己从C语言来开发,不只是开发周期长,而且稳定性也不一定好,所以个人还是很看好micropython和arduino的逐步发展,最好紧跟脚步,也许不久C语言会向当初汇编语言一样,被主流淘汰.

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐松亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值