
阿莫單片機和電裝科技有限公司立足於祖國南方科技之城-深圳,立志於推動藍牙BLE技術在國內的發展,在推出基於CC2540的SmartRF開發板硬件並完成基礎實驗教程之後,正陸續推出基於BLE的各種實踐項目,為廣大藍牙BLE開發者提供極具性價比的開發套件。
十、USB雙向透傳-基於AT命令控制 (8月17日,已發佈)
目前的這個USB透傳工程已完美推出,詳細功能請見我們百度網盤的資料
下面公佈文檔, 給不給力您來判斷:
http://pan.baidu.com/s/1gdDvvUj
請把該連接複製到瀏覽器地址欄,我們一起:玩轉透傳

九、BLE 主從一體 串口透傳 (8月11日,已發佈)
AmoMcu 傾力編碼調試,AmoMcu獨家源碼,主從一體串口透傳,一份源碼編譯成一個固件,燒錄到模塊裡,通過IO口下拉或AT命令切換主從角色,實現兩個cc254x(cc2540或cc2541)自動連接,連接記錄等,包括很多實用點,下面我們來講述該份源碼中所包含的內容:
【1】、主從一體的實現框架(全網唯一、獨家原創, 請支持原創)
【2】、在TI simpleGATTprofile 基礎上增加CHAR6, 一個特徵值實現雙向通信。(實用)。
【3】、串口數據高速處理方法(獨家、原創)。
【4】、集成密碼配對與綁定,包含綁定信息清除等操作和代碼(實用)。
【5】、10條以上實用AT命令(在持續增加中),配有專門AT命令解釋和教程, 稍作修改或不做修改就是一份商業的固件(原創、實用、太值了)。
【6】、連接中通過串口讀取RSSI值,稍作修改, 即可得到兩個模塊之間的距離。防丟和定位實用(原創、實用)。
【7】、集成iBeacon源碼(僅簡單的實現,非商業源碼,在蘋果應用商店上下載免費應用 Locate iBeacons 來測試,目前顯示距離,使用方法可見我們以前的blog : http://blog.csdn.net/mzy202/article/details/20365691 (實用)。
【8】、在Android4.3+上可用我們的AmoMcu.apk直接與主從一體串口透傳固件模塊進行雙向傳輸,同時,AmoMcu.apk 提供Android4.3+源碼。(獨家原創、開源)
【9】、在Ios上可用lightblue來與我們的主從一體串口透傳固件模塊進行雙向傳輸, lightblue為蘋果商店上的免費應用,我們無app源碼提供。能接入該lightblue應用, 表明我們的固件以及相對應的源碼符合BLE協議。(源碼經得起考驗)
【10】、實現了連接狀態燈和按鍵,十足的一份商業應用源碼,開源只在AmoMcu藍牙開發。(獨家原創)
【11】、集成數據掉電保存功能。(實用參考)
【12】、下一步將添加多從機連接、傳感器應用集成、usbdongle主從一體串口透傳【13】、以上所列出的點點滴滴,均為AmoMcu傾力編碼和調試,我們提供實用的源碼,提供自認為還可以的文檔,至於文檔,總有些朋友說什麼地方不夠詳盡,對此,AmoMcu在努力想辦法增加詳盡的教程文檔,甚至一度有錄製視頻教程的衝動。請給我們時間,我們都可以做。有一天你會驚喜的。
注意:我們目前釋放的這一份源碼,目前不是商業版本的,裡邊的某些功能,例如指定地址連接、連接記憶、密碼綁定等尚不開源,主要原因是這些功能有版權了,我們不可以傷害到定制客戶,但也沒關係,上面的知識點不影響到主從一體串口透傳的整個框架。
AmoMcu的源代碼在主要的修改點均有詳盡的文字描述,裡邊都帶有我們編碼時的代碼構思文字描述,你都可以瞭解到一個10年編碼經驗的老工程師是如何想辦法解決問題的,下面來兩張截圖:


八、Android4.3+ 與cc254x BLE 通信 (源碼發佈)

七、BLE運動追蹤-基於MPU6050六軸傳感器(簡單實現的源碼已發佈)

六、BLE溫度計-基於DS18B20溫度傳感器(源碼已發佈)

五、手機與開發板從機串口透傳-商業模塊形式 (已發佈)
一般商業模塊都有此功能, 即手機通過藍牙發送串字符cc2540中, cc2540把該字符串透傳出去,同時外面送進來的串口數據也能透傳到手機上來, 廣州匯承信息的HC-08 模塊就是這樣的功能, 現在我們這裡也實現了, 並且以源碼的形式公開給大家, 用於交流和學習。
由於時間關係, 尚未整理出文檔, 但源碼都經過驗證, ok了。
目前用ios 測試成功老, Android的源碼在進一步整理中。請等待。謝謝。
以下圖片不是這裡原創的, 但是這個例程實現的就是這個功能。

四、開發板主從機串口透傳 (已發佈)

三、用電腦串口AT命令控制藍牙BLE主機 (已發佈)
在本項目中, 我們在 SimpleBLECentral 主機程序基礎上,通過添加了串口 AT 命令控制接口,來實現掃瞄連接通信等過程。

二、OAD空中更新固件(已發佈)



一、iBeacon基站 (已發佈)
1 iBeacon的前世今生
蘋果公司,其產品的開發對外歷來都是神秘的, 正當三星和諾基亞大力推進NFC應用的時候,蘋果卻沒有跟進,這是為何?在WWDC 2013上,蘋果發佈了全新顛覆性的iOS系統:iOS 7。除了全新的扁平化外觀UI設計之外,蘋果還發佈了許多iOS 7的新特性。作為iOS 7中最重要的新特性之一,iBeacon引起了各大科技巨頭的注意。
美國老牌商場梅西百貨(Macy)已經開始在紐約和舊金山的門店中部署iBeacon傳感器,在同應用程序 Shopkick 配合使用後,顧客將會在進店的同時感受到新技術所帶來的便捷,因為他們可以在不同樓層的不同商舖即時獲取到不同的優惠信息。此外,蘋果上周也宣佈在全美254家蘋果零售店中部署iBeacon技術。
在國內, 各種iBeacon應用正如雨後春筍一樣冒出來,相信,這一次,我們電子工程師大有作為。
1.1 iBeacon的技術原理
通過使用低功耗藍牙技術(Bluetooth Low Energy,也就是通常所說的Bluetooth 4.0或者Bluetooth Smart),iBeacon基站可以創建一個信號區域,當設備進入該區域時,相應的應用程序便會提示用戶是否需要接入這個信號網絡。 通過能夠放置在任何物體中的小型無線傳感器和低功耗藍牙技術,用戶便能使用iPhone來傳輸數據。
2 iBeacon的應用方向
綜合了一下,iBeacon的應用目前主要有如下:
【1】, 零售業, 當客戶進入iBeacon信號區域是推送相關信息
【2】, 球館和演唱會館等, 指引客戶找到座位和出入口洗手間等
【3】, 車庫汽車定位,當你走進車庫, iBeacon會指引你找到你的愛車再也不用到處找了。
【4】, 學生上課點名,別笑哦,一款名為 BeHere 的基於iBeacon的應用 已經在 App Store 免費上架,iPad、iPhone 和 iPod touch 都可以下載使用, 該應用還具有「求助」功能,要是我當年上學的時候學校用這個來點名那我當年要睡少很多懶覺哦。
【5】, 蘋果將用iBeacon實現短距離支付, 替換NFC, 只是不知鹿死誰手短期肩部了分曉哦。
【6】,............
iBeacon基站的實現, 實際上除了硬件以外, 在軟件上表現為週期性地發送特定的數據包, 而這個數據包的格式, 可以通過網絡抓包破解分析出來。
對於一個UUID是E2C56DB5-DFFB-48D2-B060-D0F5A71096E0, major是0, minjor是0的iBeacon,此時的Tx的信號是-59 RSSI,他的BLE的廣播包如下:
d6 be 89 8e 40 24 05 a2 17 6e 3d 71 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 52 ab 8d 38 a5
以上協議包拆解內容如下:
d6 be 89 8e # Access address for advertising data (this is always the same fixed value)
40 # Advertising Channel PDU Header byte 0. Contains: (type = 0), (tx add = 1), (rx add = 0)
24 # Advertising Channel PDU Header byte 1. Contains: (length = total bytes of the advertising payload + 6 bytes for the BLE mac address.)
05 a2 17 6e 3d 71 # Bluetooth Mac address (note this is a spoofed address)
02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 # Bluetooth advertisement
52 ab 8d 38 a5 # checksum
協議包中的關鍵部分就是藍牙的廣播部分,這些被分解為如下:
02 01 1a 1a ff 4c 00 02 15 # Apple's fixed iBeacon advertising prefix
e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon profile uuid
00 00 # major
00 00 # minor
c5 # The 2's complement of the calibrated Tx Power
通過BLE設備發送這樣的數據包, iOS收到後, 即可實現iBeacon了。
4.1 源碼修改
我們在TI官方的例程SimpleBLEPeripheral 來實現 iBeacon 基站,部分源代碼修改如下:

4.2 用iOS測試
筆者手機上裝了很多App store上的藍牙4.0 BLE的軟件, 其中 AirLocate 是蘋果公司推出iBeacon的測試軟件, Locate iBeacons 是一款第三方的軟件, 能實現iBeacon的距離定位和校準, 下面我們來看看 Locate iBeacons 實現的距離顯示和室內定位。
【1】, 手機上安裝 Locate iBeacons, 你的iphone至少是4s或以上, 系統必須是ios7.0以上, iphone4s ios7.0 以後的系統才支持藍牙4.0BLE。
【2】, 點擊 Locate iBeacons 進入如下界面,如果你的基站已經打開, 即可看到如圖所示的設備, 下圖中 就直接顯示了你的手機與iBeacon基站間的距離, 這個距離可能隨著不同的硬件設備而有所差異, 所以需要校準, 請看下一步如何校準。 這裡為什麼一打開這個軟件就實現了距離顯示了呢, 主要是 該軟件內默認添加了蘋果公司發佈的UUID, 我們亦可以修改基站的uuid, 然後在該軟件中添加該uuid, 同樣也能實現該功能的,這個做起來就要深入開發了。
【3】, 校準完畢, 下面圖顯示聚焦校準完畢了, 你可以隨意拿你的iphone到處走, 神奇的iBeacon就告訴你你所處的距離, 如果有3個以上的iBeacon基站信號能夠被收到, 那麼就可以實現比較真正的室內定位了。

以上是iphone手機的APP,Adnroid手機需要4.3的系統並且需要支持藍牙4.0, 目前除了Nexus 4 和 Sansung S3、S4等已經升級到4.4或4.3系統的手機, 滿網絡飛的什麼小牛手機、紅牛手機、大牛手機、大神手機、紅米note等高性價比手機句店主考察裡邊大部分均支持藍牙4.0且很快都將升級到android4.3了, 可以預見BLE相關的應用將在android系統上將大有作為...