首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >远程控制树莓派3b上的pi pico

远程控制树莓派3b上的pi pico

作者头像
bigmagic
发布2021-03-10 13:49:50
1.4K0
发布2021-03-10 13:49:50
举报
文章被收录于专栏:嵌入式iot嵌入式iot

远程控制树莓派3b上的pi pico

  • 1.说明
  • 2.树莓派3b上安装系统
    • 2.1 配置联网和选择ssh功能
    • 2.2 内网映射
  • 3.pi pico的环境搭建
  • 4.远程控制与ADC采集

1.说明

树莓派pi pico和树莓派4相比差别很大,但是pi pico有一些特点是树莓派4上没有的,比如实时性控制上,采用cortex-m系列方案会更加占据优势,所以往往都会使用树莓派+Arduino组成一个具有实时控制的系统。另外树莓派上是没有AD采样的,而pi pico则有12位的ad采样功能。而且在树莓派3b或者树莓派2上,只有一路串口,这样只需要一个低成本的pi pico则可以实现I2C、SPI、UART的扩展,这样是非常方便的,得一提的则是树莓派上没有而pi pico的ADC功能,下面通过一个集成方案来将树莓派和pi pico的ADC结合起来进行使用。

2.树莓派3b上安装系统

到官网上下载Raspberry Pi Imager。该软件提供了安装树莓派镜像的一体化方案。

https://www.raspberrypi.org/software/

然后选择合适的系统即可,这里为了方便演示,选择最小系统即可。

将SD卡插入并烧录镜像到SD卡中。

接入显示器,接入键盘,配置wifi进行联网。

raspberrypi: pi
Password:    raspberry

可以进入系统:

然后连接网络设备

通过输入sudo raspi-config进入配网界面。

2.1 配置联网和选择ssh功能

按照下面的步骤进行操作即可。

首先选择System Options进入配置操作。

然后再选择使能WLAN

接着选择相关的国家

最后输入wifi的SSID和密码即可

选择SSH功能

使能SSH即可

设置完成后,可以看到系统重启,并且通过网络的ping测试,看到网络正常。

局域网内使用ssh登录树莓派可正常访问。

输入树莓派密码raspberry即可。

此时便可以拔掉树莓派上的键盘和显示器,在局域网内进行控制了。

2.2 内网映射

因为此时还只能在局域网内控制,实际的物联网应用中,需要随时进行设备的控制,那就需要内网映射。这里我经常使用比较方便的是花生壳内网映射。

具体使用可以参考官网介绍,这里简单的演示

https://service.oray.com/question/11639.html

选择下载

 wget https://dl-cdn.oray.com/hsk/linux/phtunnel_5_0_rapi_armhf.deb

接着开始安装,sudo -s 切换到管理员权限

其中需要记得的是SN,这个在登录http://b.oray.com网站上需要进行输入,密码则是admin。

激活绑定设备后就可以进行内网映射的添加了。

这样,直接通过SSH访问外网域名和外网端口就可以进行访问了。

如果一切操作成功,那么在手机上也可以通过ssh工具访问和控制设备了。

当手机上可以正常的访问设备时,表示随时随地的可以控制设备。

3.pi pico的环境搭建

pi pico最方便的玩法就是使用micropython。

新的pi pico 插上电脑后,会出现一个盘符。

进入界面,选择文件进入网页。

接着选择MicroPython的UF2文件即可。

将该文件下载完成后,拖入磁盘中。

此时设备会重启,然后进入MicroPython的编程模式。

将pi pico 通过USB线插入树莓派中,然后就可以远程控制和编程了。

线路连接完成,测试编程即可。

此时可以在树莓派上安装minicom。

sudo apt install minicom

选择运行

minicom -b 115200 -o -D /dev/ttyACM0

此时可以将led进行控制。

4.远程控制与ADC采集

这时可以使用手机进行编程操作,编程代码如下所示:

import machine
import utime

sensor_temp = machine.ADC(4)
conversion_factor = 3.3/(65535)

while True:
    read = sensor_temp.read_u16() * conversion_factor

    temperature = 27 - (read - 0.706) / 0.001721
    print(temperature)
    utime.sleep(2)

所以这里可以采用上述代码实现,手机上的代码排版如下:

通过在命令行中输入上述代码,可以在手机上看到芯片的温度显示情况。

通过开启串口

minicom -b 115200 -o -D /dev/ttyACM0

可以然后输入上述代码,可以看到串口输出ADC信息,该信息为芯片的温度信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式IoT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 远程控制树莓派3b上的pi pico
    • 1.说明
      • 2.树莓派3b上安装系统
        • 2.1 配置联网和选择ssh功能
        • 2.2 内网映射
      • 3.pi pico的环境搭建
        • 4.远程控制与ADC采集
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档