2014/09/11

成功執行第一隻範例程式
感謝鋼鐵人實作聯盟阿立的帶領.

這篇筆記純就記錄每次研究會的進展或心得, 萊恩大兵對 BLE 4.0 還所知不多, 寫出來的東西可能會比較沒系統一點. XD.


延續上週的進度 (IAR 開發環境的建立與設置), 今天(2014/09/09, BLE4.0-3週二飛來鋼鐵人的進展則是要在 CC2540 開發板上成功執行範例程式.



[將無錫谷雨的電路參數等檔案拷貝覆蓋在 TI 的原生 code 上]

由於這 CC2540 板子是無錫谷雨設計的開發板, 它的電路與 TI 公板多少有些不同, 直接跑 TI 原生的 code 會有問題. 因此, 在開啟 IAR 載入專案編譯上傳軔體之前, 得先從無錫谷雨的範例程式裡, 把它板子電路或 BLE stack 或其它相關的檔案拷貝覆蓋在 TI 的原生 code 上. 


作法如下:

從無錫谷雨的軟體與工具包裡, 找到路徑 "d:\[路徑]\2中級: OSAL實驗教程\OSAL實驗6 LCD顯示實驗", 把裡面的 Components 與 Projects 子目錄下的所有檔案或子目錄, 全部複製, 再分別貼到 TI 原生 code 的 "c:\[路徑]\Texas Instruments\BLE-CC254x-1.4.0" 路徑裡面的 Components 與 Projects 子目錄上.




[編譯範例程式, 來親身體驗 CC2540]

接下來, 就可以找個範例程式, 編譯與燒錄, 來體驗 CC2540 了.

就拿 "c:\[路徑]\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\OSAL_Test\CC2540DB" 做示範.


(1) 開啟 IAR, 載入這個專案.
(2) 將 CC-Debugger 連同 CC2540 開發板 (帶有 LCD module) 插上電腦.
(3) 編譯, 燒錄軔體, 執行. 


(4) 順利執行的話, 會看到 LCD 面板顯示有 counter 一直在計數.



[未完成的測試]

執行過第一個範例程式, 有點信心了. 再來要更難一點, 阿立建議大家讓兩片開發板, 一片跑 SimpleBLECentral, 另一片跑 SimpleBLEPeripheral. 順利的話, SimpleBLECentral 那片板子應該要能偵測到 SimpleBLEPeripheral, 甚至還能連線在一起. 

這測試還沒成功, 大家都還在 try.  萊恩大兵暫且先記錄下目前的進度.

* 編譯與燒錄 SimpleBLECentral 或 SimpleBLEPeripheral, 大抵都沒什麼問題.
SimpleBLECentral 這邊, 按搖桿的上鍵, 似乎有在搜尋四周 SimpleBLEPeripheral 發出來的藍牙訊號, 可是卻什麼都找不到.





* 懷疑可能是 SimpleBLEPeripheral 沒送訊號出來, 阿立建議大家用 LightBlue (iOS app) 來偵測(藍牙訊號), 全場只能掃到一台 SimpleBLEPeripheral 的裝置. 很奇怪. 這問題萊恩大兵找個解了. 是在 SimpleBLEPeripheral 的專案組態設定選成 CC2540F128DK-MINI Keyfob 了, 這是預設選項, 將它改成 CC2540 再重新編譯燒錄後, LightBlue 就能偵測到這台 SimpleBLEPeripheral 裝置了. 
改成 CC2540



偵測到 SimpleBLEPeripheral 的訊號了

嚐試連線

連線成功

* 本來以為上面那問題搞定, SimpleBLECentral 就能連線 SimpleBLEPeripheral 了. 結果 SimpleBLECentral 還是找不到任何裝置. 

感謝德益兄的提醒. 原來兩片 New SmartRF 開發板上的藍牙晶片型號是不相同的. 一個是 CC2540, 另一個是 CC2541.
晶片型號是 CC2540

晶片型號是 CC2541

SimpleBLECentral 無法偵測到裝置的問題, 原因是萊恩大兵 CC2541 當 CC2540 來使用了. 

重新載入 SimpleBLECentral 專案, 選用 CC2541 的電路設定, 編譯/燒錄, 這回 SimpleBLECentral 的板子就能偵測到 SimpleBLEPeripheral 並成功和它連線了.
偵測到藍牙裝置了

成功連線

到這邊總算是完成本週進度了.

(2014/9/13, 更新) 這篇文章在 Arduino.Taipei 社群得到網友的迴響. 連結在這裡.





[萊恩大兵的其它文章]

自製大四軸

自製大四軸, 實作分享@華山文創園區
自製大四軸, (1) 零組件篇, 遙控器 (Drone, Quadcopter, Futaba, Maker, Arduino, Animatronic Eye)
自製大四軸, (2) 零組件篇, 飛控板 (Drone, Quadcopter, MultiWii, Arduino, Futaba, Maker)
自製大四軸, (3) 零組件篇, 自行雷切木質機架 (Drone, Quadcopter, Maker, Laser Cut)
自製大四軸, (4) 零組件篇, 馬達與電變調整 (Drone, Quadcopter, Maker, Electric Speed Control, Motor)
自製大四軸, (5) 組裝篇, 四軸飛行器成形 (Drone, Quadcopter, MultiWii, Arduino, Maker, Electric Speed Control, Motor)
自製大四軸, (6) 調整篇, 飛行前兩三事 (Drone, Quadcopter, Maker, Futaba, Arduino, MultiWii)
自製大四軸, (7) 充電篇, iMax B6 充電器操作記要 (Charger, Battery)
自製大四軸, (8) 問題篇, 機架損壞維修 (Drone, Quadcopter, Laser Cut)
自製大四軸, (9) 改良篇, 方便拆卸的木質機架 (Drone, Quadcopter, Maker, Laser Cut)

自動報球速的棒球


CC2540 Bluetooth Low Energy
筆記, CC2540 Bluetooth Low Energy, (1) 開發環境 架設 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (2) 跑第一個範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (3) SimpleBLEPeripheral 簡單介紹 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (4) 在智慧手機上執行範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (5) 偵測與發送 iBeacon 訊號 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 尋寶遊戲 (Bluetooth, CC2540, iBeacon, iOS app)
實作, BLE + iOS app, 遙控燈泡君 (Bluetooth, CC2540, iOS app)
做實驗, 用 iBeacon 做自動控制的可行性 (Bluetooth, iBeacon, CC2540, Automation, URL Scheme, iOS app)

藍色小鋪一起來做

藍色小鋪一起來做, (1) 用 beacon 控制開關的枱燈
藍色小鋪一起來做, (2) 講解 BLE CC2540 UART 通訊範例程式 (Bluetooth, CC2540, UART)
藍色小鋪一起來做, (3) 藍牙枱燈專案實作 (上) (Bluetooth, CC2540)
藍色小鋪一起來做, (4) 藍牙枱燈專案實作 (下) (Bluetooth, CC2540)
藍色小鋪一起來做, (5) iBeacon scanner 專案示範與解說 (Bluetooth, CC2540, iBeacon)
藍色小鋪一起來做, (6) 完成, 用 iBeacon 控制開關的枱燈 (Bluetooth, CC2540, iBeacon)
藍色小鋪, 初嚐樹莓派 (Raspberry Pi)
藍色小鋪, iBeacon 應用, 自動記錄到訪時間 (iBeacon, Geohopper, Zapier)

小惡魔 無線溫度感測器

108 大眼仔
Plot Clock

體驗, 原住民互動故事書@宜蘭大同鄉泰雅生活館
體驗, 蛋生音互動裝置@兒童美術館 (Arduino, 3D Printing, HC-SR04, Interactive)


實作, 電容感應音樂樹

0 意見:

張貼留言