我有一個定製的嵌入式硬件設備,運行由Python代碼控制的Linux。我想創建一個Android客戶端,它將自動在本地網絡上找到我的任何設備,配置設備並顯示它們中的數據。簡單設備發現和Web服務
我希望保持我的實現儘可能簡單,並儘可能多地利用開源軟件來實現快速實施(強烈偏好主動維護/支持代碼)。
我的研究,到目前爲止已導致我贊成的UPnP實現,採用SSDP找到我的設備,並讓UPnP的通信通過我的Android客戶端和Python控制Linux設備之間的SOAP。
- UPnP是這個用例的一個不錯的選擇(我不是傳統的UPNP設備)嗎?或者我應該考慮其他基於標準的方法嗎?
- 假設UPnP是合理的:
- (a)在Android和我的Python/Linux設備上使用什麼合理的庫?
- (b)我應該實現一個自定義的UPNP「設備」嗎?還是應該試着將我的解決方案放到像媒體服務器一樣的位置?
目前,我試圖在Python端,無論是其中已經那麼簡單,因爲我本來希望使用Cling在Android端和Coherence實施,這使我懷疑我採取聰明的做法。
謝謝。好信息。沒有考慮零配置。考慮過REST。 GUPnP很有趣,但我想限制Java和Python的語言數量。如果我可以在GUPnP中用XML完全實現並運行一個可執行文件,我會考慮這個問題,但看起來我仍然需要[編寫代碼](https://developer.gnome.org/gupnp/unstable/server- tutorial.html)。 – proximous
只是爲了澄清:你可以用GUPnP在Python中實現一個UPnP服務(參考文檔只存在於C中)。只用XML實現一個服務實際上並不合理 - 你無法以這種方式實現任何非平凡的服務。 – jku
感謝您的澄清。 UPnP和Cling都變得比我希望的更復雜,所以我目前正在使用REST和zeroconfig。如果這樣做,我會在幾天內接受你的答案,因爲它似乎是正確的建議。謝謝! – proximous