当运行两个在Raspberry Pi上使用python gpio pin的程序时,速度会变慢。 一个是磁性传感器,另一个是温度和湿度传感器。后者是减速的。每2秒打印一次温度,而不是每5到10秒打印一次。如果它进入磁传感器运行速度更快。在Raspberry Pi上运行两个程序时,Python变得很慢
0
A
回答
1
看起来你的问题不是Python,而是IO差距。即使您使用不同的引脚,Raspberry的GPIO也使用相同的总线来处理所有引脚,因此一个进程需要等待其他用途,而不是等待时间。
你可以用来解决这个问题,但所有这些都可能会类似于统一程序。
basic ideia:将这两个程序混合在一起。独特的进程/线程来统治所有的读取。
改进意识:将您的代码分成三个过程。然后两个将只读/写一个数组,并使用该值,因为它来自GPIO。其中一个过程将成为您的主要过程,并将处理GPIO数据的SharedArray。请记住,从RAM读取比从GPIO读取要好得多/快,因此只需使用阵列从IO更新状态即可。您可以使用一个数组来设置新值,另一个数组可以存储实际值。
前段时间我用一些Sockets在一些线程上广播了一些IO数据,并且可以获得一个更新数据(来自摄像头的图片),并与100ms间隔的线程共享,避免了IO差距。因此,您可以使用SocketServer库与一些workers传播信息得到类似的结果。
0
而不是同时运行程序,请尝试一个接一个地运行它们。显然树莓派由于尺寸和成本而具有硬件限制。我建议的是一次只运行一个程序。你可以把它们放在一个运行程序1的基本循环中,然后运行程序2,然后回到循环的开始。
相关问题
- 1. 在Raspberry Pi上运行Open GL程序?
- 2. 在Raspberry Pi上运行Nginx
- 3. 在Raspberry Pi上运行Raspberry Pi 1 OS 3
- 4. Raspberry Pi B型线程。同时运行2个Python脚本
- 5. 写Raspberry Pi程序,没有Raspberry Pi
- 6. Android将运行在Raspberry PI上吗?
- 7. 在Raspberry Pi上运行Javafx GUI
- 8. CockroachDB可以在Raspberry Pi上运行吗?
- 9. 有没有办法在Raspberry Pi上运行Angular应用程序?
- 10. 无法在启动时在Raspberry Pi上执行Java程序
- 11. RFID Arduino to Raspberry Pi串行读取python动作运行两次
- 12. Raspberry Pi Python(Kivy)与sudo极其缓慢
- 13. Raspberry Pi Python
- 14. Raspberry Pi 2 GPSD未运行
- 15. Raspberry Pi-Python:在Python 3.5.2上安装Pandas
- 16. 如何在终止ssh后继续在Raspberry Pi的后台运行Python程序
- 17. 当连接外部硬盘时在Raspberry Pi上运行命令
- 18. 在GUI中运行程序很慢
- 19. GStreamer,Python和Raspberry Pi
- 20. 在Raspberry Pi上优化Python合成器
- 21. Raspberry pi:如何从另一个文件运行Python文件
- 22. Rasperry pi在运行程序时重启
- 23. 哪个IDE用于在Raspberry Pi上开发NodeJS应用程序?
- 24. 在Raspberry Pi上安装Pillow时出错
- 25. 如何在Cron目录中运行python脚本(Raspberry Pi)
- 26. 在画布上绘制两个位图时,应用程序变得太慢!
- 27. 从shell脚本(Raspberry Pi)运行Chromium?
- 28. 两个RFID RC522 Raspberry PI 2 Windows IOT
- 29. Python更新Linux(Raspberry Pi)