深度解析iPhone應用數據交換原理
iPhone應用數據交換原理是本文要介紹的內容,主要是來學習iphone應用中如何來實現數據的交換。如果我們的應用程序想跟外設傳輸數據,先要透過 iPhone 的操作系統,也就是 iPhone OS,而最開始的認證過程也是在外設和 iPhone OS 之間發生的,蘋果為這個過程提供了一顆認證芯片(這顆芯片的作用是用來讓 iPhone OS 識別這個外設是經過蘋果公司承認的,他的通信方式是 I2C 總線, 而且每出一個產品蘋果都會收幾美元的認證費用)
iPhone OS 承認外設分兩個步驟,識別和認證,我們先說說識別過程。
識別過程是使用純物理連接來實現的,在這個過程中 iPhone 的 30pin 有三個引腳被用到,分別是 Accessory Identify,Accessory Detect,Accessory Power,Accessory Identify 接 549k 歐姆的電阻,告知 iPhone OS 使用串口通信,Accessory Detect 直接接地,告知 iPhone OS 有外設插入,Accessory Power 相當于 iPhone OS 的信號,待機時這個引腳沒有輸出,否則會有 3.3V 的電壓輸出。如果按照以上連接就完成了識別過程。
下面開始認證過程,認證過程也叫 IDPS 過程,這些就牽扯到蘋果指定的通信協議了,蘋果給自己的通信協議起了一個名字叫 Lingo,Lingo 分好多種有 音頻的 Lingo還有顯示遙控的 Lingo,而我們認證使用的 Lingo 叫做 General Lingo。可能大家這時有點暈,那我就給大家看一個 iPhone 的命令包,如圖所示:
這是 iPhone 的命令包,大家看到這個應該就明白了。開始 IDPS 過程首先要發送 StartIDPS 命令,這樣,外設與 iPhone OS 之間的認證過程 就開始了。其中咱們應用中 EAAccessory 關于一些外設的屬性,都是在這個過程中外設發給操作系統的,具體還是大家加入蘋果的 mfi(made for ipod),拿到資料后,才能更明白。稍后我會將 iPhone 串口通信的源碼發出來。先寫到這兒吧,這些東西不能說的太多,希望會對大家有點幫助。
小結:深度解析iPhone應用數據交換原理的內容介紹完了,希望通過本文的學習能對你有所幫助!