2016-01-21 108 views
-1

我正在做一個項目,我有一個嵌入式設備運行一個網絡服務器,並連接到本地WiFi網絡。現在我想讓我的智能手機應用程序連接到網絡服務器,但除非我選擇強制靜態IP到我的嵌入式設備,否則應用程序無法知道網絡服務器的IP是什麼。如何在不知道IP的情況下查找本地網絡服務器?

我已經看過mDNS,但是android不支持這個,所以這是不行的?

有關如何將我的應用程序連接到嵌入式設備的任何想法?

(谷歌的Chromecast正是這樣做的,但如何?)

+0

爲什麼mdns?要麼給設備一個靜態IP,要麼使用帶有靜態映射的dhcp,然後dns組件變得非常簡單。而且無論如何,這都不是一個編程問題。 –

+0

@MarcB該設備類似於Chromecast,因此沒有路由器設置。我無法預測該設備將獲得哪個IP。我認爲Chromecast使用mDNS,然後他們在Android上實現了自己的mDNS客戶端。即使沒有涉及直接代碼,我也不同意,但問題是要使用哪種編程技術來實現特定目標。 – Jolle

回答

0

的方式GoPro的完成,這是由具有相機提供了一個接入點,然後直接從客戶端連接到它。對於嵌入式設備,您可以查看hostapd。也許你可以在應用程序的某個地方存儲SSID和密碼。

+0

是的。而且我的設備也一樣 - 爲用戶創建了自己的接入點,以便登錄設置家庭WiFi網絡。之後,它連接到家庭網絡,這裏出現問題,因爲我不知道我的設備將獲得哪個IP。 – Jolle

+0

因此,您只是使用hostapd作爲中間步驟,在家庭網絡上配置客戶端模式的設置?您的設備上是否有藍牙?您可以跳過上述所有內容,只需傳遞配置數據即可。或者,在Android設備連接到設備(處於接入點模式)時,將其他設備的MAC記錄在您的應用程序中。然後,一旦兩臺設備都回到家庭網絡中,請對MAC進行ARP掃描。 (arp -n在Linux上...在Android ....?https://stackoverflow.com/questions/4179299/scan-network-for-a-specific-mac-address-android也許,是一個開始。) – Jameson

相關問題