2015/01/08


<藍色小鋪一起來做> 是個免費的研究聚會, 目前的聚會主題是 Bluetooth LE 的技術研究, 會用 TI 的 CC254x 開發板來做些有趣的計畫. 


聚會的第一個目標, 是要做一台能用 beacon 控制開關的枱燈. 萊恩大兵打算在六次的聚會中完成作品, 規劃的進度為:

[1/6] 準備好 CC2540 的開發環境
- 這場聚會已在 2014/12/16 發生, 聚會的進展與整理, 請參考: 藍色小鋪一起來做, 用 beacon 控制開關的枱燈 (Bluetooth, CC2540, iBeacon)

[2/6] 知道怎麼在 OSAL 的架構下改程式或加功能

- 這場聚會已在 2015/1/6 發生, 本篇文章即是聚會的進展與整理.

[3/6 和 4/6] 將枱燈連接在 CC254x 開發板上, 並能用 app 控制開關
- 預訂在 2015/1/13 進行.

[5/6 和 6/6] 接收 beacon 訊號做開關控制.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
前言說完, 來說說 [2/6] 的聚會進度吧.

(1)  今天的聚會主題, 是講解無錫谷雨的 <2中級: OSAL實驗教程> 裡面的 UART 通訊範例程式. 


(2) 簡單描述一下範例程式的編譯與執行過程

|a| 將 UART 通訊範例程式的 Components 與 Projects 複製起來,


然後去蓋掉 TI 的 BLE stack 裡面的 Components 與 Projects



|b| 找到 TI 的 BLE stack 裡面的 OSAL_TEST, 依你的開發板種類 (CC2540 或 CC2541), 開啟裡面的專案檔.

|c| 將 CC254x 開發板, 連同 CC Debugger 一併連接到電腦上.

|d| 開啟 Project | Options, 在 C/C++ Compiler 的 Preprocessor 裡面加上 HAL_UART=TRUE 的 flag.



|e| 編譯並下載軔體到開發板上. 按了按鍵或搖桿, LCD 畫面會有不同訊息顯示


|f| 再將 CC Debugger 移除, 讓 CC254x 開發板直接和電腦相連. 這時, 裝置管理員會顯示多了一個 COM 裝置.

|g| 執行 sscom32.exe, 設定 COM port 與 baud rate = 57600, 再開啟埠口. 就會在 sscom32.exe 的畫面上看到同 LCD 畫面顯示的訊息.


(3) 大略講一下程式流程

OSAL 的 framework 已處理掉大部份的事, 我們只需在幾個特定的 function() 中做好該做的事即可.

在 IAR 開啟 SimpleOsal.c.

|a| SimpleOsal_Init(), 這邊是在做初始化的工作.

|b| SimpleOsal_ProcessEvent(), 這邊在處理 message 與 event.

|c| 在 SimpleOsal_ProcessMsg() 與 simpleOsal_HandleKeys(), 則是針對按鍵的動作做適當反應.


在 IAR 開啟 SerialApp.c.

|d| 在 SerialApp_Init() 和 serialAppInitTransport(), 則是在做 UART 的通訊處理.



以上就是 [2/6] 的聚會進度.

下週預訂要進行的主題, 是要將一個枱燈連接到開發板上, 並要能用 app 去遙控開關. 

歡迎有興趣的朋友一同參與囉.



[萊恩大兵的其它文章]

自製大四軸

自製大四軸, 實作分享@華山文創園區
自製大四軸, (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)
自製大四軸, (10) 外飛篇, 新手的青蛙跳與遛狗 (Drone, Quadcopter, Maker, MultiWii)

自動報球速的棒球


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)


實作, 電容感應音樂樹

5 意見:

張貼留言