アドホックモードのWiflyモジュールがあり(つまり、独自のローカルWi-Fiネットワークを作成します)、iOSアプリにWiflyに接続してデータを送受信する機能をプログラムしたいと思います。
コンピューターからWiflyと通信する場合は、ターミナルエミュレーターを介してコマンドを送信する必要があります。iOSアプリからこれを行う方法を知っている人はいますか?
ありがとう
アドホックモードのWiflyモジュールがあり(つまり、独自のローカルWi-Fiネットワークを作成します)、iOSアプリにWiflyに接続してデータを送受信する機能をプログラムしたいと思います。
コンピューターからWiflyと通信する場合は、ターミナルエミュレーターを介してコマンドを送信する必要があります。iOSアプリからこれを行う方法を知っている人はいますか?
ありがとう
あなた (またはあなたのユーザー) はまず、wifi 設定でアドホック Wifly ネットワークに手動で接続する必要があります。次に、アプリから Wifly に通信するには、TCP または UDP ソケットを開き、それを介してメッセージを送信する必要があります。これを行うには、優れた CocoaAsyncSocket ライブラリを使用しました: https://github.com/robbiehanson/CocoaAsyncSocket
Wifly 無線を正しく構成することが最も難しい部分でした。ドキュメントは恐ろしいものです。しかし、これは私の Web サイトからの構成の例で、iPhone アプリでうまく機能します: http://www.curiousmarc.com/dome-automation/building-marcduino-boards/setting-up-the-wifly-radio
編集 08/2014: 新しい WiFly ファームウェア 4.01 以降ではアドホックの使用が廃止され、WiFly を実際のアクセス ポイントとして設定できるようになりました。生活をよりシンプルにします。WiFly の新しい構成手順は、上記の私の Web サイトにあります。残りは同じままです。TCP ソケットを開けば、すぐに使用できます。送信したものが WiFly のシリアル ポートに出力されます。
編集 03/2017: WiFly への接続の信頼性に問題がありました。アクセス ポイント モードでは不安定です。はるかに優れた Xbee S6B 無線に切り替えることで、通信の問題が解決しました。
Wifly を使用すると、iOS デバイスが wifly アドホック ネットワークに接続されると (アプリの外部で「設定」を介して接続できます)、アプリはポート 2000 で Wifly ローカル ネットワーク IP への TCP ソケット クライアントを開始できます (デフォルト)、そこから、あたかもシリアル + ターミナル経由で通信しているかのように、通常どおり続行できます。
確立された TCP ソケットを使用して、$$$ を TCP ソケット ストリームに書き込むことで wifly を「CommandMode」に渡すことができます (リモートで構成する場合)。または、ストリームにデータを送信することで単純に通信することもできます。
注: wifly のローカル IP アドレスがわからない場合は、「CommandMode」を使用してシリアル経由で設定できます。