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 工具 > 设置 > 解释器

成了!!!

Linux+MicroPython+esp8233 YES!的更多相关文章

  1. Linux 27 岁了!盘点 Linux 的 27 件趣事

    Linux 27 岁了!盘点 Linux 的 27 件趣事 许多人认为10月5日是 Linux 系统的周年纪念日,因为这是 Linux 在1991年首次对外公布的时间.不过,你可能不知道的是,早在19 ...

  2. 高度可配置的 Linux 内存守护程序 Nohang!

    导读 Nohang 是一个 Linux 守护程序,也是一个高度可配置的 OOM(内存溢出)阻止工具,适用于 Linux 系统,能够有效地防止内存不足的情况. 部分功能特性 具有良好注释的配置文件,配置 ...

  3. 好消息,Manjaro Linux 18 已正式发布!

    导读 Manjaro Linux 18 已正式发布!Xfce 版本仍然是旗舰,Manjaro 为其提供了优雅且领先的集成体验.这一版本搭载 Xfce 4.13. 这一版本主要专注于在桌面和窗口管理器上 ...

  4. Linux下Setuid命令! 转载

    Linux下Setuid命令! 转载  在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/sha ...

  5. 【转】linux之pmap命令!

    原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...

  6. 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】

    作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...

  7. Linux简介(好!)

    Linux操作系统介绍 来源:233网校论文中心[ 2009-12-02 14:23:00 ]阅读:1作者:王长青编辑:studa20 [摘 要]文章从Unix.Minix系统的产生引出了Linux操 ...

  8. 新手之VM下安装centos版本Linux系统完整版!

    一.安装必备软件 1:下载好VM workstations虚拟机 2:下载好你要安装的centos版本. 如果没有,请自己先百度下载好~或者找我要. 二.开始安装 VM workstation部分 1 ...

  9. 从 0 → 1,学习Linux该这么开始!

    首先我们还是来普及以下概念,讲点虚的.现在是图形系统的天下,windows我们用了20多年.成功归功与它图形界面,你会点鼠标吗你会敲键盘吗?所以你会上网会聊天会玩游戏了.那么,0基础接触的Linux, ...

随机推荐

  1. JavaScript高级:JavaScript面向对象,JavaScript内置对象,JavaScript BOM,JavaScript封装

    知识点梳理 课堂讲义 1.JavaScript面向对象 1.1.面向对象介绍 在 Java 中我们学习过面向对象,核心思想是万物皆对象. 在 JavaScript 中同样也有面向对象.思想类似. 1. ...

  2. springCloud中的注册中心Nacos

    springCloud中的注册中心Nacos 三个模块: 1.注册中心 2.服务提供者(生产者) 提供服务 3.服务消费者(消费者)调用服务 流程:消费者和生产者都要向注册中心注册,注册的是二者中服务 ...

  3. Hive安装与配置——2.3.5版本

    Hive安装配置 Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,使查询和分 ...

  4. Java流程控制:顺序结构

    一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...

  5. Mysql 高可用(MHA)-读写分离(Atlas)-分布式架构(Mycat)

    Mysql 高可用(MHA)-读写分离(Atlas) 1. 搭建主从复制(一主两从) 1.1 准备环境 1 主库:10.0.0.51/db01 2 从库:10.0.0.52/db02,10.0.0.5 ...

  6. Numpy的终极备忘录

    转: Numpy的终极备忘录 作者|Rashida Nasrin Sucky编译|VK来源|Towards Data Science Python是开源的.对于使用python的数据科学家来说,Num ...

  7. 封装fetch请求失败和超时再次请求

    转: 封装fetch请求失败和超时再次请求 function _fetch(fetch_promise, timeout) { var abort_fn = null; //这是一个可以被reject ...

  8. C语言相关的基础字符串函数

    C语言中没有专门的字符串类型,所以就用字符数组和字符指针形式表示 1 char arr[]="abcdef"; //字符数组表示的字符串 2 char*arr="abce ...

  9. CCF(引水入城:60分):最大流+ISAP算法

    引水入城 201703-5 这从题目分析来看很像最大流的问题,只需要增加一个超级源点和一个超级汇点就可以按照题意连边再跑最大流算法. 因为数据量太大了,肯定会超时.但是没有想到可行的解决方法. #in ...

  10. 基于CefSharp开发浏览器(九)浏览器历史记录弹窗面板

    一.前言 前两篇文章写的是关于浏览器收藏夹的内容,因为收藏夹的内容不会太多,故采用json格式的文本文件作为收藏夹的存储方式. 关于浏览器历史记录,我个人每天大概会打开百来次网页甚至更多,时间越长历史 ...