7

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

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

谢谢

4

2 回答 2

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 无线电解决了通信问题。

于 2013-04-17T17:54:18.883 回答
0

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

使用已建立的 TCP Socket,您可以通过将 $$$ 写入 TCP Socket 流,将 wifly 传递到“CommandMode”(如果您想远程配置它),或者您可以简单地通过向流发送数据来与它通信。

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

于 2012-12-13T12:31:51.970 回答