esp32 micropython 之 Hello, World!

head.jpg

Hello, World!

Hello World是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。实际上,这个程序的功能只是告知计算机显示Hello World这句话。传统意义上,程序员一般用这个程序测试一种新的系统或编程语言。对程序员来说,看到这两个单词显示在电脑屏幕上,往往表示他们的代码已经能够编译、装载以及正常运行了,这个输出结果就是为了证明这一点,因此以下说明以此为例。

1. 使用 MpfShell 编程

  • 温馨提示,往下使用之前,请先烧写 MicroPython 固件。
  • 所需材料,Windows 请到此处Tools 下载 Windows-Mpfshell.exe, 由于软件版本可能会升级变动,所以需要手动选取所需版本下载。

如果你已经安装了 Python ,直接使用 pip install mpfshell-lite 后输入 mpfshell-lite 即可。

1. 通过 repl 运行程序

program.png
  • (以 Windows 为例)双击运行 Windows-Mpfshell.exe
index.png
  • 依次出现的颜色 解释其说明
    白色 显示所有支持的命令操作,上排命令表示有帮助说明,下排命令反之。
    黄色 以上为全部支持的命令,如果想知道ls的用法,输入help ls即可得知。
    蓝色 显示当前插入的板子的串口名,如图所示为 com5,可以输入open com5连接设备。
  • 尝试连接设备,输入 open com5(可以简写为 o com5),如果没有反应,使用CTRL + C或右上角点红叉。

opendev.png
  • 现在的提示:首次启动板子,若是使用了联网功能,如果灯还在滚动的时候连接了板子,可能会停止联网操作,所以当发现联网功能被停止了,需要手动在repl执行wifi.start(),或使用 exec 执行该语句即可。

  • 过去的提示:首次启动板子,第一次会连接失败,根据提示 try again 重试即可,因此要注意红色的提示信息。

connected.png
  • 当显示 Connected to esp32 时,就可以确认板子已成功连接。

  • 此时再次输入 repl,进入基础编程环境,并写下你的第一段程序,例如:print('Hello, World!')

  • 提示:最新的固件在开机时的 REPL 可能会出现 no found AP,想要停止它可以输入wifi.close(),这不影响板子的外部操作,只是会影响 REPL 的输出位置,固件设定板子上电就会自动执行联网,其联网配置文件在内部的wifi_cfg.py,由于每个人的环境不一样,所以默认的是连接webduino.io/webduino,它输出的讯息只会影响显示,不影响功能。

print_helloworld.png
  • 回显 Hello, World!,即说明你成功的运行了你的第一段程序,你也可以继续输入代码来测试。

2. 通过 main.py 运行程序

  • 新建一个 main.py 文件,并写入以下内容。

    print('Hello, World!')
    
  • 若是想使用 MpfShell 执行该文件,请将文件放到与 MpfShell 同一目录下。

main.png
  • 接着再切换到 MpfShell 的程序区域,输入runfile main.py,或输入rf main.pyrunfile 简写成 rf
main_result.png
  • 可以看到回显了hello world,说明你成功运行了程序。

  • 可能有用的提示:最新的 mpfshell 指令多了 lexecfile,如果需要进行python 的 input 输入交互的时候,请使用该指令, 因为 runfile 只能接收板子输出而不能输入。

以下为进一步深入的内容,可以自行了解。

4. 详解开发环境和工具

1. 什么是 repl?

REPL(Read-eval-print-loop):交互式解析器

在 repl 环境下,可以定义和运行变量、函数、对象。

repl 的常用命令:

  • 启动 MicroPython,即进入了 REPL 环境。
  • 退出:按 Ctrl + C中断 或 按CTRL + D 软复位。
  • 点击 tab 可以打印出 Python 中的所有模块,或补全不完整的命令(输入过的历史命令)。
  • 使用键盘方向键的 向上 或 向下 可以查看 历史命令,向左 或 向右 配合 backspace 可以修改还没确认输入(Enter)的内容。

常见使用场景:

  • 在 repl 中想要输入 import 命令,只需要 输入 i + 按下 tab 键即可补全成 import,其他同理,使用的前提是此前输入过,因此不是所有命令都可以被补全。

  • 在运行 python 代码时,希望能让它停下来,按下 CTRL + C 即可向解释器发送一个 KeyboardInterrupt 异常,此时解释器运行过程中如果未使用异常捕获处理该异常,则程序将会停止。

2. 如何选择开发工具?

名称 描述 优势 劣势
notepad 系统自带记事本 足够简单 远古高手才能用得起 XD
notepad++ 记事本升级版 支持代码识别和高亮 现代高手看代码用的 XD
uPyCraft 跨平台简易开发环境 使用简单,适合新手 问题多,且缺少许多必要的编程功能,例如各种操作快捷键。
MpfShell 跨平台简易交互工具 功能完整,拓展性强 缺乏编辑器支持,代码靠外部编辑器编写,例如: VSCODE 或 PyCharm。
ESPBlocks 跨平台代码编辑器 新手专属的简易开发工具 支持板子的快速有线连接和运行代码,还有 Blockly 的支持,其他功能略有缺失,但不影响新手上手。
VSCODE 跨平台代码编辑器 专业代码标准编程环境 缺乏板子的支持,需要配合工具运行代码,例如 :MpfShell、RShell、PyLoader。
PyCharm 跨平台代码编辑器 专业代码标准编程环境 支持板子的直接操作,但配置稍微多了一些,要使用起来没有那么一键快速,编程体验相当于 Visual Studio IDE。

个人推荐 MpfShell + PyCharm ,理由是编写简单的代码用 MpfShell ,编写复杂的代码用 PyCharm ,无需额外配置任何东西,运行流畅,简单快捷。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容