树莓派PICO Python编程入门手册
零、纸质手册和电子版的纠结 原本也想搞一个几十页那种纸质手册,就像12年前树莓派论坛第一个搞出《树莓派使用手册》那样,国内首批几万十几万人的树莓派玩家绝大多数都来自我这里,想想已经人到中年了吧。 言归正传,纸质版是不合适的,其中牵扯到很多网址、例程代码,纸质手册实在太不方便,索性搞成PDF或在线版,方便手机或电脑在线查看。这样不怕丢失,随时可以查看使用。 一、 不可忽略的准备工作 1.1、树莓派PICO是个啥? 树莓派基金会于2021年1月21日对外发布了微型处理器级别的树莓派PICO开发板,与以往的树莓派旗舰型号(如树莓派5B/4B)、CM、Zero、PI400完全不同。前者不运行任何传统意义上的操作系统,而是用来执行任务目标相对于后者更简单明确的程序。 PICO基于树莓派官方自研的RP2040处理器,市面价格已经低至10元左右。廉价但不低劣,兼容性高,编程语言优秀且受众广泛,总之性能强大且功耗还低。所以一经上市就受到全球创客热捧,不亚于2012年树莓派第一代发布时的火爆。 1.2、PICO可以用来做什么呢? 作为控制器或者某个项目的主控,在微处理器领域,别的开发板可以做的,它都可以做!核心就是便宜和功能强大!比如:水质、温度、空气质量等传感世界的控制,设备自动化控制,智能家居产品,语音识别,智能门锁,智能玩具,航模控制等等。 1.3、需要哪些配件才能运行? 1.3.1、一条数据线 具体是MICRO-USB还是USB-C数据线,取决于你的PICO板子。但这个数据线或者说下载器吧,建议购买优质一些的,以确保数据传输中保持稳定和完整性。 1.3.2、面包板 基于PICO的特性,它更主要是跟硬件打交道,完成特定任务或学习提升,都需要特定的电子元件或模块来完成,因此试验必不可少。而面包板将极大的节省试验者的试错成本和精力。 1.3.3、试验用的连接线 面包板与PICO,PICO与电子元件、元件与元件等都需要用到连接线,常见的连接线,比如:杜邦线(母对母、母对公,公对公),有了杜邦线这三种基本就可以了。 1.3.4、焊接 如果不会焊接,可以选购已经焊接好排针的PICO和电子模块,但是建议学会焊接,毕竟玩硬件,不会焊接着实说不过去。可以选购40瓦~60瓦的电烙铁、焊锡丝。焊接技术以够用为目标的话,学起来并不难,重在多尝试,前期可以找一些废弃的设备或元件尝试,焊接前,充分预热电烙铁后就可以很顺利了,逐渐优化即可。 1.3.5、上位机 一般不需要额外购买,有电脑就行,只有树莓派也可以,用来编程并下载至PICO。 总的说,PICO玩起来,要用到的配件很少很少,比树莓派旗舰系列,纯粹是奥特曼打杰瑞,降维打击。 1.4、绕不开的IO 如果说微控制器开发板是一个人,假设没有IO口,那么他就是眼球都不能动的植物人,无论大脑有多聪明,他什么都做不了。 PICO提供40Pin的端口供开发者使用,分别有26个多功能GPIO口,2路I2C,2路SPI,2路UART,3路12bit ADC模拟量采集接口,16路可控PWM接口,芯片还集成了时钟和计数器,温度传感器,8路可编程IO状态机,支持浮点数加速运算。 这些PICO的端口与外围电子模块搭配,瞬间从植物人变成天才技工,充分发挥其强大功能。 二、PICO的编程与开发 2.1、PICO玩机流程 给大家捋一下PICO的玩机流程,这样就很容易理解怎么玩PICO了。其实这也算是功能开发的流程。 第一步、要实现什么目的(功能)? 第二步、有了目的就能确定需要什么外设来实现。 有了目的,就要进行相关电路考虑或设计,从而确定需要什么外设或电子模块。这些都需要查找资料。所以资料或例程尤为重要,就算你开发能力有多么强悍,也不想为了基础性的东西也重新写代码吧?那样会浪费很多不必要的精力。 第三步、PICO与外设的连通。 第四步、开发环境配置、编程、调试。 第五步、将调试好的程序下载至PICO。 第六步、脱离上位机,PICO通电,独自运行,目的实现! 生态是什么?生态就是大家都在玩,有很多玩法,你拿来就能用,不需要从0开始。为什么树莓派能干过其他所有开发板?生态好,资料多! 综上所述,不管哪一步,参考例程可以说尤其重要。有教程就可以很大程度上绕过了最难的前四步,我们树莓派论坛有丰富的教程例程,并不断更新,别贪图一时便宜,可能设备就会吃灰,白白浪费。 2.2、PICO编程语言 PICO进行编程,官方推荐Python和C/C++。对于初学者而言,Python是非常不错的选择,入门简单又不落伍,如今诸多前沿科技,比如:数据科学和机器学习,代表是AI、智驾;还有自动化、嵌入式、数据分析、WEB开发、游戏开发等等,无所不及。当然,您要用其他语言也是可以的,看个人技术能力。 2.3、Python开发环境的搭建 2.3.1、MicroPython简介 MicroPython是C语言编写的,将Python3这个编程语言完整的软件化实现,比如python编译器和运行时系统,常常被用在微控器方面。给用户提供一个交互式提示符来立即执行所有支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问底层硬件的模块。 MicroPython创建者起初只是将MicroPython和Pyboard微控器一起发行,并支持大量的基于ARM系统结构的微控器,一发不可收拾,深受业内好评,得以广泛使用。创建者DamienGeorge 也因此备受关注,他是一位来自澳大利亚的物理学家和程序员。 MicroPython已经在树莓派PICO、Arduino、ESP8266、ESP32、STM32等微控器主板上。 2.3.2、给PICO安装支持MicroPython的固件 用数据线将PICO和电脑连接起来,将提前下载好的UF2文件挪到PICO所在的盘符就行。具体操作如下: 2.3.2.1、下载UF2文件 选择对应型号,然后下载最新的即可。这个文件会不定期更新,名字会有变化,这很正常: 2.3.2.2、PICO正确状态 未装固件的PICO板子与电脑连通时,会出现一个盘符,表示未装固件,方便您写入文件,如下: 2.3.2.3、安装固件: 将提前下载好的“RPI_PICO-20240602-v1.23.0.uf2”,复制到RPI-RO2(F:)内: (说明:UF2文件名和盘符不一定与文中相同,这是正常的。) 复制或叫下载成功后,这个窗口(或盘符)会自动消失,这表示固件写入成功了。 2.3.2.4、固件如何清除或重新安装呢?有两种方式。 一种是,与电脑连通后,不显示盘符。 在跟电脑连通前,按住PICO上的bootsel按键不松开;连通后,电脑上就会出现盘符。这种方式,只能用来重新装固件,就算你这次不装东西,下次不按住bootsel还是不会显示盘符。 第二种则是彻底的清除固件。按住bootsel后,连通电脑,将flash_nuke.uf2文件复制到PICO盘符内,完成后,窗口也会自动消失。下次你不按bootsel就会显示盘符了。 但是发现一个问题,用了这种方式,电脑也会不灵光,卡顿,无法操作,就像中毒一样,电脑必须得重启!所以非必要勿操作。也可能是个人所遇单体事件! 2.3.2.5、PICO的虚拟串口端口号是多少? 因为后面配置有用到,所以这里要知道怎么看端口号,电脑上进入“设备管理器”,找到端口,点开下面就有了,如下图,COMXX后面的XX数字就是端口号,每个人可能不同。 如何确定这个就是PICO的端口呢?拔掉PICO板子如果端口号消失,重插又显示,那就确认是它了。 2.3.3、MicroPython库简介 文档查询,使用PDF阅读器自带的文内搜索就好,很快就能找到: 2.3.4、电脑安装Thonny——适合初学者的Python IDE Thonny是第一个支持树莓派PICO主板的python编译器,又小型化轻量级,在windows/MAC/LINUX上都可以使用,广受欢迎,特别是初学者。 下载对应的版本,光标移动到下面就可以弹出选择菜单。 2.3.4.2、下载好软件之后,双击安装包安装进行安装,选择同意“I accept。。。”,安装路径可选可默认,创建桌面快捷键(createdesktop icon),点击install安装,点击FINISH完成。 2.3.4.3、选择中文,LETS GO!继续: 2.3.4.4、操作界面中文版: 2.3.4.5、解释器选择、板子端口、字体及大小 菜单栏找到“工具”-“选项”,会弹出对话框,然后选择“解释器”,选择“Raspberry Pi Pico”: 端口选择PICO之前确认的端口即可。 在同一个窗口,顺便把字体、大小也改一下,按自己需求来: 2.3.5、在本地安装Raspberry Pi Pico SDK库 本店安装好SDK库,能够自动补全代码,自动检测代码,非常实用且方便。菜单栏找到“工具”-“管理插件”,并打开: 最后选择您的库所在文件夹即可。 2.3.6、必要的窗口规划 菜单栏找到“视窗”,勾选“文件”和“shell”,即可,这样后续操作更直观方便。 2.4、Thonny编程,PICO板载LED灯闪烁 实现功能是让板载LED(PGIO25)闪烁即可。 打开Thonny软件,“文件”—“新建”一个文件,并命名xxx.py,然后点击这个播放运行按钮,停止就点击左边的STOP红色按钮。 若您要将程序保存在PICO上,并通电就自动运行,那么请点击“文件”—“另存为”,选择“Raspberry pi pico”,文件名则叫main.py,成功后只需要给PICO通电就可以自动运行,而不是必须通过电脑操作。 如果程序保存在“此电脑”上,那么对于PICO来说就是在线模式,跟电脑断掉后,PICO就不会按照程序运行,因为“掉线了”! 至此,树莓派PICO入门教程结束。 C/C++版本的入门手册,另外写一篇,这样就可以有针对性的阅读。
2024年10月15日 东莞 树莓派论坛
|