趣小组
[ MAKE ]
首页
节点
分享
创造
问与答
二手交易
编程
电子
树莓派
Arduino
手工
小玩意
ACG 二次元
科学
文化
电影
宠物
旅行
技术支持
登录
注册
首页
树莓派
如何避免树莓派多进程编程导致温度升高
目前是小白
70cm
•
2021-12-02
•
1252 次点击
我打算弄一个树莓派语音助手,可以实现语音点歌切歌功能。发现按照网上的教程,如果音乐正在播放就不能接收语音指令(因为一个进程里只有音乐播放完了才能进行下一步),所以打算把语音监听转化为文字指令的过程和播放暂停音乐的过程分成两个进程,语音监听作为主进程,音乐播放暂停作为子进程。在电脑上把程序写好运行成功后放到树莓派上发现没运行一会温度就超过70℃了。。。 因为打算把树莓派作为一个小机器人的主板,没有位置放小风扇了,所以想请教一下为什么运行两个进程就会温度这么高,怎么避免?多进程由python实现,用Queue队列实现进程通信,麦克风采样率16000,while循环实现永久语音监听。
我打算弄一个树莓派语音助手,可以实现语音点歌切歌功能。发现按照网上的教程,如果音乐正在播放就不能接收语音指令(因为一个进程里只有音乐播放完了才能进行下一步),所以打算把语音监听转化为文字指令的过程和播放暂停音乐的过程分成两个进程,语音监听作为主进程,音乐播放暂停作为子进程。在电脑上把程序写好运行成功后放到树莓派上发现没运行一会温度就超过70℃了。。。
因为打算把树莓派作为一个小机器人的主板,没有位置放小风扇了,所以想请教一下为什么运行两个进程就会温度这么高,怎么避免?多进程由python实现,用Queue队列实现进程通信,麦克风采样率16000,while循环实现永久语音监听。
收藏
♥ 感谢
Spoony
小组长
2021-12-02
用 htop 查看一下两个进程 CPU 的占用情况,看看是哪个进程需要优化
Python 的多线程本身效率会很差
加上 while 循环监听,中间如果没有设置好闲置时间的话可能就满负荷运转了
目前是小白
70cm
2021-12-04
@Spoony 好的谢谢,确实是while循环监听负荷很大,还有Queue队列读写负荷也很大。我改成了通过共享内存实现进程间通信,温度虽然还是很高,但是能保持在65℃以内。没想到程序优化一下区别这么大。。。
登录
或
注册
后可回复。
›
树莓派制造
›
树莓派实验室
›
树莓派 Pico 中文站
›
树莓派官方文档
›
Raspberry Pi Foundation
›
Adafruit
› 相关内容关注微信公众号