简单上手Raspberry Pi Pico(Ubuntu+MicroPython)

2023-11-10

关于raspberry pi pico的信息我就不多介绍了,直接给几个关键词吧

  • 售价4$
  • 微控制器
  • MicroPython/C/C++
  • 树莓派基金会自研RP2040芯片

两本官方推荐的书:

发布后第二天在某宝下单,并顺利地在发布后的第三天拿到
在这里插入图片描述
在这里插入图片描述
Pico上可以运行MicroPython或者C/C++程序,这里我主要讲一下如何运行MicroPython

Pico作为微控制器,上面没有操作系统,所以不可能直接在上面进行代码编写与调试,只能将其连接在另一台PC上,写好代码后传输至Pico运行。

连接Pico

官方推荐使用运行Raspbian系统的树莓派,但我更习惯在性能更好的机器上写代码,所以我用Ubuntu系统的PC与Pico。
注意连接时要用手按着白色的BOOTSEL键,连接好后再松手
在这里插入图片描述
这时在系统中就能看到Pico的设备了
在这里插入图片描述

安装MicroPython

点开INDEX.HTM文件,会打开一个网页
在这里插入图片描述
下载UF2文件,再将这个文件拖至Pico目录中
在这里插入图片描述
此时系统会自动中断与Pico的连接,不用担心,此时已经在Pico上安装好了MicroPython

安装Thonny

Thonny是官方推荐的IDE,而且我目前也没找到vscode连接Pico的方式,但minicom命令行工具貌似可以
在这里插入图片描述
可以看到对于Ubuntu系统主要可以通过apt和pip两个工具进行安装,但是截止目前apt提供的安装包不是最新的3.3.3版本,而是3.2.*,而3.3.3版本提供了针对Pico设备的一些更新,所以推荐使用

>>> pip3 install thonny

命令进行安装
安装完成后通过命令

>>> thonny

即可启动GUI界面
在这里插入图片描述

Thonny连接Pico

可以看到报错:对/dev/ttyACM0文件没有权限

>>> ll /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 1月   24 21:59 /dev/ttyACM0

所以我们需要给它添加权限
方式一:

>>> sudo chmod 666 /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 0 1月   24 21:59 /dev/ttyACM0

但每次连接都需要重新添加权限
方式二(推荐):
修改配置文件

>>> sudo vim /etc/udev/rules.d/70-ttyusb.rules
KERNEL=="ttyACM[0-9]*", MODE="0666"

然后重新连接一次设备,以重新生成一下文件
参考:https://blog.csdn.net/u010164190/article/details/78614199

点红圈重新启动一下发现成功了
在这里插入图片描述

指示灯闪烁程序

import machine
import utime
led_onboard = machine.Pin(25, machine.Pin.OUT)

while True:
    led_onboard.value(1)
    utime.sleep(1)
    led_onboard.value(0)
    utime.sleep(0.5)

在这里插入图片描述
保存至Pico,再点绿色圆圈按钮就可以看到Pico上的绿色指示灯闪烁了
在这里插入图片描述


使用minicom调试

安装minicom

>>> sudo apt install minicom
>>> minicom -b 115200 -o -D /dev/ttyACM0

在这里插入图片描述
参考:https://www.cnblogs.com/zqb-all/p/9786836.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单上手Raspberry Pi Pico(Ubuntu+MicroPython) 的相关文章

随机推荐

  • FLASH和EEPROM的区别和扩展

    EEPROM和FLASH总体差异 部分MCU片内不带程序存储器ROM 可执行代码只能放在外面的EEPROM FLASH 外扩 中 单片机对于数据的处理和系统的大量数据采集 需要考虑数据的长期保存和掉电保存等问题 因此外扩EEPROM就是这系
  • Scala-13:集合-列表List

    Scala 13 集合 列表List 一 不可变 List 1 说明 List 默认为不可变集合 创建一个 List 数据有顺序 可重复 List 默认为不可变集合 val list List Int List 1 2 3 4 3 遍历 L
  • 总结:js中Object.setPrototypeOf和Object.create的区别

    首先知道什么是原型 只要这样才能理解下面的内容 Object setPrototypeOf obj prototype 他是将prototype作为已知对象obj的原型 Object create prototype 是创建一个以proto
  • Java-动态代理原理

    1 什么是代理模式 1 例子 1 例子 在了解Java动态代理技术之前 先了解一下什么是代理模式 其实代理模式在生活中很常见 比如房东与中介其实就是一个代理的过程 房东有自己的房子 在代理模式中扮演角色是被代理对象 中介扮演角色是代理对象
  • java 行转列_Java程序员从阿里面试回来,这些面试题你们会吗?

    序言 简单的介绍一下自己的工作经历与职责 在校或者在工作中主要的工作内容 主要负责的内容 你的信息一清二白的写在简历上 这个主要为了缓解面试者的压力 介绍下自己最满意的 有技术亮点的项目或平台 重点介绍下自己负责那部分的技术细节 主要考察应
  • selenium爬虫与配置谷歌浏览器的driver问题

    用selenium爬虫时 明明已经安装了selenium模块 程序却运行不了 在使用selenium之前必须先配置浏览器对应版本的webdriver 本文主要涉及驱动有问题driver 网上有很多手动的方法 查看谷歌浏览的版本然后在其他博主
  • [ESP32]ESP32 Arduino BLE调试 / 与安卓蓝牙数据交互

    帖子导航 ESP32 ESP32 Arduino开发环境搭建 首先得有支持包吧 ESP32 BLE支持包 进入arduino IDE gt 文件 gt 首选项 gt 项目文件位置 到该路径下 打开git工具 项目地址 https githu
  • Python做的一个猜数字应用

    首先需求一共有五次猜测机会 在五次机会中才对就赢了 结束游戏 五次都猜错就输了 也结束游戏 首先先画个草图 这是我画的草图 再根据草图编写一个窗口 一个Label 一个Entry 一个按钮 然后编写功能 将功能绑定函数 import ran
  • Vue3基础(三)__isRef___isReactve

    isRef isRef方法通过vue解构出来 import isRef from vue 主要是为了判断自己生成的响应数据是否是通过isRef 方法生成的
  • elementui 之input 框总结

    1 elementUI的input框 需要用v model绑定一个变量 这个变量相当于原生input框的value 2 placeholder属性和原生的一样
  • centos7-docker安装redis

    1 docker 拉去redis镜像 docker pull redis 2 创建实例并启动 mkdir p mydata redis conf touch mydata redis conf redis conf docker run p
  • 计算机网络安全防范的论文,计算机网络安全防范策略毕业论文.doc

    计算机网络安全防范策略毕业论文 PAGE PAGE PAGE I 摘 要 信息技术的使用给人们的生活 工作带来了数不尽的便捷和好处 然而计算机信息技术也和其他技术一样是一把双刃剑 当大部分人们使用信息技术提高工作效率 为社会创造更多财富的同
  • oracle数据库下创建用户

    一 使用sqlplus 创建用户 1 登陆到sqlplus 2 键入 create user user name identified by password user name 要用户名 password 对应的密码 3 键入 Grant
  • v-loading

    使用v loading在接口为请求到数据之前 显示加载中 直到请求到数据后消失
  • OpenLayers - Vector绘制地图省市区(十)

    简介 本文讲解经常在开发中出现的功能 绘制地图省市区 主要使用Vector图层通过绘制多边行的方法 绘制出省市区的多边行 把该图层添加到地图图层上 就实现了绘制省市区图形 Vector 矢量图层 在客户端呈现的矢量数据 构成一个矢量图层需要
  • c++中的虚特性(虚基类、虚函数、纯虚函数)

    1 虚基类 1 1 虚基类作用 为了解决多继承时的命名冲突和冗余数据问题 使得派生类中只保留一份间接基类的成员 其本质是是让某个类做出声明 承诺愿意共享它的基类 其中 这个被共享的基类就称为虚基类 Virtual Base Class 换个
  • 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)

    文章目录 一 前言 二 双边滤波 Bilateral filter 2 1 双边滤波的理论介绍及公式推导 2 2 双边滤波的matlab程序实现 三 导向滤波 Guided Fliter 3 1 导向滤波的理论介绍及公式推导 3 2 导向滤
  • linux安装mysql菜鸟教程_新手搭建linux服务器——mysql环境安装

    mysql环境安装 Linux下使用yum安装MySQL 以及启动 登录和远程访问MySQL数据库 1 yum y update 更新yum包 2 重启服务器 reboot 3 检查有木有安装php v 4 rpm qa gerp mysq
  • java90到100随机数生成器_java实现随机数生成器

    本文实例为大家分享了java实现随机数生成器的具体代码 供大家参考 具体内容如下 自己编的随机数生成器 比较简陋 功能也单一 当作练手 application java package src public class applicatio
  • 简单上手Raspberry Pi Pico(Ubuntu+MicroPython)

    关于raspberry pi pico的信息我就不多介绍了 直接给几个关键词吧 售价4 微控制器 MicroPython C C 树莓派基金会自研RP2040芯片 两本官方推荐的书 MicroPython版 Get started with