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. 三种远程部署war包检测

    简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...

  2. 文字链接Link

    效果展示: 代码展示: <el-table-column label="引流扫码人数" align="center"> <template s ...

  3. 代码小知识之UUID

    1.生成UUID(UUID保证对在同一时空中的所有机器都是唯一的,UUID的唯一缺陷在于生成的结果串会比较长.UUID 来作为数据库数据表主键是非常不错的选择,保证每次生成的UUID 是唯一的) UU ...

  4. 生成pdf phantomjs

    注:原创文件,转载请注明出处 使用phantomjs生成还原度比较高的pdf文件,理论上生成word也可以,因需求没有做这块要求,功课留给大家去做了. 下载 https://phantomjs.org ...

  5. C++核心篇

    C++核心编程 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓. 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统 ...

  6. MySQL:初识数据库

    对于大型互联网公司来说,数据的重要性可能比软件本身更重要.据说淘宝业务系统的开发大概消耗约7000万人民币,而其保存的用户数据的价值远高于此,加上数据分析算法的加持,其产生的价值和收益无疑是巨大的,远 ...

  7. linux 关闭对端口的监听

    netstat -anp | grep [端口号] [root@test-01 ~]# netstat -anp | grep 6665 tcp 0 0 0.0.0.0:6665 0.0.0.0:* ...

  8. 如何在netcore下,愉快的使用IServiceProvider

    之前一直做dotnet framework开发,依赖注入使用Autofac,Autofac的一般用法是服务启动时,将用到的接口.实现类名注入进去, 然后在服务其他地方如果使用该类时,直接在Contai ...

  9. pytorch(02)tensor的概念以及创建

    二.张量的简介与创建 2.1张量的概念 张量的概念:Tensor 张量是一个多维数组,它是标量.向量.矩阵的高维拓展 Tensor与Variable Variable是torch.autograd(t ...

  10. 【Arduino学习笔记08】使用串口监视器显示数据

    代码及相关说明: 1 // 示例:读取模拟输入并显示在串口监视器中 2 3 const int ANALOG_IN = 0; 4 int val = 0; 5 6 void setup(){ 7 Se ...