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

描述

远程控制树莓派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信息,该信息为芯片的温度信息。

责任编辑:lq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分