當運行兩個在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啓動時運行的Python/Tkinter應用程序
- 4. Raspberry Pi在運行OpenCV時變得無響應
- 5. 在Raspberry Pi上運行Raspberry Pi 1 OS 3
- 6. Raspberry Pi B型線程。同時運行2個Python腳本
- 7. 寫Raspberry Pi程序,沒有Raspberry Pi
- 8. 在Raspberry Pi上運行Javafx GUI
- 9. Linux是否運行在Raspberry Pi上?
- 10. Android將運行在Raspberry PI上嗎?
- 11. 在Raspberry Pi上運行Rails的問題
- 12. 爲什麼我的Clojure項目在Raspberry Pi上很慢?
- 13. OpenCV臉部檢測在Raspberry Pi上很慢
- 14. 有沒有辦法在Raspberry Pi上運行Angular應用程序?
- 15. 停止Raspberry Pi在啓動時運行程序
- 16. 在C中運行兩個併發進程的最佳實踐(在Raspberry Pi上)
- 17. 無法在啓動時在Raspberry Pi上執行Java程序
- 18. RFID Arduino to Raspberry Pi串行讀取python動作運行兩次
- 19. Raspberry Pi Python(Kivy)與sudo極其緩慢
- 20. Raspberry Pi Python
- 21. Raspberry Pi Python ValueError?
- 22. Raspberry Pi 2 GPSD未運行
- 23. 用xinit運行硒Raspberry pi
- 24. 如何在Raspberry Pi上運行python scikit-learn?
- 25. Raspberry PI上的多線程C程序
- 26. 從Raspberry Pi執行遠程程序
- 27. 運行Raspbian的Raspberry Pi上創建的Python程序是否可以在Windows 8.1機器上運行?
- 28. 如何在終止ssh後繼續在Raspberry Pi的後臺運行Python程序
- 29. 如何在Raspberry PI 3(Raspbian)上運行GNAT編程工作室?
- 30. 在GUI中運行程序很慢