接上你的电脑,开始使用MicroPython语言编程你的树莓派Pico和学习板。 自从1991年发布以来,Python编程语言(用知名的喜剧剧团Monty Python命名)已经成为全球最著名的编程语言之一。Python本来是为电脑开发的,比如桌面电脑、笔记本、服务器灯。像树莓派Pico这种微处理器又小、又简单而且存储还很少,很难想象能够像那些大家伙一样运行相似的Python语言。

MicroPython来了,最早由Damien George开发并于2014年发布,它是一种专为微控制器开发的、兼容Python的编程语言,自然它拥有主流Python语言的很多主要的特性,当然也增加了一些新的特性以充分利用树莓派Pico或其它微控制器板上的便利。

1. 什么是Thonny Python IDE?

2. 下载、安装Thonny IDE

3. 连接Thonny和Pico

4. Thonny Python IDE的界面介绍

  • Toolbar
  • Script Area
  • Python Shell
  • Interpreter

要写下你的第一个程序,在Thonny窗口下面的Python Shell区域,敲下下面的代码并按回车:

print("Hello, World!")

当你按下“回车”键,你会看到你的程序立刻就执行:Python在同一个Shell区域用信息“Hello,World!”给出反应,就如你要求做的。

你按下ENTER键时,你会看到你的程序立即开始运行:Python会在相同的Shell区域做出响应,并显示“Hello, World!”’(图2-3)。这是因为Shell是运行在你的Pico上的MicroPython解释器的直接线路 他们的工作是看你的指令并解释它们的意思。这就是所谓的互动模式,你可以把它想象成与某人面对面的对话:你刚说完的话,对方就会做出回应,然后再等着你接下来要说什么。

使用Shell为您的Pico编程有点像进行电话交谈:当您按下ENTER键时,您的指令将通过micro USB线发送到运行在Pico上的MicroPython解释器;解释器会查看你的指令,按照指令执行,然后通过微型USB数据线将结果发回给桑尼。

不过,您不必通过Shell在交互模式下编程。点击tonny窗口中间的脚本区域,然后再次输入你的程序:

print("Hello, World!")

当您这次按下ENTER键时,除了在脚本区域中得到一个新的空白行之外,什么也没有发生。要使这个版本的程序运行,你必须点击Thonny工具栏中的Run图标,或者点击“运行当前脚本”后的Run菜单。

现在点击运行图标:系统会问你是要保存你的程序到“这台电脑”,意思是你的Raspberry Pi,还是“Raspberry Pi Pico”,意思是你的Pico

图2 - 4。点击“Raspberry Pi Pico”,然后输入一个描述性名称,如Hello_World.py,然后点击OK按钮。 一旦你的程序保存,它将自动运行在你的Pico。你会看到两条消息出现在tonny窗口底部的Shell区域:

第一行是一条来自Thonny的指令,告诉Pico上的MicroPython解释器运行脚本区域的内容——“EDITOR_CONTENT”。第二个是程序的输出——您告诉MicroPython打印的消息。祝贺您:现在您已经在交互式和脚本模式下编写了两个MicroPython程序,并成功地在您的Pico上运行它们!

还有一个难题:重新加载你的程序。通过按窗口右上角的X关闭tonny,然后再次加载它。这一次,不是编写一个新程序,而是单击tonny工具栏中的Open图标。就像你保存程序时,系统会问你是想保存到“这台电脑”还是你的“Raspberry Pi Pico”,点击“Raspberry Pi Pico”,你就会看到一个列表,上面列出了你保存到Pico上的所有程序。

在列表中找到Hello_World.py—如果您的Pico是新的,那么它将是惟一的文件—然后单击它选择它,然后单击OK。您的程序将加载到tonny中,准备进行编辑或再次运行它。

一个MicroPython程序,就像一个标准的Python程序一样,通常是从上到下运行的:它依次遍历每一行,在进入下一行之前先在解释器中运行,就像在Shell中一行一行地输入它们一样。

如果一个程序只是逐行运行指令列表,那就不是很聪明了——所以MicroPython,就像Python一样,有自己控制程序运行顺序的方法:缩进。

点击tonny工具栏中的new图标创建一个新程序。您不会失去现有的程序;相反,tonny将在脚本区域上方创建一个新标签。输入以下两行来启动你的程序:

print("Loop starting!")
for I in range(10):

第一行向Shell输出一条简单的消息,就像您的Hello World程序一样。第二步开始一个确定的循环,它将一个或多个指令重复一组次数。将一个变量i赋给循环,并给出一系列数字——range指令,从数字0开始,向上计算,但不能达到数字10——进行计数。冒号(:)告诉MicroPython循环本身从下一行开始。

变量是强大的工具:正如其名称所示,变量是可以改变的值

-或变化-随时间变化,并在程序的控制下。最简单的情况是,变量有两个方面:它的名称和它所存储的数据。在循环的情况下,变量的名称是' i ',它的数据由range指令设置-从0开始,每次循环结束并重新开始时增加1。

要在循环中包含一行代码,它必须缩进——从脚本区域的左侧移动。下一行以四个空格开始,当您在第2行后按下ENTER键时,Thonny将自动添加这些空格。现在就输入:

print("Loop number", i)

与程序中的其他行相比,这四个空格将这一行往内推。MicroPython是通过缩进来区分循环外部指令和循环内部指令的:缩进的代码形成了循环内部,被称为嵌套代码。

你会注意到,当你按下第三行末尾的ENTER键时,Thonny会自动缩进下一行——假设它是循环的一部分。要删除此缩进,只需在输入第四行之前按一次BACKSPACE键:

print("Loop finished!")

您的四行程序现在完成了。第一行位于循环外部,只运行一次;第二行设置循环;第三个位于循环内部,每次循环运行一次;第四排又在圈外了。

print("Loop starting!")
for i in range(10):
    print("Loop number", i)
print("Loop finished!")

点击运行图标,选择“Raspberry Pi Pico”将程序保存到Pico上,并将其命名为indentment .py。程序将在保存后立即运行:查看Shell区域的输出(图2-5,背页)。

条件语句和变量

  • IF else
  • While