远程控制树莓派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
全部0条评论
快来发表一下你的评论吧 !