将iOS应用程序连接到wifly模块

时间:2012-11-04 01:16:26

标签: objective-c ios serial-port wifi

我有一个处于AdHoc模式的Wifly module(即它创建了自己的本地wifi网络),我想在我的iOS应用程序中编程连接到Wifly并来回发送数据。

当从计算机与Wifly通信时,您必须通过终端仿真器发送命令。有谁知道如何从iOS应用程序执行此操作?

由于

2 个答案:

答案 0 :(得分:1)

您(或您的用户)首先需要在wifi设置中手动连接到ad-hoc Wifly网络。然后,要从您的应用程序与Wifly进行通信,您需要打开TCP或UDP套接字并通过它发送消息。我使用优秀的CocoaAsyncSocket库来做到这一点: https://github.com/robbiehanson/CocoaAsyncSocket

正确配置Wifly无线电是最困难的部分,文档很可怕。但是这里有一个来自我的网站的示例配置,适用于iPhone应用程序: http://www.curiousmarc.com/dome-automation/building-marcduino-boards/setting-up-the-wifly-radio

编辑08/2014:新的WiFly固件4.01及更高版本已弃用ad-hoc,现在可以将WiFly配置为真正的接入点。让生活更简单。有关WiFly的新配置说明,请访问我的网站。其余的保持不变,打开一个TCP套接字然后离开。您发送的内容将发送到WiFly上的串行端口。

编辑03/2017:我在连接到WiFly时遇到可靠性问题,在接入点模式下非常不稳定。切换到更好的Xbee S6B无线电解决了通信问题。

答案 1 :(得分:0)

使用Wifly, 一旦你的iOS设备连接到wifly Ad-Hoc网络(它可以通过“设置”,在你的应用程序外),你的应用程序可以启动TCP套接字客户端到端口2000上的Wifly本地网络ip(默认情况下),从那里,您可以正常进行,就像您通过串口+终端进行通信一样

使用已建立的TCP套接字,您可以通过将$$$写入TCP套接字流来将wifly传递给“CommandMode”(如果要远程配置),或者您可以通过将数据发送到流。

注意:如果你不知道你的wifly的本地ip地址,你可以使用“CommandMode”通过串口配置它。