《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 量身定做自己的專屬Beacon

量身定做自己的專屬Beacon

2015-08-03
作者:Martin Woolley

       Beacon系列的前兩篇文章中我已經介紹了Beacon應用開發的概念和AltBeacon廣播形式,并詳細講解了如何利用AltBeacon安卓API開發博物館導覽APP原型。在今天的最終篇里,我將向大家介紹如何測試這一博物館導覽APP。

選擇藍牙開發板,啟動你的專屬Beacon!

       我們暫時還沒有現成采用AltBeacon形式的Beacon,但手上有不少藍牙開發板。藍牙開發板是具有智能藍牙功能的微控制器(MCU),其內部一般都內置了藍牙協議棧。由于開發板一般都具有豐富的外設接口和引線,因此開發板通常用來搭建產品的原型可以將編譯生成的固件直接燒入到開發板當中,甚至可以直接做成產品功能展示,或是單純用于試驗或學習。我決定用自己手上既有的幾塊開發板來創建Beacon應用,然后測試一下安卓博物館導覽APP。

       我使用的是Bluegiga DKBluetooth Low Energy開發套件和英特爾Edison開發板。Bluegiga開發板的編程采用BGScript腳本語言。英特爾Edison運行的是則Linux,編程語言有多項選擇。我習慣用由JavaScript框架驅動的Node.js,這樣能找到適用的智能藍牙的功能包或是庫文件。

Bluegiga變身AltBeacon

       Bluegiga的BGScript腳本語言簡單易懂,且配有Bluegiga框架所提供的豐富的功能庫。用BGScript創建Bluegiga應用涉及用文本編輯器創建腳本文件和其他項目配置文件。通過Bluegiga SDK中的軟件更新工具,就可以直接通過USB將編譯生成的固件燒入到開發板上。

       腳本包括變量和數組聲明、事件處理器回調函數。回調是編程模型的重要部分,調用標準Bluegiga功能函數會促發相關的回調函數。同樣,框架也可以調用事件處理器,以回應腳本之外的情況。

       在任何平臺上實現Beacon都涉及與通用訪問配置文件(Generic Access Profile, GAP)協作,要求設置廣播數據包內容、配置廣播參數。

       Bluegiga AltBeacon實施的要素如下圖:

       先從變量聲明開始。

圖片12.png

                                     圖1 – 數組聲明

       廣播的設置可以在Bluegiga標準事件處理器“system_boot”中完成,開發板接通電源或重置之后,系統會調用“system_boot”。我先設置了包含Flags字段數組,Flags字段包括許多位,從每一位都能看出Bluetooth Smart和/或Bluetooth BR/EDR的支持方

       廣播數據包中可能包含的字段稱為廣播數據類型(ADV data types),藍牙核心規格附錄的A部分(數據類型規格)對其有明確定義。廣播數據類型的標準結構,包括一個單一字節長度字段 (它的值不包括長度字段本身占有的字節)、一個單一字節數據類型字段。GAP編號文檔中定義了數據類型值。

       下面是初始過程的首部分代碼:

圖片13.png

                            圖2 –在system_boot事件處理器中定義flags廣播類型

       在本系列文章的第一篇中,我介紹了AltBeacon形式并解釋了GAP 制造商特定數據廣播字段中編碼的數據。我在同一數組內的后20字節中填入了這些數據。

圖片14.png

                             圖3 – 定義制造商特定數據字段中的AltBeacon數據

       然后為Beacon設備設置名稱,這一名稱今后可以顯示在Central設備(主要是智能手機)返回的掃描結果中。它的值是另一個廣播類型,因此我將它設立在它自己的數據里。可以看到,指定的本地名稱就是AltBeacon。

圖片15.png

                               圖4 – 建立用于掃描響應的本地名稱

       配置廣播參數包括調用Bluegiga的一些功能、數組。

圖片16.png

                                  圖5 – 配置GAP 廣播

       這樣,我的Bluegiga定制AltBeacon準備就緒。

圖片17.jpg

                              圖6 –藍兆科技DKBLE上的AltBeacon

另一種選擇:英特爾Edison上的AltBeacon

       Node.js是模塊化設計,有多種用途的模塊供選用。對于Node.js來說,模塊與庫類似?!癇leno”模塊能夠為擔任藍牙GAP外設的應用提供諸多功能,如GATT配置文件的定義和實施。它是開源的,由Sandeep Mistry創建。SandeepMistry還創建了Noble模塊,可以用來創建GAP中央模式設備的相關軟件。Bleno和Noble都位于github上。

       Bleno的標準分布不支持AltBeacon形式,但卻支持iBeacon。因此,我復制了Noble github 倉庫并改寫了Bleno,這樣就可以生成AltBeacon形式的GAP廣播了。下面就跟大家介紹一下是怎么改寫的。

       我在標準的bleno.js源文件上添加了新功能,然后就可以根據node.js應用的一系列既設參數啟動廣播了。新功能代碼就長以下這個樣子:

圖片18.png

                                圖7 –bleno/lib/bleno.js中的新功能

       這一代碼基本上就是將必須的AltBeacon數據填充到緩沖區,然后調用添加至Linuxbindings.js源文件中其他功能。Bleno可以與Linux上的BlueZ藍牙協議棧協作,當在基于Linux的平臺上執行功能時,Bleno所引出的用于多種應用的功能最終被映射到針對BlueZ功能的調用。我只好對Bleno中Linux相關的部分作一些修改,這樣才能支持AltBeacon。

圖片19.png

                               圖8 –bleno/lib/linux/bindings.js中的新功能

圖片20.png

                             圖9 –bleno/lib/linux/hci-ble.js中的新功能

       這些功能所作的就是準備一個和Bluegiga開發板類似、包含所有必需廣播數據的緩沖區,然后將其傳遞至、并通過Bleno API層,最終到達BlueZ的主機控制接口(Host Controller Interface,HCI)。

AltBeacon Node.js 應用

       Bleno經修正之后就可以支持AltBeacon了, 剩下的就是使用新的bleno模塊來創建node.js應用,然后使用AltBeacon形式開始廣播。整個應用就是下圖中的7行代碼。

圖片21.png

                            圖10 –AltBeacon node.js 應用

       為運行AltBeacon APP,我使用Putty通過SSH或是telnet建立了與英特爾Edison的終端會話,然后運行命令行里的node app.js。

圖片22.jpg

                                圖11 – Putty建立終端對話

 


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          99成人在线| 亚洲影院一区| 久久综合久色欧美综合狠狠| 欧美午夜大胆人体| 在线国产精品一区| 国产美女精品免费电影| 欧美日韩黄视频| 亚洲精品一区二区三区不| 欧美一区二区日韩一区二区| 亚洲人体偷拍| 欧美成人dvd在线视频| 欧美一区二区三区精品| 欧美日韩美女| 久久高清福利视频| 国产精品视频一二三| 亚洲一区二区三区四区五区黄| 亚洲美女精品久久| 在线精品视频免费观看| 亚洲综合电影| 亚洲另类一区二区| 亚洲日本一区二区三区| 玖玖玖免费嫩草在线影院一区| 狠狠色狠狠色综合日日小说| 欧美大片免费观看在线观看网站推荐| 欧美高清日韩| 激情成人在线视频| 欧美日韩另类视频| 久久躁日日躁aaaaxxxx| 欧美一区二区三区啪啪| 91久久久久久国产精品| 国产精品美女久久久久久久| 亚洲免费观看在线视频| 欧美影视一区| 在线一区二区日韩| 亚洲国内欧美| 性欧美办公室18xxxxhd| 国产午夜精品理论片a级大结局| 国产精品一区2区| 欧美成人日韩| 久久露脸国产精品| 99riav久久精品riav| 欧美激情亚洲| 久久久亚洲影院你懂的| 亚洲伦理网站| 久久国产精品99久久久久久老狼| 亚洲视频成人| 国产亚洲精品bt天堂精选| 国产亚洲精久久久久久| 国产精品视频最多的网站| 久久精品视频在线| 国产日韩欧美黄色| 久久中文字幕一区二区三区| 久久av一区| 在线视频日本亚洲性| 亚洲小说春色综合另类电影| 欧美精品在线播放| 欧美一区国产一区| 欧美亚州一区二区三区| 黑人巨大精品欧美一区二区小视频| 亚洲免费福利视频| 国产精品乱看| 国产精品美女一区二区| 欧美日韩国产综合在线| 欧美一区二区久久久| 正在播放欧美一区| 亚洲欧美网站| 亚洲国产精品成人精品| 激情综合色综合久久| 国产精品成人aaaaa网站| 欧美午夜激情在线| 99视频精品在线| 亚洲视频专区在线| 黄色一区二区三区四区| 国产日韩欧美黄色| 久久精品国产精品亚洲精品| 亚洲午夜免费视频| 欧美电影免费观看高清完整版| 99ri日韩精品视频| 国内精品写真在线观看| 欧美黄色视屏| 亚洲人成人一区二区三区| 亚洲一区二区伦理| 亚洲网友自拍| 久久久亚洲欧洲日产国码αv| 国产免费观看久久黄| 久久国产精品亚洲77777| 日韩一二在线观看| 久久久久国产精品www| 亚洲激情另类| 久久免费视频一区| 欧美一区二区三区另类| 在线免费观看日本欧美| 欧美午夜大胆人体| 精品成人国产在线观看男人呻吟| 欧美高清视频一区二区三区在线观看| 欧美一二区视频| 亚洲精品少妇30p| 欧美日韩综合精品| 欧美a级理论片| 国产精品久久国产精品99gif| 日韩一区二区精品在线观看| 国内精品**久久毛片app| 欧美成人在线免费视频| 99热在线精品观看| 亚洲自拍偷拍麻豆| 国产午夜亚洲精品理论片色戒| 亚洲第一区中文99精品| 国产伦精品免费视频| 欧美激情亚洲精品| 伊人男人综合视频网| 韩日精品视频一区| 欧美性猛交xxxx乱大交退制版| 国产精品久久久久久一区二区三区| 亚洲女优在线| 久久国产精品久久精品国产| 国产乱码精品1区2区3区| 国产精品久久久久久久久久免费看| 国产亚洲欧美一级| 亚洲一区二区三区成人在线视频精品| 欧美日韩在线三区| 欧美片在线播放| 99视频在线精品国自产拍免费观看| 欧美色区777第一页| 欧美日韩国产高清视频| 欧美精品尤物在线| 亚洲一级在线| 国产精品影院在线观看| 亚洲国产高清aⅴ视频| 欧美不卡视频一区| 国产欧美一区二区白浆黑人| 欧美精品在线一区二区三区| 99热这里只有精品8| 亚洲精品视频免费在线观看| 麻豆91精品91久久久的内涵| 午夜电影亚洲| 狠狠色综合网站久久久久久久| 亚洲精品一二三| 久久久蜜臀国产一区二区| 一区二区三区四区在线| 久热综合在线亚洲精品| 亚洲精品一区二区三区不| 久久一日本道色综合久久| 亚洲女性裸体视频| 久久精品一区二区三区不卡牛牛| 黑人极品videos精品欧美裸| 欧美 日韩 国产在线| 久久av免费一区| 亚洲免费精品| 国产精品夜夜夜一区二区三区尤| 亚洲精品免费在线观看| 亚洲一区图片| 久久中文字幕导航| 欧美一区二区三区视频在线| 亚洲欧美日韩精品久久久久| 亚洲福利专区| 亚洲欧美国产精品专区久久| 国产精品igao视频网网址不卡日韩| 伊人精品成人久久综合软件| 香蕉久久夜色| 欧美精品v日韩精品v韩国精品v| 欧美电影免费| 久久精品国产免费| 欧美成黄导航| 欧美婷婷久久| 日韩视频免费大全中文字幕| 另类尿喷潮videofree| 亚洲电影免费在线观看| 欧美国产日韩一区二区| 欧美日韩一视频区二区| 最新中文字幕一区二区三区| 欧美成人精品影院| 亚洲国产免费看| 日韩一区二区精品葵司在线| 香蕉久久一区二区不卡无毒影院| 亚洲曰本av电影| 亚洲激情成人| 午夜电影亚洲| 久久天堂av综合合色| 亚洲网在线观看| 激情久久久久久久| 久久久久国产精品www| 国产精品不卡在线| 亚洲国产另类久久久精品极度| 一区二区三区在线免费视频| 中文欧美字幕免费| 国产在线视频欧美一区二区三区| 欧美肉体xxxx裸体137大胆| 久久久久久久综合色一本| 黄色av成人| 欧美另类在线观看| 欧美日韩视频| 国产精品久久久一区麻豆最新章节| 国产一级精品aaaaa看| 亚洲欧洲精品一区二区| 黄网站免费久久| 国产在线视频不卡二| 欧美性久久久| 9久re热视频在线精品| 国产精品稀缺呦系列在线| 国产一区二区日韩精品| 亚洲午夜免费视频| 亚洲在线黄色| 久久精品人人做人人爽电影蜜月| 日韩一级在线观看| 亚洲人成人77777线观看| 欧美在线免费观看亚洲| 狠狠综合久久av一区二区老牛| 亚洲在线一区二区| 好吊日精品视频| 国产精品99久久99久久久二8| 国产精品久久久久免费a∨大胸| 欧美理论电影网| 国产欧美日韩在线观看| 老牛国产精品一区的观看方式| 黄色成人片子| 午夜欧美大片免费观看| 国内一区二区三区| 国内精品美女在线观看| 亚洲激情在线激情| 99av国产精品欲麻豆| 午夜精品在线视频| 久久久久综合一区二区三区| 国产精品萝li| 欧美亚州韩日在线看免费版国语版| 欧美日韩大片一区二区三区| 国产一区二区三区黄视频| 国产精品亚洲产品| 欧美色精品在线视频| 欧美日韩久久| 亚洲一区二区三区精品动漫| 美女主播一区| 欧美激情在线免费观看| 一区免费在线| 亚洲美女中文字幕| 国产亚洲精品资源在线26u| 国产一区久久久| 欧美激情久久久久久| 亚洲免费在线观看| 欧美成人综合| 国产精品青草久久| 一区精品在线播放| 亚洲国产高清视频| 亚洲天堂第二页| 欧美日韩 国产精品| 玖玖玖免费嫩草在线影院一区| 欧美激情国产高清| 欧美日韩精品免费观看视一区二区| 蜜臀av国产精品久久久久| 午夜精品一区二区三区在线| 欧美韩国一区| 久久影院午夜片一区| 久久亚洲图片| 国产亚洲欧美日韩在线一区| 日韩一级免费观看| 久久亚洲欧美国产精品乐播| 一区二区三区国产精品| 国产精品成av人在线视午夜片| 欧美jizzhd精品欧美巨大免费| 欧美日韩中国免费专区在线看| 久久国产精彩视频| 国产视频精品免费播放| 亚洲一区二区三区四区中文| 夜夜嗨av一区二区三区四季av| 亚洲深夜福利视频| 在线亚洲欧美视频| 国产精品久久久久久亚洲调教| 一本色道综合亚洲| 国产精品日韩一区二区三区| 亚洲黄色小视频| 亚洲成人在线视频播放| 亚洲精品中文字幕女同| 欧美视频在线免费| 黄色免费成人| 欧美喷水视频| 亚洲国产精品久久91精品| 欧美午夜精品一区| 国产一区二区久久| 国产一区二区三区视频在线观看| 欧美精品www在线观看| 国产欧美日韩专区发布| 在线观看日韩一区| 国产视频久久久久久久| 久久精品国产综合精品| 欧美日韩午夜激情| 亚洲综合社区| 国产欧美一区二区三区在线老狼| 免费精品视频| 亚洲欧美国产制服动漫| 久久久综合激的五月天| 久久久一本精品99久久精品66| 久久裸体视频| 欧美在线一级视频| 久久久久久免费| 国产精品麻豆va在线播放| 亚洲欧美综合| 韩国成人理伦片免费播放| 久久久91精品国产| 久久综合九色欧美综合狠狠| 国产精品久久777777毛茸茸| 久久在线免费观看视频| 国产精品高清在线观看| 久久aⅴ国产紧身牛仔裤| 亚洲天堂偷拍| 麻豆成人综合网| 欧美三日本三级少妇三2023| 一区二区三区精品久久久| 国产日产高清欧美一区二区三区| 欧美黄色aa电影| 日韩视频在线一区| 黄色另类av| 国内揄拍国内精品久久| 久久精品国产一区二区电影| 极品裸体白嫩激情啪啪国产精品| 欧美日韩在线播放| 亚洲欧美日韩综合国产aⅴ| 久久久久久综合网天天| 久久精品国产91精品亚洲| 欧美专区福利在线| 免费成年人欧美视频| 欧美另类videos死尸| 久久久久久久尹人综合网亚洲| 国产视频精品va久久久久久| 亚洲福利一区| 国产精品九色蝌蚪自拍| 久久全国免费视频| 国产一区二区三区在线观看视频| 免费日韩av片| 欧美日韩另类国产亚洲欧美一级|