2011-07-07 42 views
2

我的iPhone通過adhoc wifi連接到WiFi傳感器模塊。iOS adhoc wifi傳感器數據

挑戰在於對使用此傳感器模塊的應用程序進行編碼。但我不確定用什麼特定的API來最好地構建這個實現。

我已經開始研究CocoaAsyncSocket class,因爲它似乎是適合此類使用的合適工具。

用戶是否總是需要手動連接到adhoc wifi設備? (通過設置應用程序)或我的應用程序可以處理搜索,製作和打破WiFi連接?

我懷疑iOS讓我以編程方式切換Wifi是否開啓/關閉。

一旦接收到傳感器數據,什麼容器最能處理流?例如,在其他平臺上,我編碼了一個旋轉隊列緩衝區。

感謝您的輸入。

編輯:有問題的協議是直接的CSV格式的ASCII。不是HTTP,FTP等只是原始數據。該應用程序只需在連接的IP上打開一個端口,然後進行讀寫。

回答

2

您的應用程序無法打開/關閉wifi,或選擇無線網絡。

沒有關於這個wifi傳感器模塊說什麼協議的更多信息,任何人都不可能給出比模糊的建議更多的信息。如果模塊可以通過http連接提供數據,那可能是理想的。如果它需要您的軟件在特定端口上打開連接並通過http或ftp以外的其他方式進行通信,則您的工作會更復雜一些。 CFNetwork和從它的使用派生的項目,例如你提到的CocoaAsyncSocket。您可以在ASIHTTPRequest中看到通過CFNetwork的HTTP連接的另一個實現,這可能有助於作爲處理下載流,排隊操作等的參考。

至於存儲數據,再次很難提供沒有更多的具體建議信息。如果您想將數據存儲到iOS設備的文件系統,則NSData可能會滿足您的需求。如果您需要/更喜歡使用隊列來緩衝數據,那麼有一個提供隊列語義的s。在SO文章中CHCircularBuffer的鏈接已經死了,但似乎有this github project

編輯:Here is the official version CHDataStructures。我不知道它是否比上一個鏈接有所改進,但它似乎針對更新的iOS SDK進行了更新。

1

在設置中添加您的wifi ad hoc網絡的SSID。當您看到網絡的SSID時,請單擊箭頭並選擇自動連接。在此之後,手機會在距離範圍內自動連接。在此之後,這兩個設備可以使用常規套接字API進行通信。

+0

你會推薦哪些特定的API來構建這個應用程序? CocoaAsyncSocket類? CHDataStructures? –