Zigbee音频, 6LowPAN, IEEE 802
http://antkillerfarm.github.io/
Zigbee音頻
前言
本文是對Zigbee傳輸音頻數據功能的一個資源匯總分析貼。
網上解決方案分析
基于MCF5213及Zigbee技術實現無線對講系統
http://www.go-gddq.com/html/QiTa-ZongHe_tx/2011-03/580806p2.htm
要點:
采用G.726壓縮音頻,采樣率8kHz,單次采樣16bit,壓縮比1:8,數據量16kbps
基于ZigBee節點的智能家居系統語音控制設計
http://www.elecfans.com/video/yinpinjishu/20141216360879.html
要點:
采用專門的芯片處理語音輸入及識別,Zigbee僅傳輸控制指令,不傳輸音頻數據。
基于ZigBee的無線音頻傳輸系統的設計與實現
http://max.book118.com/html/2014/0407/7392964.shtm
要點:
1.長安大學碩士論文
2.采用ADPCM壓縮音頻,采樣率15.2kHz,單次采樣16bit,壓縮比1:4,數據量61kbps
3.該碼率大大超過TI官方提供的典型值,因此系統不穩定。論文最后指出,該方案只能點對點傳輸,不可中繼路由。同時協調器亦不可傳輸其他任務的數據。
ZIGBEE音頻設計
http://download.csdn.net/detail/hongge586/5279694
要點:
1.西南科技大學本科論文
2.采樣率8kHz,單次采樣12bit,壓縮算法未知,壓縮比1:3, 數據量32kbps
3.不使用Zigbee協議,而僅使用802.15.4協議。適用于點對點傳輸,不可中繼路由。
4.文中提到Jennic公司的JN5139實現了32kbps的基于802.15.4的語音傳輸。
基于Zigbee技術帶有萬能接口的無線耳機
http://www.aptchina.com/zhuanli/3684478/
要點:
1.這是一篇2006年的專利文檔。
2.經查市面上并無Zigbee耳機產品面世。
結論
1.使用Zigbee傳輸音頻數據,瓶頸在于數據傳輸速率,16kbps可以使用普通Zigbee協議,32kbps就只有使用802.15.4協議才可以達到商用程度。
2.音頻壓縮算法是系統實現的關鍵。
開源音頻編解碼包
1.Speex
http://speex.org/
一個老項目,教程多,但官方已經放棄,轉而推薦Opus。
2.Opus
http://opus-codec.org/
最近的一個新項目,基于IETF RFC 6716(2012.9)。由于比較新,教程很少。
3.G.726等一系列算法代碼
http://www.itu.int/rec/T-REC-G.191-201003-I/en
ITU官網上的工具包,包含了G.711和G.726算法。
6LowPAN
IPv6和IPv4的區別
一般來說,網絡協議就是一層層的組幀和解幀的過程。因此比較幀頭的差異,無疑是個建立感性認識的好方法。上圖就是IPv6和IPv4在幀頭方面的區別。
IPv6和6LowPAN
在Zigbee技術的體系結構中,Zigbee只是一個mac子層協議。其下的mac層采用的是802.15.4協議。除了Zigbee協議之外,802.15.4協議之上還支持其他的mac子層協議,其中最有名的是6LowPAN。
上圖是IPv6和6LowPAN的幀結構圖。其中上方是IPv6,下方是6LowPAN。由于IPv6幀的最大大小為1280字節,而6LowPAN只有127字節。因此6LowPAN通過特定的幀頭,將IPv6幀分包并重新組包。
從上圖可以看出,IPv6和6LowPAN的關系是十分密切的,兩者的轉換也比較容易。
這也是6LowPAN相較于Zigbee協議的一大優勢。由于CC2530硬件支持802.15.4協議,因此只要替換軟件協議棧就可以支持6LowPAN。目前支持是6LowPAN的軟件協議棧有Contiki和TinyOS。
6LowPAN的Linux支持
Linux Kernel主線在v3.2的時候加入了對6LowPAN的支持,而此前的v2.6.31已經集成了對802.15.4的支持。
事實上在內核代碼的/net文件夾下,可以找到ieee802154、6lowpan、mac802154等相關的文件夾。
問題來了,以CC2530這么差的配置,Linux內核無論怎么裁剪,都不可能運行起來,否則就沒有Contiki項目什么事了。那么內核中的6LowPAN是在什么樣的平臺上運行的呢?
首先明白一點,這些硬件相關的代碼肯定不在6lowpan文件夾下,因為6lowpan是個上層協議,并不直接和硬件打交道。
所以只有到802.15.4里尋找答案了。經仔細查看代碼發現ieee802154_ops這個結構保存了實際硬件操作的驅動接口。通過查找ieee802154_ops出現的地方,可以看到內核現在支持的硬件有at86rf230、cc2520、fakelb和mrf24j40。其中fakelb是個虛擬設備。
那么CC2520和CC2530是什么關系呢?
CC2520是802.15.4收發器,沒有MCU,不能跑軟件,只能作為上位機的外設存在。而CC2530是解決方案,不僅集成了收發器,還集成了MCU,可以獨立存在。
Contiki
http://contiki-os.org/
這是Contiki的官網。
http://blog.csdn.net/xukai871105
這是國內某牛人的blog。
https://github.com/xukai871105/contiki_cc2530_iar/
這是該牛人將Contiki移植到IAR下的源代碼。
CoAP & MQTT
CoAP(Constrained Application Protocol)協議,是IETF針對物聯網提出的應用層協議。
參考:
http://blog.csdn.net/xukai871105/article/details/17734163
MQTT(MQ Telemetry Transport)是一個輕量級的machine-to-machine通信協議。適合于低帶寬、不可靠連接、CPU內存資源緊張的嵌入式設備,它有可能成為物聯網的重要協議。
官網:
http://mqtt.org/
無人機通信
無人機通信一般采用微波通信,微波是一種無線電波,它傳送的距離一般可達幾十公里。頻段一般是902-928MHZ,常見有MDSEL805, 一般都選用可靠的跳頻數字電臺來實現無線遙控。
無線圖像回傳技術采用COFDM調制方式,頻段一般為300MHZ,實現視頻高清圖像實時回傳到地面,比如NV301等。
IEEE 802
IEEE 802是一系列關于局域網和城域網的標準。
其中,最重要的有:
802.1 802系列協議的網絡層管理。
802.3 Ethernet
802.11 Wi-Fi
802.15.1 Bluetooth
802.15.4 Zigbee
802.16 WiMax
http://www.ieee802.org/
可以在這個網址下載相關的標準文件。
無線網狀網
Wireless mesh network(WMN),也叫wireless ad hoc network。
Ad Hoc源自于拉丁語,意思是“for this”引申為“for this purpose only”,即“為某種目的設置的,特別的”意思,即Ad hoc網絡是一種有特殊用途的網絡。IEEE802.11標準委員會采用了“Ad hoc網絡”一詞來描述這種特殊的自組織對等式多跳移動通信網絡
它具有以下特點:
無中心
Ad hoc網絡沒有嚴格的控制中心。所有結點的地位平等,即是一個對等式網絡。結點可以隨時加入和離開網絡。任何結點的故障不會影響整個網絡的運行,具有很強的抗毀性。
自組織
網絡的布設或展開無需依賴于任何預設的網絡設施。結點通過分層協議和分布式算法協調各自的行為,結點開機后就可以快速、自動地組成一個獨立的網絡。
多跳路由
當結點要與其覆蓋范圍之外的結點進行通信時,需要中間結點的多跳轉發。與固定網絡的多跳不同,Ad hoc網絡中的多跳路由是由普通的網絡結點完成的,而不是由專用的路由設備(如路由器)完成的。
動態拓撲
Ad hoc網絡是一個動態的網絡。網絡結點可以隨處移動,也可以隨時開機和關機,這些都會使網絡的拓撲結構隨時發生變化。 這些特點使得Ad hoc網絡在體系結構、網絡組織、協議設計等方面都與普通的蜂窩移動通信網絡和固定通信網絡有著顯著的區別。
無線網狀網可以基于802.11、802.15或802.16。具體到802.11就是Wi-Fi Mash。
Wi-Fi Mash
和普通Wi-Fi相比,Wi-Fi Mash主要增加了路由協議。而這一塊目前尚無標準,有70多個相互競爭的路由協議。其中主要有:
AODV (Ad hoc On-Demand Distance Vector)
B.A.T.M.A.N. (Better Approach To Mobile Adhoc Networking)
HWMP (Hybrid Wireless Mesh Protocol)
OLSR (Optimized Link State Routing protocol)
IEEE為了統一標準,提出了802.11s。目前該標準默認使用HWMP。
消息發送的類型
無線路由器方面的專業術語
Wifi設備的三種模式
通常情況下,兩個Wifi設備的連接方式如下所示:
Internet---設備A***設備B (---表示有線連接,***表示Wifi連接,下同。)
其中設備A的工作模式被稱作AP(Access Point),設備B的工作模式被稱作STA(Station)。
如果兩個Wifi設備是這樣連接的話:
Internet---設備A***設備B***設備C
這種情況下,設備B對于設備C來說是AP,但對于設備A來說,卻只是一個Client,因此這種模式又被稱為AP Client或者AP+STA。這種模式也稱作Wifi repeater。其實現原理有以下幾種:
1.兩個獨立的物理網卡,一個AP,一個STA。
2.一個物理網卡上虛擬兩個虛擬網卡,一個AP,一個STA。
這個類型又有兩個子類型:
1)有的廠家芯片支持模式共存。這時只要驅動支持即可。
參考文獻:
http://blog.csdn.net/xiaojsj111/article/details/30482001
2)芯片不支持的,只能采用分時復用的方式,支持模式共存,又稱softAP。
WIFI WPS
WPS分為PBC(BUTTON)和PIN兩種方式
PBC
按WPS按鈕實現WPS安全連接。
在AP中,在WPS設置中,設置為啟用。
按一下客戶端(無線網卡)上的WPS按鍵,搜索WPS網絡。
按一下AP上的WPS按鍵,WPS開始鏈接協商,片刻后WPS安全連接成功建立。
PIN
1.PIN(Internal Registra, 相對于AP而言):通過在路由器中輸入客戶端PIN碼來實現WPS安全連接。
在WPS設置中,把狀態設置為啟用。
打開客戶端WPS設置軟件,選擇在路由器中輸入PIN的方式連接,同時軟件上還會顯示客戶端當前的PIN碼。
打開路由器界面,在WPS模式里選擇PIN模式,然后輸入客戶端的PIN碼, 點添加新設備,一會兒后,WPS安全連接成功建立。
2.PIN(External Registra, 相對于AP而言):通過輸入AP的PIN碼實現WPS安全連接。
在AP中,在WPS設置中,設置為啟用。
記住AP的PIN碼,然后打開客戶端(無線網卡)WPS設置軟件,選擇以AP的PIN碼來進行連接。
輸入完PIN碼后,點下一步,一會兒后,WPS安全連接成功建立。
總結
以上是生活随笔為你收集整理的Zigbee音频, 6LowPAN, IEEE 802的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R, Groovy
- 下一篇: 机器学习(十九)——PageRank算法