5. Python

Python是一种面向对象的解释型程序设计语言,是纯粹的开源软件,源代码和解释器 CPython 遵循 GPL(GNUGeneral Public License)协议。

Python语法简洁、清晰、自由、灵活,具有丰富和强大的库,常被昵称为“胶水语言”,能够把其他语言(尤其是 C/C++)编写的各种模块很轻松地“粘合”、联结在一起。

虚谷号内置的Python版本是3.5.2。

5.1. 用Python代码控制LED

例如,在虚谷号中控制引脚的高低电平,让连接在引脚上的LED灯闪烁,代码如下:

from xugu import LED
import time
led = LED(13) # led引脚初始化
while True:
        led.on()
        time.sleep(1)
        led.off()
        time.sleep(1)

5.2. 在线调试Python

虚谷号内置了Jupyter。通过Jupyter,可以通过Web页面在虚谷号上运行Python代码和Linux命令。

Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。

请访问本文档的“虚谷号的基本操作”——“Jupyter”,查看Jupyter的使用说明。

5.3. 虚谷号内置的xugu库

xugu库是虚谷号研发团队为虚谷号定制的Python库,其目的是为了降低初学者用代码控制硬件的模块。xugu库基于Firmata协议开发,用户无需学习Arduino代码、串口协议知识,用极其简短的代码,即可实现对虚谷号板载Arduino的控制和感知。

xugu库中有Pin、Servo、I2C、SerialMgt、LED、XuguLog等类,支持绝大多数的Arduino模块。如用控制某个LED灯的亮度大代码如下。

from xugu import Pin  # 从xugu库中导入Pin类
p = Pin(10, Pin.OUT)  # 初始化10号引脚设置为输出模式
p.write_analog(128)  # 给引脚设置模拟值128

5.4. 虚谷号的Python库列表

虚谷号内置了大量常见的Python库,基本上涵盖了中小学教材中涉及到的所有库,可以看成是一个Python集成环境。当然,也可以使用pip命令自行安装。

请访问本文档的“虚谷号的基本操作”——“Python运行和库维护”,查看具体的库列表和版本说明。