我有一個Arduino板連接到我的PC的串行端口。主板將數據發送到PC,但它也可以通過同一個通道接收命令。但是,發送的數據和訂單之間沒有關係或順序。如何在同一個Python程序中偵聽HTTP請求和串行通道?
在PC中,我創建了一個監聽串口的守護進程。爲了將數據發送到Arduino,我想在守護進程中建立一個XML RPC服務器。問題是我不知道如何在同一個程序中聽串行端口並參加XML RPC請求。
最初,我曾在我的腦海裏是這樣的:
while true
if there is incoming data in the serial channel
blah blah
if there are HTTP requests
start attending the XML RPC request
我一直在尋找(SimpleXMLRPCServer,它web.py)的聽力和處理請求所有的時間服務器。我想告訴我的XML RPC服務器「等待,如果沒有請求我們要檢查串行通道」。
我該如何做到這一點或類似的東西?還是應該改變我的設計?如果我在另一個進程中使用XML RPC服務器,我想我需要某種進程間通信,這就是爲什麼我首先使用XML RPC的原因。
我用這個方法,因爲它是更普遍的。因爲我已經聽到了很多關於它的好消息,所以下次我會給它一個扭曲的答案。如果你感興趣的代碼是在這裏:[vr-domotic](https://sourceforge.net/projects/vr-domotic/) – Camotito 2012-11-21 15:35:47