2009-12-08 41 views
4

在嵌入式系統(基於AVR控制器)和iPhone之間實現無線通信的最佳方式是什麼?我認爲只有兩種選擇:無線或藍牙。範圍不是一個真正的問題,因爲兩個設備應該留在同一個房間。無線通信:基於AVR的嵌入式系統和iPhone

我不知道,如果有任何有用的WiFi板可以連接到基於AVR的微控制器系統(或任何小型微控制器),任何提示將非常受歡迎。

我猜想更好的解決方案是BlueTooth,但也存在這樣的問題:哪個BlueTooth板最適合於連接到AVR系統,並且可以使用iPhone BlueTooth堆棧通過BlueTooth進行(串行)通信與AVR設備。

我希望有人已經意識到這樣的系統,可以提供一些有用的提示...

回答

5

您可以獲得WiFi和藍牙模塊將通過UART接口連接到嵌入式系統中,但是WiFi模塊將有更多的處理能力比你的AVR單片機,通常具有備用容量和I/O來執行額外的用戶代碼,因此在許多情況下將AVR連接到AVR可能有點多餘。

藍牙模塊更簡單,更便宜,並且數據速率更符合AVR的功能。例如these Parani modules。我已經在嵌入式系統和筆記本電腦的藍牙之間使用了它們,所以給了適當的通信軟件,沒有技術上的原因,我認爲它不能用於iPhone。然而,這可能是一個缺陷,在個人電腦上該設備被認爲是一個虛擬串口,我不知道iPhone是否支持「傳統」通信的方式完全相同。

爲了比較,a WiFi solution

2

據我所知,藍牙是非常iPhone上的限制:只有極少數的藍牙配置文件實現, - 即使他們可以用一個越獄的iPhone進行擴展 - 我懷疑這很容易從應用程序層使用。

另一方面,通過WiFi傳輸需要大量的處理能力和內存,因爲在開始傳輸數據之前還需要執行更多的事情:802.11,cdma/ca,arp,tcp。這是一個很大的任務。

是否可以選擇爲iPhone構建硬件擴展?您可能能夠獲得串行連接並從基座連接器中取出電源。那麼即使ZigBee可能會非常有幫助。

+0

你說得對,完整的藍牙堆棧只能通過btstack項目(http://code.google.com/p/btstack/)用於越獄iPhone。對於未破損的iPhone,您需要「iPod/iPhone製造」程序才能訪問BlueTooth堆棧,這似乎需要(因爲它是NDA程序,我找不到任何有關BlueTooth部件的有用信息)經過認證的BlueTooth硬件(並且您需要成爲一家公司才能申請此計劃 - 這也阻止了我爲iPhone構建硬件擴展)。 所以我猜WiFi是唯一可能的解決方案... – ComSubVie

1

辦公室的其他人已經做了AVR < - 藍牙 - > Symbian和AVR < - 藍牙 - > PC解決方案沒有麻煩。有大量的信息,參考設計和可用的來源。我不知道在iPhone上使用藍牙有多難。

只要有某種類型的串行接口(I2C,SPI)連接到AVR並且某些源代碼顯示如何使用模塊,確切模塊的概率也並不重要。

1

它是一個8位或32位AVR?對於AVR32處理器,在使用SD卡安裝的 來自HD Wireless(http://www.hd-wireless.se)的WiFi模塊(包括 IP棧(lwIP))的Atmel 1.5.0軟件框架中,針對WiFi的WiFi支持 。請注意,您需要Ad-Hoc(IBSS)支持才能將 直接連接到iPhone。

+0

好點,但是「AVR」通常是指8位設備,而不是AVR和AVR32的通用術語。如果它是AVR32,我會期望他是明確的。它們當然是完全不同的體系結構。 – Clifford

+0

感謝您的回答!但是,它是一個8位AVR。 – ComSubVie

0

有WiSnap套件。它可以直接連接到標準RS232接口或通過TTL UART接口連接到嵌入式處理器。我們計劃在我們的項目中使用它。它也有Ad-Hoc支持。

有一些使用示例和iPhone應用程序進行連接設置。

http://serialio.com/products/mobile/wifi/WiSnapKit1.php

-1

什麼是你想你的AVR和iPhone之間的溝通? Iphone是和蘋果公司一起製作的(AVR絕對不是)。所以,運行良好的是一個暴露Web界面的嵌入式設備。就像Linux上的Transmission bittorrent客戶端一樣。現在還有許多低功耗的小型Linux平臺可以讓你做到這一點。

例如Gumstix有一個基於ARM的平臺,它運行linux幷包含WiFi(Overo Fire)。