ZIG BEE 感知實習
學 校 :南開科技大學 系 所 :數位生活創意系 老 師 :林正敏教授 1
教育部智慧生活整合性人才培育計畫
ZigBee生態感知實習課程
Intelligent living laboratory @ NKUT
教育部智慧生活整合性人才培育計畫
Outline
• • • • •
實驗目的 實驗器材料單 實驗器材介紹 創造ZigBee生態感知App 實驗成果
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗目的
• 本實驗以Android智慧型裝置結合ZigBee 感知器,使Android智慧型裝置能讀取到 環境感知數值之學習與實驗。
• 本實驗課程,應用橋高科技的感測信號 採集板做環境感知數值的採集,再將 ZigBee訊號轉換成Android智慧型裝置能 接收的藍芽通訊,進行接收感知數值。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
Outline
• • • • •
實驗目的 實驗器材料單 實驗器材介紹 創造ZigBee生態感知App 實驗成果
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗材料單 • 本實驗所需器材元件如下表所示:
編號
器材名稱
數量
1
感測信號採集板
1
2
ZigBee CC2430
1
3
BT-232B-E(藍芽RS-232傳輸器)
1
4
TI CC2430 模擬器
1
5
RS-232公對公轉接頭
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
Outline
• • • • •
實驗目的 實驗器材料單 實驗器材介紹 創造ZigBee生態感知App 實驗成果
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(1) 感測信號採集板 RS-232串接口
RS-232開關 TI CC2430
I/O使用切換
Intelligent living laboratory
感測器開關
濕 度
紫 外 線
溫 度
光 亮 度
教育部智慧生活整合性人才培育計畫
實驗器材介紹(2) ZigBee CC2430
8051微處理器
2.4G無線傳 輸頻率 2.0~3.6V電源
模擬器燒錄 接口 21支I/O Port
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(3) TI CC2430 模擬器
TI CC2430/31模擬器 可燒錄程式至CC2430
燒錄連接口 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(3) BT-232B-E(藍芽RS-232傳輸器)
RS-232串接口
BT-232B-E原廠初始設定值 鮑率: 19200 bps 資料位元: 8 同步位元: 無 停止位元: 1 藍芽配對密碼預設為"1234" Intelligent living laboratory
電源為3.3~3.7 VDC
教育部智慧生活整合性人才培育計畫
實驗器材介紹(4) 修改RS-232 參數方法
透過作業系統之超級終端機設定指令集(請一律使用大寫字母)
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(5) 修改RS-232 參數方法
透過作業系統之超級終端機設定指令集(請一律使用大寫字母)
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(6) 修改RS-232 參數方法
透過作業系統之超級終端機設定指令集(請一律使用大寫字母)
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(7) 修改RS-232 參數方法
透過作業系統之超級終端機設定指令集(請一律使用大寫字母)
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(8) 修改RS-232 參數方法前置作業
RS-232轉USB BT-232B-E
插至桌電RS-232 接口處
BT-232B-E 筆電無RS-232接口 所以需轉USB
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(9) 修改RS-232 參數方法
COM9
透過裝置管理員查看USB COMPORT為何, 如使用桌上電腦COMPORT 則為1。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗器材介紹(10) 修改RS-232 參數方法
開啟電腦的超級終端機後, 我們要輸出該終端機名稱與 圖示代表。 Intelligent living laboratory
因為該裝置使用的USB為COM9
教育部智慧生活整合性人才培育計畫
實驗器材介紹(11) 修改RS-232 參數方法
由於原廠鮑率是設定在19200 所以我們要選擇同鮑率才能 與它通訊。 Intelligent living laboratory
按下確定鍵後會出現如右圖 之空白頁面框。
教育部智慧生活整合性人才培育計畫
實驗器材介紹(12) 修改RS-232 參數方法
根據指令集所示AT代表測試 。 是否與RS-232有無連接,輸 入完AT指令後按下Enter。
Intelligent living laboratory
顯示OK代表設備與RS-232連 接成功,此時才能開始修改 所有參數設定。
教育部智慧生活整合性人才培育計畫
實驗器材介紹(13) 修改RS-232 參數方法
根據指令集所示BAUD代表修改鮑率 值,我們試著將它改成9600 輸入 完指令後按下Enter,回傳值為OK 代表已修改成功。 Intelligent living laboratory
我們可以再次建立一個新的 終端機連線測試。
教育部智慧生活整合性人才培育計畫
實驗器材介紹(14) 修改RS-232 參數方法
已將鮑率改為9600,所以在這 欄位上記得要選9600才能與藍 芽RS-232傳輸器進行通訊。 Intelligent living laboratory
可再次測試鮑率是否為9600,輸 入BAUD=? 按下Enter,回傳值傳 回的鮑率值將是目前的鮑率。
教育部智慧生活整合性人才培育計畫
Outline
• • • • •
實驗目的 實驗器材料單 實驗器材介紹 創造ZigBee生態感知App 實驗成果
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(1)
• 對於實驗器材的操作與設定都有所了解 後,接下來在創造ZigBee生態感知App前, 我們先學習燒錄溫度感知DEMO程式至TI CC2430板上,並且再透過終端機去接收 感知數值。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(2)
• 對於實驗器材的操作與設定都有所了解 後,接下來在創造ZigBee生態感知App前, 我們先學習燒錄溫度感知DEMO程式至TI CC2430板上,並且再透過終端機去接收 感知數值。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(3)
x:\智慧生活文創計畫\Zigbee_IAR程式碼\溫度 IAR
開啟IAR 溫度DEMO程式,開啟前必須先安裝 IAR Embedded workbench。 而IAR是ZigBee的開發軟體之一。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(4)
ZigBee主程式頁面 程式為C語言,該範例已有中文解說
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(5)
燒錄前需先編譯過,是否有bug。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(6)
之後將模擬器與TI CC2430連接,再按下DEBUG進行燒錄。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(7)
RS-232公對公轉接頭。
將燒錄好的TI CC2430插入感測採集板,再接上 改好設定值的藍芽RS-232傳輸器。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(8)
• 以上都接好了以後,我們可以先透過有線的 方式先測試溫度是否能正常出現,如果都可 以最後再接上藍芽RS-232傳輸器,測試前我 們可以先開啟超級終端機或智慧生活文創計 畫\軟體區資料夾內有個名為Universal COM debugging V1.0.exe 的程式, 可以開啟它將 鮑率設定在9600 ,而COM值因每台電腦而 異。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(9)
每一筆溫度數字 都以十六進位顯示 打勾以十六進位顯示
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(10)
• 每一筆溫度的數值不是23度C,而我們需要 將其數值轉換成十進制才是我們真的溫度數 值,轉換方式可以以電腦內建小算盤轉換或 查詢ASCII 字元表都可以得知35,35就是真 正目前溫度。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(11)
• 一般來說有線的沒問題的話,RS-232端可改 接無線的藍芽RS-232傳輸器就會成功,可以 先找一台有藍芽接收的電腦去測試,一樣選 好藍芽COM Port後就可以透過藍芽無線通訊 進行傳輸與接收資料數據了。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(12)
• 順便一提如何將原本鮑率9600改成其他 的鮑率值,下圖以鮑率38400為例。
將原本的8更改為10
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(13)
• 鮑率值修改對照表。 鮑率(bps)
UxBAUD.BAUD_M
UxGCR.BAUD_E
誤差(%)
2400
59
6
0.14
4800
59
7
0.14
9600
59
8
0.14
14400
216
8
0.03
19200
59
9
0.14
38400
59
10
0.14
76800
59
11
0.14
115200
216
11
0.03
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(14)
• 接 下 來 要 開 啟 Eclipse 程 式 編 輯 器 , 將 Android三大教學程式碼\BluetoothManage 將 這 Android 藍 芽 接 收 專 案 資 料 夾 , 以 import方式匯入於Eclipse程式編輯器內進 行編輯。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(15)
正常來說該專案沒有任何錯誤警示, 可以透過同步或將apk copy到平板 電腦上安裝執行並測試是否正常, 能接收數值與顯示圖片。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(16) 目前溫度:32度為 平版電腦所接收 到ZigBee端所傳 來的溫度數值, 透過不同的溫度 數值可以去對應 不同的圖片或是 其他文字顏色上 的效果。同學們 可以自由發揮~
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(17)
• 有了Eclipse修改程式的基本觀念後,對於 Android程式應該不會在那麼的陌生,這個專 案已經將藍芽連線與搜尋藍芽裝置都寫好了, 我們只要會使用它就好,可不必去修改那些 連線與搜尋藍芽裝置的程式等等。
• 再來下張簡報將會看到溫度所對應的圖片 跟溫度數據是怎麼接收進來的。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(18)
244行至252行主要是判斷輸入串流有多長,247行的For只有條件而已, 並沒有初始值與遞增遞減,當條件成立時會將值傳給count, count會在 將值給252行,如此一來才能收到多少轉換多少字串。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(19)
第252行的SamplesUtils是屬於一個類別,其類別包含了某些功能,這些 功能也都已被寫好,因此我們須要引用這類別功能來使用。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(20) String -> Hex
Hex -> String
SamplesUtils
Hex -> Byte
Byte -> Hex
如上圖所示為SamplesUtils的functions Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(21)
想了解更多可以開啟src/SamplesUtils.java來看詳細程式碼 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(22)
第254行則成立一個if的判斷式,去判斷字串的長度是否大於2,成立之 後在繼續做以下的事。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(23)
第255行與256行,是將16進位轉成十進位的整數,再將整數內容傳至iii 這個int變數內,最後再整數轉字串顯示在智慧型裝置Title上。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(24)
第257行至263行,這先判斷式我相信各位已經很強了,都知道這在幹麻 我就不多說了,記得將圖片檔放至res/drawable-hdpi底下就好,再透過 Layout編輯與圖片檔進行連結及完成。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(25)
不知道各位是否有稍微看一下程式,其中有第237與238行的Universally Unique Identifier,簡稱UUID)該行為何一堆數字其實都有原因的,可 至以下兩網址了解UUID為何;http://zh.wikipedia.org/wiki/UUID與 http://developer.android.com/reference/android/bluetooth/Blueto othDevice.html。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(26)
紅色框起來的部份就是我們本程式所使用的UUID,我們使用的是Serial Port Service所以才需這段UUID,不同的藍芽服務會有不同的UUID碼, 以下提供網址給大家參考; http://forum.btframework.com/index.php?topic=172.0。 Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(27) • 總結一下,本實驗是將ZigBee感測採集板連接RS232轉藍芽傳輸器,透過藍芽通訊方式讓Android智 慧型裝置能接收ZigBee感測採集板上的溫度感測值, 如下圖示意圖所示。因為目前市面上的Android智 慧型裝置都沒有支援ZigBee IEEE 802.15.4之通訊 協定因此才須轉藍芽通訊。 Data ZigBee感測 採集板
Intelligent living laboratory
BT-232BE
Android智慧型 裝置
教育部智慧生活整合性人才培育計畫
創造ZigBee生態感知App(28)
• 稍微熟悉溫度值如何傳到Android智慧型裝置 之後,不知道大家有沒有想到這Idea能運用在 生活上的哪裡,目前ZigBee感測採集板有溫度、 濕度、紫外線與光亮度可以使用,我們如何善 用這些感測器與ZigBee通訊,使之運用在你我 生活中,下一頁簡報將大概教大家如何將這些 通訊匯集而製作成一個行動導覽系統。
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
Outline
• • • • •
實驗目的 實驗器材料單 實驗器材介紹 創造ZigBee生態感知App 實驗成果
Intelligent living laboratory
教育部智慧生活整合性人才培育計畫
實驗成果
Intelligent living laboratory