2 Stimmen

iOS Adhoc-WiFi-Sensordaten

Mein iPhone verbindet sich über Adhoc-Wifi mit einem WiFi-Sensormodul.

Die Herausforderung besteht darin, eine Anwendung zu programmieren, die dieses Sensormodul verwendet. Aber ich bin nicht sicher, welche spezifischen APIs zu verwenden, um diese Implementierung am besten Architektur.

Ich habe begonnen, mich mit dem CocoaAsyncSocket-Klasse da es ein geeignetes Instrument für diesen Zweck zu sein scheint.

Muss der Benutzer immer manuell eine Verbindung mit dem Adhoc-WLAN-Gerät herstellen? (über die App "Einstellungen") oder kann meine eigene App das Suchen, Herstellen und Trennen der WLAN-Verbindung übernehmen?

Ich bezweifle, dass ich mit iOS programmatisch umschalten kann, ob Wifi ein- oder ausgeschaltet ist.

Welcher Container eignet sich am besten für den Datenstrom, sobald die Sensordaten empfangen wurden? Auf anderen Plattformen habe ich zum Beispiel einen rotierenden Warteschlangenpuffer programmiert.

Vielen Dank für Ihren Beitrag.

Bearbeiten: Das betreffende Protokoll ist ein reines CSV-formatiertes ASCII-Protokoll. Nicht HTTP, FTP, etc. Nur Rohdaten. Die Anwendung soll einfach einen Port auf der verbundenen IP öffnen und lesen/schreiben.

2voto

RyanR Punkte 7700

Ihre Anwendung kann das WLAN nicht ein- und ausschalten oder ein WLAN-Netzwerk auswählen.

Ohne weitere Informationen darüber, welche Protokolle dieses WiFi-Sensormodul beherrscht, ist es unmöglich, mehr als vage Empfehlungen zu geben. Wenn das Modul Daten über eine http-Verbindung liefern kann, wäre das wahrscheinlich ideal. Wenn Ihre Software eine Verbindung über einen bestimmten Port öffnen und über etwas anderes als http oder ftp wird Ihre Arbeit ein wenig komplizierter sein. CFNetwork und daraus abgeleitete Projekte, wie das von Ihnen erwähnte CocoaAsyncSocket. Eine weitere Implementierung einer HTTP-Verbindung über CFNetwork ist zu sehen in ASIHTTPRequest die als Referenz für die Handhabung von Download-Streams, Warteschlangenoperationen usw. dienen kann.

Was die Speicherung der Daten betrifft, so ist es auch hier schwierig, ohne weitere Informationen konkrete Empfehlungen zu geben. Wenn Sie die Daten im Dateisystem des iOS-Geräts speichern möchten, NSData wird wahrscheinlich Ihre Bedürfnisse erfüllen. Wenn Sie eine Warteschlange für die Pufferung von Daten benötigen/bevorzugen, gibt es eine s Kategorie auf NSArray einführen die eine Warteschlangen-Semantik bietet. Der Link zu CHCircularBuffer in diesem SO-Artikel ist tot, aber dieses Github-Projekt scheint es zu haben.

bearbeiten: Hier ist die offizielle Version der CHDataStructures. Ich weiß nicht, ob es eine Verbesserung gegenüber dem vorherigen Link ist, aber es scheint für das neuere iOS SDK aktualisiert werden.

1voto

Andy Punkte 2389

Fügen Sie die SSID Ihrer WLAN-Ad-hoc-Netzwerke in den Einstellungen hinzu. Wenn Sie die SSID des Netzwerks sehen, klicken Sie auf den Pfeil und wählen Sie automatisch verbinden. Danach stellt das Telefon automatisch eine Verbindung her, sobald es in Reichweite kommt. Danach können die beiden Geräte über reguläre Socket-APIs kommunizieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X