【问题标题】:iOS adhoc wifi sensor dataiOS adhoc wifi 传感器数据
【发布时间】:2011-09-30 11:46:30
【问题描述】:

我的 iPhone 通过 adhoc wifi 连接到 wifi 传感器模块。

挑战是编写一个使用此传感器模块的应用程序。但是我不确定使用什么特定的 API 来最好地构建这个实现。

我已经开始研究CocoaAsyncSocket class,因为它似乎是适合此类用途的工具。

用户是否总是需要手动连接到 adhoc wifi 设备? (通过“设置”应用)还是我自己的应用可以处理 wifi 连接的搜索、建立和断开?

我怀疑 iOS 是否允许我以编程方式切换 Wifi 是否打开/关闭。

一旦接收到传感器数据,哪个容器最适合处理数据流? 例如,在其他平台上,我编写了一个旋转队列缓冲区。

感谢您的意见。

编辑: 有问题的协议是直接 CSV 格式的 ASCII。不是 HTTP、FTP 等。只是原始数据。该应用程序是简单地在连接的 IP 上打开一个端口,并进行读/写。

【问题讨论】:

    标签: iphone ios wifi sensors adhoc


    【解决方案1】:

    您的应用程序无法打开/关闭 wifi,或选择 wifi 网络。

    如果没有更多关于这个 wifi 传感器模块使用什么协议的信息,任何人都不可能给出比模糊建议更多的建议。如果模块可以通过 http 连接提供数据,那可能是理想的。如果它要求您的软件在特定端口上打开连接并通过 http 或 ftp 以外的其他方式进行通信,那么您的工作会有点复杂。 CFNetwork 以及从它的使用中派生的项目,例如您提到的 CocoaAsyncSocket。您可以在ASIHTTPRequest 中看到另一个通过 CFNetwork 实现 HTTP 连接的实现,这可能有助于作为处理下载流、排队操作等的参考。

    至于存储数据,如果没有更多信息,也很难给出任何具体的建议。如果您想将数据存储到 iOS 设备的文件系统中,NSData 可能会满足您的需求。如果您需要/更喜欢使用队列来缓冲数据,可以使用 simple category on NSArray 提供队列语义。该 SO 文章中 CHCircularBuffer 的链接已失效,但 this github project 似乎有它。

    编辑:Here is the official version 的 CHDataStructures。我不知道它是否比上一个链接有所改进,但它似乎已针对更新的 iOS SDK 进行了更新。

    【讨论】:

      【解决方案2】:

      在设置中添加 wifi ad hoc 网络的 SSID。当您看到网络的 SSID 时,单击箭头并选择自动连接。之后,只要手机进入范围,手机就会自动连接。在此之后,两个设备可以使用常规套接字 API 进行通信。

      【讨论】:

      • 您会推荐哪些特定的 API 来构建这个应用程序? CocoaAsyncSocket 类? CHDataStructures?
      猜你喜欢
      • 1970-01-01
      • 2011-10-31
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      相关资源
      最近更新 更多