MicPython

MicroPython是澳大利亚程序员和物理学家Damien George在2013年一次成功的众筹活动后最初创建的。MicroPython 和 CPython 在 Python 3 语法上保持高度的一致性,常用的标准语法命令都已经支持

Python语言有多种实现。如CPython、Jython、PyPy等。可以说MicroPython正是这Python大家族中的一员。但与其他Python成员不同的是,MicroPython更适用于嵌入式系统,如ESP8266、ESP32、Pico树莓派等物联网开发板。CPython是目前最为流行的Python实现,可以说CPython就是标准Python了。

既然有了CPython那为何还要多一个MicroPython呢?

Python与MicroPython所适用的系统在硬件资源和软件环境上差别很大。物联网开发板可供用户使用的的内存只有几Mb。而电脑或手机内存最少也有1Gb,天壤之别。

通常嵌入式开发里最流行的语言是C,学习Python或MicroPython是不是多此一举呢? 咱就玩玩,怎么方便,怎么快乐怎么来!人生苦短,快用python。用这个有啥优势呢

动态开发

使用C语言开发时,需要将写好的程序编译成二进制文件然后上传开发板。如果修改程序内容,则需要再次编译,再次上传。贼麻烦(你要是用过Arduino IDE你就知道,那个编译速度 啧)。而MicroPython是一种动态语言。无需编译就可以直接让开发板运行程序内容。同时,我们在程序执行过程中也可以动态的调整程序参数,十分便于我们调试程序。

OTA开发

所谓OTA就是无需用电脑与开发板联线就可以实现设备固件更新。MicroPython配有webrepl开发环境,便于我们使用WiFi对开发板进行固件更新或修改。wifi一连,啪就上去了,很快啊

更便捷的文件管理

MicroPython固件一刷,ESP8266就像个一个小型操作系统,文件系统都有了,还要啥自行车。

丰富的开源库让开发更加便捷

和Arduino一样MicroPython也有非常丰富的开源库供我们使用。无论是控制电机、取传感器信息还是使用HTTP协议或MQTT协议、实现物联网操作。这可比用C开发快多了,MicoPython代码跑的可能不如用C写的编译好的二进制快,who care

搭建环境

linux+esp8266+micpython 咱们当然是在linux下整!

第一步:确定端口

确定你的esp8266的端口号

注意这时候还没有将你的esp8266插入电脑

esp8266连入电脑

多了个/dev/ttyUSB0没错,你的esp8266对应的端口号就它了。

linux一切皆文件,来瞅瞅这个文件的属性,看看我们一会儿有没有权限通过这个文件刷入固件MicoPython固件。

果然没有权限。 自己加!

权限777 加满 能要的俺全要。

不用太担心安全性,等你usb一拔,再插上权限又都没了。ttyUSB0是个临时文件

第二步:下载固件

MicroPython官网 www.micropython.org下载固件

第三步:擦、刷

# 安装工具
pip install esptool
#先擦
~/.local/bin/esptool.py --port /dev/ttyUSB0 erase_flash
#后刷
~/.local/bin/esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_size=detect 0 ./esp8266-20210420-unstable-v1.15.bin



行了,你的esp8266现在就像个小操作系统啦,能解释MicoPython程序了

第四步:开发环境

我们来看看

安装thonny

# Arch 系列
sudo pacman -S thonny
#ubuntu
sudo apt install thonny

打开thonny 工具 > 设置 > 解释器

成了!!!

最新文章

  1. iOS之ToolBar定制
  2. 搭建 SubversionEdge for VS
  3. session 的用法
  4. 使用Coookie实现浏览器显示上次的登录时间
  5. mysql下的常用操作
  6. Python基础 初识Python
  7. Javascript/Jquery——简单定时器的多种实现方法
  8. PHP概率算法(适用于抽奖、随机广告)
  9. SOAP web service用AFNetWorking实现请求
  10. directUI
  11. python字符串连接的三种方法及其效率、适用场景详解
  12. URAL 2034 : Caravans
  13. php如何实现上传图片文件,并替换
  14. Android内存泄漏分析及调试
  15. Swift学习笔记(一)搭配环境以及代码运行成功
  16. HTML中部分标签的嵌套问题
  17. C语言之猜数游戏
  18. 标准模式 怪异模式 盒模型 doctype
  19. jQuery获取各种位置方法
  20. Kalman Filters

热门文章

  1. 又长又细,万字长文带你解读Redisson分布式锁的源码
  2. 如何使用 Navicat Premium 的新“自动运行”工具自动运行行数据库复制。
  3. 完整的 LDAP + phpLDAPadmin安装部署流程 (ubuntu18.04)
  4. 01.从0实现一个JVM语言之架构总览
  5. 蓝桥杯-分考场(dfs)
  6. POJ-1511(Dijkstra+优先队列优化+向前星)
  7. MySQL基础知识:启动管理和账号管理
  8. 无限可能 | Flutter 2 重点更新一览
  9. 【python+selenium的web自动化】- 控制浏览器的常用操作
  10. FreeBSD 入门导言