从iPhone到Raspberry Pi的有线连接

use*_*382 12 iphone ios raspberry-pi

我想在我的iPhone上构建一个连接到我的覆盆子Pi的应用程序.因为它们将非常接近(彼此相邻),所以我想使用有线连接(USB端口的闪电端口)进行通信.这是可能的还是我必须使用无线技术?我的假设是有线会更好,因为它确保连接并且会更快,但是,我愿意纠正.

这与我想在iphone上访问覆盆子pi传感器的业余爱好者项目有关.传感器(和Pi)将位于iphone旁边.我正在构建一个定制奇怪的案例来组合它们.

任何想法都非常感激.

谢谢伊恩

Rok*_*arc 11

对于与外围设备(例如Raspberry Pi)的通信,您有几种选择.

UART通过30针或闪电连接器(需要MFi)

USB通过30针或闪电连接器(需要MFi)

快速入门:Microchip的开发套件.该模块可以延长与RPi的通信,或者您可以尝试将附件堆栈(以及与验证芯片的通信)实现到RPi本身.

通过音频插孔进行FSK或类似的调制音频通信(无需MFi)

您必须在RPi端实现硬件FSK调制解调器,在iOS端实现软件调制解调器.这有点棘手,但绝不是不可能的.

当然你也可以在RPi端实现软件调制解调器.但由于RPi没有音频输入,你必须使用USB声卡或其他东西.或者让您的生活变得复杂,试图快速采样模拟引脚.

用户并不是真的杰克在这里就这个主题制作了一个非常令人印象深刻的链接列表.

蓝牙作为外部附件(需要MFi)

快速入门:RN-41/42-APL

易于使用的蓝牙堆栈.与认证芯片的通信由BT模块处理.请注意,与iOS设备通信时,数据吞吐量并不比使用BLE模块时好很多.

蓝牙作为 BLE 模块(无需MFi)

数据输出不比 BT 差多少.实现通信可能在代码方面有点棘手.这个模块似乎很有趣.

WiFi通信(无需MFi)

WiFi可能是一个不错的选择.但是,为了使您的设备和iOS设备能够找到彼此,您将需要静态IP(用于服务器设备)或最小的Zeroconf(Bonjour)实现.

使用WiFi时,您可以使用基础设施网络(使用外部接入点),也可以使用AdHoc(由您的设备创建).后来似乎很有希望但要小心 - iOS7和AdHoc网络似乎并没有很好地协同工作.

有了WiFi,你有很多模块可供选择.更简单的使用是像RN-XV WiFly模块这样的模块.TCP堆栈已在模块中实现 - 您可以使用简单的UART通信.我不确定如何在这个上实现Zeroconf.

或者有像MRF24WG0MA/MB这样的原始 WiFi模块.它们稳定可靠,可用于家用蚀刻PCB.RPi用户的缺点是你几乎肯定需要一个PIC24或RPi和MRF24W之间的东西.Microchip为其微控制器提供免费的TCP/IP堆栈,该堆栈包括Zeroconf.

最简单的方法是:您可以简单地使用WiFi加密狗(使用RPi)进行通信.Zeroconf应该足够容易在RPi上实现 - 如果你可以为RPi分配静态IP(如果它充当服务器),那么在开始时它甚至都不需要.