第三章 智慧商城功能介紹與硬體架構設計
3.2 智慧商場系統硬體架構設計與韌體介紹
3.2.1 兩支手機與貨架微型藍牙裝置
號強度值(Received Signal Strength Indicator ; RSSI),為求數值精確避免誤差,在收 滿五個接收訊號強度值後,會做一次權重演算,並將計算結果回傳給 TI CC2540 藍 牙模組[21]-[22],藍牙模組與微控制器模組(Microcontroller Unit ; MCU)便能藉由手 機回傳的 RSSI 運算結果,判斷使用者方位並驅使智能車轉向。透過兩個藍牙模組,
不同使用者皆可控制智能車,智能車可輪流行走於兩使用者之間進行載商品的動 作。做為 Master 的手機與藍牙模組連線的同時,會掃描貨架上的微型藍牙裝置 TI CC2541 Keyfob[23]-[24],並且搭配演算法實現室內定位與地圖顯示的功能,除此 之外手機上的 App 還有購物商品介紹、數量與金額統計以及卡路里計算和健康管
個貨架位置,介面如下圖 4.7 所示,此外 App 也有內建資料庫,協助使用者進行健 康與金融管理。在商品頁面上點擊商品,便可以看到詳細的資訊(含熱量、保存期 限、製造商…等等),且商品列表中的最下方會自動計算出食品的總熱量以及全部 商品的總金額,可以避免使用者不小心買超過預算,也提醒使用者要注意健康。
最後,在商品資訊頁的右下角有結帳的按鈕,當使用者到達結帳櫃台,確認 App 與櫃檯的結帳資訊一致後,便可以按下結帳,選擇想要的付款方式。未來可與 金融產業連結,實現金融科技應用,只要與 Visa、Paypal、支付寶…等大眾常使用 的支付方式建立金流,消費者就可以在購物商場體會到輕鬆血拚、一鍵搞定的便利,
App 商品資訊與結帳頁面如下圖 3.8 所示。
圖 3. 5、手機 App 入口頁介面圖
圖 3. 6、商品購物頁介面圖
圖 3. 7、室內地圖頁介面圖
圖 3. 8、手機 App 商品資訊與結帳頁面
智能車系統開始運作時,手機(Master)與購物車(Slave)使用藍牙連線交換資料,
同時手機會掃描貨架微型藍牙裝置發出的廣播訊息。手機和智能車在連線狀態時,
與智能車交換資料的方式有兩種,第一,透過讀寫特性值(Characteristic),第二,接 收和傳送通知(Notification)。手機將會透過讀取特性值的方式讀取車內商品資訊,
並藉由傳送通知的方式傳送 RSSI 給智能車並搭配權重演算法來控制馬達實現自動 跟隨功能,以下將介紹上述三者通訊方式的差異以及如何在本系統中實現。
3.2.1.2 廣播(advertising)與掃描(scanning)功能 – 室內定位
在手機與購物車連線的同時,貨架上的微型藍牙裝置會每間隔 50ms 持續對外 發送廣播(advertising)封包,而手機可以透過掃描(scanning)功能取得貨架裝置的藍 牙廣播訊號,並藉此得知貨架商品資訊與位置,同時藉由運算廣播封包內夾帶的 RSSI 值實現室內定位的功能。圖 3.9 為手機、智能車及貨架微型藍牙裝置訊號傳 輸示意圖。
圖 3. 9、手機、智能車及貨架微型藍牙裝置訊號傳輸示意圖
為達到讀取貨架商品資訊及室內定位,我們透過微型藍牙裝置(keyfob)來做為 貨架的 BLE 裝置,貨架微型藍牙裝置每隔一定的時間不斷廣播帶有藍牙裝置本身 的地址、RSSI 值與貨架資訊的封包,而手機可以掃描貨架藍牙裝置廣播的訊息,
並藉由地址來區分各貨架對應的 RSSI,最後再透過各貨架的 RSSI 值大小去運算 出手機與各貨架之間的相對位置並顯示於手機上已建立好的地圖上,但是 RSSI 值 很容易受到周遭環境的各項因數影響,包括多重返射路徑(multipath)、遮蔽物等的 影響,即使手機和貨架藍牙裝置間的距離固定,接收到的 RSSI 值也會有一定幅度 的變動,因此,演算法也需要做相對應的優化,演算法示意圖如下圖 3.10。
圖 3. 10、室內定位演算法示意圖
整個演算法的建立與運作流程如下:
(1) 取 n 個藍牙裝置放置於不同貨架上,設每個藍牙裝置在地圖上對應的座標為 (x1,y1)、(x2,y2)、(x3,y3)…(xn,yn)。
(2) 手機內建立陣列用來存放 RSSI 值,並且藉由藍牙地址辨認藍牙裝置,將收到 的 RSSI 在陣列中存為 RSSI1~RSSIn。
(3) 接著要找出使用者當下最靠近的那個貨架,並存在陣列之中。設定一個變數 (nowBest)用來存放擁有最大的 RSSI 值的第 n 個貨架,同時也代表使用者手機 最靠近第 n 個貨架。接著再設一個邊界值(BoundaryForBest = 3dB),當使用者 移動到下一個貨架時,所收到之第 m 個貨架的 RSSI 值必須要比第 n 個貨架的 大 3dB, nowBest 才會更新為 m,以防止 RSSI 隨著環境因數而變動造成 nowBest 誤判。舉例來說,原本來自 keyfob3的功率最高,且 nowBest 為 3。若 RSSI3 =-50dBm,RSSI5=-48dBm,則 nowBest 還是 3,因為差值不超過 3dB。若此時,
使用者若拿著手機往 keyfob5走,使得 RSSI5 = -47dBm、RSSI3 = -51dBm,差值 超過 3dB。則 nowBest 更新成 5。
(4) 接下來判斷要透過哪些貨架藍牙裝置的 RSSI 來做室內定位,捨去其他距離過 遠的貨架可以減少運算資源。首先捨去非相鄰的貨架,接著設定另一個邊界值 (BoundaryForRegion = 8dB)手機每次讀取 RSSI 值時,會將 nowBest 的 RSSI 值 與周遭的其他藍牙裝置的 RSSI 值進行比較,判斷周遭的其他藍牙裝置的 RSSI 比較後小於邊界值(BoundaryForRegion = 8dB)的貨架,假設比較後發現貨架 1 的功率小於貨架 2 功率超過 8dB 以上,則不考慮 RSSI1。
(5) 再來將符合條件的貨架藍牙裝置納入定位判斷,依照藍牙裝置擺放距離設定適 當使用者在地圖上的移動速度,並利用動畫的方式使得使用者在地圖上的位置 靠近有那些有納入定位演算的貨架位置或者貨架與貨架中間。舉上圖 3.10 為 例,因 RSSI3,5與 RSSI2的差值都小於 BoundaryForRegion,故判定 A,B 點是人 有可能出現的位置,此時地圖上使用者的圖示便會前往 A 跟 B 的中間的位置 移動。若使用者往 2 號貨架靠近,使得 RSSI3,5 降低到與 RSSI2 差值大於 BoundaryForRegion,則使用者的圖示會靠近 nowBest 的座標點(x2,y2)。若人往 3 走,經過 B 點後,只要(RSSI3-RSSI2>BoundaryForBest),nowBest 便會重設為 3,對 keyfob3周遭的裝置進行比較,重複上述演算。
由上述自行設計的室內定位演算法,我們可以針對不同商場進行貨架擺設,且 自訂該環境的邊界值 BoundaryForBest 以及 BoundaryForRegion,若環境中微型藍 牙裝置的密度越高、障礙物越少,則定位可以越準確。
3.2.1.3 讀寫特性值(Characteristic)功能 – 車內商品讀取
手機取得商品資訊的方式是利用手機讀取 BLE 的特性值(characteristic)。手機 與 BLE 連線的時候,會有很多服務(Service)供使用,每個 Service 底下有許多特性 值,我們可以利用 UUID 為 fffx 的特性值來存放商品資訊。目前我們是藉 fff2 特 (Universally Unique Identifier ,UUID),而 UUID 內對應到的數值便是智能車上的商 品資訊,本系統所用之商品資訊 UUID 是 0000fff2-0000-1000-8000-00805f9b34fb。
3.2.1.4 接收和傳送通知(Notification)功能以及權重演算 – 自動跟隨
Notification 是一種單方向傳送機制,接收端即使沒收到訊息也不會重新傳送 同一筆資料,因此資料傳輸週期比 Characteristic 快速許多,所以本系統手機端選 用此方法回傳權重演算過後的 RSSI 給智能車。由於智動車載系統是使用訊號強度
大小來快速判斷使用者所在處並改變智能車行進方向。手機端使用的權重演算法
(2) 例用式(3.2)求出各 RSSI 值的權重值𝑤𝑖,以序列中各𝑅𝑆𝑆𝐼𝑖與中位數𝑀𝑅𝑆𝑆𝐼的差
3.2.2 2.4 GHz 高指向性圓極化天線(B)
智能車的自動跟隨是根據接收訊號強度值(RSSI)來實現的,因此智能車上各天 線的特性對於智能車自動跟隨時的順暢度是非常重要。一般來說,手機天線的場型 是接近全向型天線的,因此智能車天線需要有高指向性的特性才能準確判斷使用 者方位與距離,此外手機天線為線性極化。有鑑於此,本團隊自行設計高指向性圓 極化天線,來解決使用者手機晃動時所造成的極化不匹配問題,以降低接收訊號強 度值(RSSI)的變動幅度,增加智能車跟隨順暢度。目前所使用到的車外 2.4 GHz 天 線共有五支,包含車頭天線 ANT0~ANT1 以及車身天線 ANT2~ANT4,車外天線 配置如下圖 3.11 所示。
智能車系統是以手機為跟隨的目標,考量到手機天線為線性極化,若智能車的 ANT0、ANT1)以及車身天線(圖 3.11 中 ANT2、ANT3、ANT4),智能車在跟隨時 只會使用到車頭兩支天線,為了使車頭天線更能明確分辨使用者的左右方位並增 加感應範圍,車頭天線場型相較於車身天線會比較寬且主輻射波束偏移了 30 度角,
如此一來智能車在使用者走路轉彎幅度過大時,依然能順利判斷左右轉並跟上使 用者,兩支天線的場型差異如下圖 3.13 所示,車身與車頭天線如下圖 3.14、3.15,
詳細的天線設計說明以及量測結果將在第 4.1 節介紹。
(a)
圖 3. 13、車頭天線感測範圍、車頭與左右兩車身天線場型比較圖
圖 3. 14、車身高增益指向性圓極化天線實體圖
圖 3. 15、車頭圓極化天線實體圖