国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

藍(lán)牙Mesh網(wǎng)關(guān)模塊系統(tǒng)設(shè)計(jì)

2022-08-31 21:48:10葉何陳國丞
電腦知識與技術(shù) 2022年17期
關(guān)鍵詞:物聯(lián)網(wǎng)

葉何 陳國丞

摘要:隨著藍(lán)牙技術(shù)引入了Mesh組網(wǎng)標(biāo)準(zhǔn),以及Bluetooth SIG逐步完善藍(lán)牙Mesh協(xié)議規(guī)范,再結(jié)合現(xiàn)存的低功耗藍(lán)牙存量市場,使得藍(lán)牙Mesh較其他短距離無線通信更容易被推廣?;贛TK7268和Nordic52840搭建了一個(gè)藍(lán)牙Mesh網(wǎng)關(guān)系統(tǒng),借助OpenWrt操作系統(tǒng)以及Nordic提供的PyACI腳本演示了系統(tǒng)的運(yùn)行過程,通過筆者實(shí)際測試,該系統(tǒng)運(yùn)行穩(wěn)定,可以滿足一般的Mesh應(yīng)用,如燈和開關(guān)組成的Mesh網(wǎng)絡(luò)。讀者在該系統(tǒng)架構(gòu)的基礎(chǔ)上可以進(jìn)一步拓展集成其他無線協(xié)議,如ZigBee、Thread等,使系統(tǒng)成為一個(gè)支持多協(xié)議的網(wǎng)關(guān)。

關(guān)鍵詞:物聯(lián)網(wǎng);智能網(wǎng)關(guān);BLE;藍(lán)牙Mesh

中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2022)17-0037-04

1引言

伴隨5G+AIoT技術(shù)的發(fā)展,各種物聯(lián)網(wǎng)相關(guān)產(chǎn)品呈爆發(fā)性增長趨勢,這促進(jìn)了多種無線通信技術(shù)的發(fā)展,如ZigBee、Z-Wave、Thread、Wi-Fi、BLE等,物聯(lián)網(wǎng)產(chǎn)品根據(jù)不同的場景需求應(yīng)用到了上述無線通信技術(shù),這些技術(shù)在多個(gè)方面表現(xiàn)各異,如協(xié)議、性能、可靠性、時(shí)延、成本以及覆蓋范圍等。實(shí)際應(yīng)用需要根據(jù)產(chǎn)品的服務(wù)屬性和應(yīng)用情景來選擇使用它們中的一種或多種組合。這些技術(shù)各有所長,其中BLE廣泛應(yīng)用于短距離通信,由于其簡單、低功耗、低成本等優(yōu)勢,在幾乎所有的智能手機(jī)、平板電腦、個(gè)人筆記本和其他消費(fèi)類電子都有用到BLE。得益于BLE的普及上,Bluetooth SIG在BLE的基礎(chǔ)上引入了Mesh網(wǎng)絡(luò)特性,并逐步制定了Bluetooth Mesh組網(wǎng)和協(xié)議標(biāo)準(zhǔn)[1]。通過Mesh組網(wǎng)的方法,分散部署的產(chǎn)品通過藍(lán)牙Mesh拓?fù)渚W(wǎng)狀技術(shù)實(shí)現(xiàn)多對多(Many-to-Many)通信,通信數(shù)據(jù)借助中繼節(jié)點(diǎn)轉(zhuǎn)發(fā),解決了端對端(End-to-End)通信距離不足的問題,突破了單個(gè)BLE低功耗藍(lán)牙節(jié)點(diǎn)無線電覆蓋范圍短的壁壘[2-3]。

藍(lán)牙Mesh在BLE低功耗藍(lán)牙的基礎(chǔ)上進(jìn)一步拓展了應(yīng)用空間,最典型的變化是將點(diǎn)對點(diǎn)星狀網(wǎng)絡(luò)升級為多對多的Mesh拓?fù)渚W(wǎng)絡(luò),使得網(wǎng)絡(luò)設(shè)備容載量、魯棒性以及通信距離得到極大的提升,點(diǎn)狀星形網(wǎng)絡(luò)依賴中心節(jié)點(diǎn),設(shè)備只能與中心節(jié)點(diǎn)直接通信,設(shè)備彼此之間無法直接通信,Mesh網(wǎng)絡(luò)則打破了此限制,設(shè)備間可以直接通信或通過中繼節(jié)點(diǎn)通信,因此Mesh網(wǎng)絡(luò)可以突破單個(gè)節(jié)點(diǎn)無線電覆蓋范圍的限制,消息通過中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)后讓網(wǎng)絡(luò)覆蓋范圍得到極大的延伸。

2藍(lán)牙Mesh網(wǎng)絡(luò)

2017年7月,Bluetooth SIG(藍(lán)牙技術(shù)聯(lián)盟)正式宣布藍(lán)牙技術(shù)開始支持Mesh網(wǎng)狀網(wǎng)絡(luò)。在Bluetooth Mesh網(wǎng)絡(luò)中,理論上最大支持32767個(gè)節(jié)點(diǎn)和127跳(Hop),節(jié)點(diǎn)之間沒有連接的概念,消息的收發(fā)主要通過BLE廣播和掃描實(shí)現(xiàn),網(wǎng)絡(luò)消息可以被相鄰節(jié)點(diǎn)中繼,因此通過一個(gè)節(jié)點(diǎn)就可以控制和管理整個(gè)Mesh網(wǎng)絡(luò)。藍(lán)牙Mesh采用管理型網(wǎng)絡(luò)泛洪的方式控制信息的傳輸,相較于ZigBee用的路由方式更加簡單,不需要創(chuàng)建和維護(hù)路由表、鄰居表等路徑信息,Mesh消息通過廣播的方式經(jīng)由多條路徑到達(dá)目標(biāo)節(jié)點(diǎn),可有效避免因單點(diǎn)故障帶來的通信不可靠問題[4]。藍(lán)牙Mesh節(jié)點(diǎn)有中繼、代理、好友和低功耗四種基本特性,同一個(gè)節(jié)點(diǎn)可使能其中的一種或多種特性,如圖1所示[5]。中繼節(jié)點(diǎn)主要將收到的消息再次轉(zhuǎn)發(fā)傳輸出去;代理節(jié)點(diǎn)(Proxy)可以和手機(jī)等智能設(shè)備建立GATT連接,同時(shí)可以接收Mesh網(wǎng)絡(luò)的消息,因此該類節(jié)點(diǎn)是普通BLE設(shè)備和Mesh網(wǎng)絡(luò)的通信橋梁;低功耗節(jié)點(diǎn)主要應(yīng)用于電池供電類設(shè)備,它們需要和好友節(jié)點(diǎn)配合使用,好友節(jié)點(diǎn)替低功耗節(jié)點(diǎn)緩存消息,低功耗節(jié)點(diǎn)為節(jié)省電能,大部分時(shí)間都關(guān)閉了射頻功能,其自身通過周期性喚醒的方式向好友節(jié)點(diǎn)請求網(wǎng)絡(luò)給自己的消息。為實(shí)現(xiàn)遠(yuǎn)程操控和配置管理,Mesh網(wǎng)絡(luò)一般有一個(gè)管理配置節(jié)點(diǎn)(Provisioner),它可以創(chuàng)建網(wǎng)絡(luò)并管理網(wǎng)絡(luò)中的其他節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)往往集成在藍(lán)牙Mesh網(wǎng)關(guān),Mesh網(wǎng)關(guān)可以通過多種方式訪問互聯(lián)網(wǎng),從而實(shí)現(xiàn)Mesh網(wǎng)絡(luò)數(shù)據(jù)上云并接受云端的控制。

3系統(tǒng)架構(gòu)

本系統(tǒng)采用Nordic52840運(yùn)行Mesh協(xié)議棧,其具備1MB Flash和256kB RAM,充當(dāng)Mesh網(wǎng)絡(luò)的啟動配置設(shè)備(Provisioner),Provisioner通過UART接口與外部控制器交互,完整的網(wǎng)關(guān)功能需搭配Nordic官方提供的PyACI(Python Application Control Interface)腳本使用。主控制采用MTK7628芯片,運(yùn)行OpenWrt操作系統(tǒng),系統(tǒng)的整體功能框圖如2所示。

4軟件設(shè)計(jì)

網(wǎng)關(guān)主控制器MTK7628運(yùn)行OpenWrt操作系統(tǒng),配置為Station模式通過Wi-Fi連接外部AP訪問互聯(lián)網(wǎng),網(wǎng)關(guān)的主體業(yè)務(wù)邏輯運(yùn)行在MTK7628上,如子設(shè)備管理、協(xié)議轉(zhuǎn)換和本地場景等。網(wǎng)關(guān)業(yè)務(wù)架構(gòu)如圖3所示,gateway_proxy為網(wǎng)關(guān)進(jìn)程,該進(jìn)程下包含了六個(gè)子線程,各線程單元處理自身相應(yīng)的業(yè)務(wù)功能,其分工如表1所示:

4.1協(xié)議結(jié)構(gòu)

藍(lán)牙通信主要涉及兩部分協(xié)議,Mesh協(xié)議和串口協(xié)議,以下內(nèi)容分別對其進(jìn)行一個(gè)簡要介紹。

1)Mesh協(xié)議

Mesh通信數(shù)據(jù)包本質(zhì)上屬于BLE廣播包,如圖4所示,BLE廣播包含31個(gè)字節(jié),廣播包有效數(shù)據(jù)部分由若干個(gè)廣播數(shù)據(jù)單元(AD Structure)構(gòu)成,一個(gè)廣播單元分為長度Len、類型Type(AD Type)和數(shù)據(jù)Data(AD Data)三部分。廣播數(shù)據(jù)中的AD Type標(biāo)示廣播段的含義(如設(shè)備名稱、UUID等),SIG聯(lián)盟統(tǒng)一規(guī)范了該字段的具體意義。當(dāng)前有三種類型用于Mesh數(shù)據(jù)包,分別為0x29(PB-ADV)、0x2A(Mesh Message)和0x2B(Mesh Beacon)[6],因此Mesh網(wǎng)絡(luò)的Network PDU部分最大占據(jù)29個(gè)字節(jié)。

2)串口協(xié)議

Provisioner通過串口Uart與主控MTK7628交互,圖5定義了串口協(xié)議基本格式 length-opcode-payload,主要分三部分:指令長度、操作碼和數(shù)據(jù)包內(nèi)容[7],其功能如表2所述。主控MCU和Provisioner之間的所有數(shù)據(jù)交互全部封裝成上述格式,其中數(shù)據(jù)域payload 主要分兩類:Command和Event。Mesh協(xié)議棧部分主要運(yùn)行在Provisioner,主控MCU如果需要操作Mesh網(wǎng)絡(luò),可以通過下發(fā)相應(yīng)的Command給Provisioner;協(xié)議?;蚓W(wǎng)絡(luò)有事件發(fā)生,Provisioner通過Event上報(bào)給主控。

4.2 子節(jié)點(diǎn)配網(wǎng)

藍(lán)牙Mesh設(shè)備配網(wǎng)過程又稱啟動配置(Provisioning),新設(shè)備New device需要通過啟動配置加入Mesh網(wǎng)絡(luò),從而成為Mesh網(wǎng)絡(luò)中的節(jié)點(diǎn)。新設(shè)備的啟動配置過程通過五個(gè)步驟完成[8]:

1)待配網(wǎng)設(shè)備發(fā)送Beacon信號(Beaconing);

2)啟動配置設(shè)備(Provisioner)發(fā)出配網(wǎng)邀請(Invitation);

3)交換公共密鑰(Exchanging public keys);

4)設(shè)備相互認(rèn)證(Authentication);

5)分發(fā)啟動配置數(shù)據(jù)(Distribution of Provisioning data)。

圖6為設(shè)備配網(wǎng)過程示意圖,啟動配置過程總共包含了10種類型的Provisioning PDU,如表3所示,實(shí)際配置過程中使用到的數(shù)據(jù)包類型根據(jù)不同的場景有所差異。

首先,待配網(wǎng)設(shè)備New Device會主動廣播Unprovisioned Device Beacon信號,啟動配置端Provisioner向待配網(wǎng)設(shè)備發(fā)出邀請(Invitation),在此過程中,如果周圍有多個(gè)待配網(wǎng)設(shè)備,用戶可以通過手機(jī)、平板或網(wǎng)關(guān)的UI界面選擇或指定特定設(shè)備進(jìn)行配置。新設(shè)備收到Provisioner的邀請后,回應(yīng)自身具備的能力(Capabilities),Provisioner會根據(jù)新設(shè)備的能力決定后續(xù)采取哪些動作完成剩余階段的一系列操作,如公鑰交互方式、認(rèn)證方法等。為方便闡述,本文采用No OOB(Out-Of-Band)的方式交換Public Key,Provisioner通過Provisioning Start告訴新設(shè)備不使用OOB方式的公鑰,實(shí)際的Public Key由New device和Provisioner各自生成,再通過Provisioning Public Key發(fā)送給對方,雙方獲得對端設(shè)備公鑰后進(jìn)入到認(rèn)證階段。在認(rèn)證環(huán)節(jié)中,雙方各自產(chǎn)生一個(gè)隨機(jī)數(shù),在將到現(xiàn)階段彼此交互過的所有PDU連同剛生成的隨機(jī)數(shù)進(jìn)行加密后的哈希值通過Provisioning Confirmation發(fā)給對端,接下來Provisioner通過Provisioning Random將剛產(chǎn)生的隨機(jī)數(shù)發(fā)給New Device,New Device使用此隨機(jī)數(shù)連同此前已交互的PDU加密計(jì)算哈希值,在與Provisioner發(fā)送過來的哈希值進(jìn)行對比,確認(rèn)無誤后,New Device以同樣的方式將其產(chǎn)生的隨機(jī)數(shù)發(fā)送給Provisioner,Provisioner確認(rèn)無誤后則雙方完成對彼此的認(rèn)證,認(rèn)證通過后,Provisioner通過Provisioning Data分發(fā)啟動配置數(shù)據(jù)。New Device一旦成功獲得配置數(shù)據(jù)(Composition data)則正式成為Mesh網(wǎng)絡(luò)的節(jié)點(diǎn)Node,并通過Provisioning complete告訴Provisioner完成配網(wǎng)過程。上述任何環(huán)節(jié)中,如果New Device出錯(cuò)或等待數(shù)據(jù)包超時(shí),則可以通過Provisioning failed結(jié)束配網(wǎng)過程,如果New Device配網(wǎng)失敗,它應(yīng)該清除已接收到的所有數(shù)據(jù),配網(wǎng)交互過程如果被中斷,Provisioner必須從頭開始Provisioning新設(shè)備。新設(shè)備的配網(wǎng)流程如圖7所示。

5 實(shí)驗(yàn)操作

為方便測試,我們可以先在電腦端將Provisioner基本功能調(diào)試好。首先搭建Python開發(fā)環(huán)境,準(zhǔn)備好實(shí)驗(yàn)所需工具。開發(fā)版預(yù)留有Uart轉(zhuǎn)USB接口,將Provisioner連接到電腦后可以通過串口助手和其進(jìn)行交互,Nordic的串口協(xié)議提供了完備的協(xié)議棧操作接口,我們可以根據(jù)應(yīng)用具體功能需求進(jìn)行調(diào)用。

5.1 PyACI操作

本實(shí)驗(yàn)使用多塊Nordic官方開發(fā)板nrf52840-DK,其中一塊充當(dāng)Provisioner,其余的充當(dāng)Mesh節(jié)點(diǎn), Nordic提供了PyACI(Python Application Control Interface)的方式和Provisioner進(jìn)行交互,打開Powershell窗口,執(zhí)行interactive_pyaci.py腳本,此腳本主要用于操作Mesh模組,通過調(diào)用SDK中的內(nèi)置API函數(shù)實(shí)現(xiàn)網(wǎng)絡(luò)相關(guān)操作。通過以下實(shí)驗(yàn)步驟可以實(shí)現(xiàn)將一個(gè)新設(shè)備配置到Mesh網(wǎng)絡(luò),新設(shè)備進(jìn)入網(wǎng)絡(luò)后將取得Mesh網(wǎng)絡(luò)的Network Key和App Key,此時(shí)用戶可以對設(shè)備支持的Model進(jìn)行控制。

#打開Provisioner所在的端口

1)python.exe .\interactive_pyaci.py -d COM16 -l 5

#選擇數(shù)據(jù)庫文件

2) db = MeshDB("database/example_database.json")

#創(chuàng)建Provisioner實(shí)例

3)p = Provisioner(device, db)

#掃描待配網(wǎng)的新設(shè)備

4)p.scan_start()

#對新設(shè)備進(jìn)行啟動配置

5) p.provision(name="Light Node")

#創(chuàng)建配置客戶端

6)cc = ConfigurationClient(db)

7)device.model_add(cc)

#選擇需要操作的設(shè)備

8)cc.publish_set(12, 1)

#獲取設(shè)備配置信息

9)cc.composition_data_get()

#添加APP Key

10)cc.appkey_add(0)

#將APP KEY綁定到Model

11)cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))

#創(chuàng)建On-Off客戶端

12)gc = GenericOnOffClient()

13)device.model_add(gc)

#選擇需要控制的設(shè)備

14) gc.publish_set(0, 0)

#下發(fā)On指令

15)gc.set(True)

#下發(fā)Off指令

16)gc.set(False)

網(wǎng)關(guān)在第一次創(chuàng)建Mesh網(wǎng)絡(luò)的時(shí)候會隨機(jī)生成Network Key和若干個(gè)App Key,并將其同步至Provisioner,配網(wǎng)過程中Provisioner會生成設(shè)備的Device Key,這個(gè)三個(gè)Key奠定了Mesh網(wǎng)絡(luò)通信安全的基石,由于Mesh網(wǎng)絡(luò)通信數(shù)據(jù)包長度受限,如果每次都傳輸這些Key將浪費(fèi)大量資源,因此這些Key都有其對應(yīng)的索引Index,子節(jié)點(diǎn)第一次獲得某個(gè)Key時(shí)也同步得到這個(gè)Key對應(yīng)的索引,因此后續(xù)需要用到某個(gè)Key時(shí),則會使用其相應(yīng)的索引值代替。所有網(wǎng)絡(luò)和子節(jié)點(diǎn)相關(guān)的信息(包括各種Key、UUID、設(shè)備地址等)都需要網(wǎng)關(guān)保存到數(shù)據(jù)庫中。數(shù)據(jù)庫保存了Mesh網(wǎng)絡(luò)的所有信息,因此如果當(dāng)前網(wǎng)關(guān)壞了或者用戶購買了新的網(wǎng)關(guān),新網(wǎng)關(guān)需要接管現(xiàn)有網(wǎng)絡(luò),新網(wǎng)關(guān)僅需同步拿到Mesh網(wǎng)絡(luò)的數(shù)據(jù)庫數(shù)據(jù)就可以完成替換了。

現(xiàn)今智能手機(jī)或平板一般都搭載有藍(lán)牙功能,藍(lán)牙Mesh網(wǎng)絡(luò)提供了代理Proxy角色,可以讓支持低功耗藍(lán)牙的傳統(tǒng)設(shè)備通過和代理角色建立GATT連接,然后接入Mesh網(wǎng)絡(luò),從而讓不具備藍(lán)牙Mesh協(xié)議棧的藍(lán)牙低功耗設(shè)備可以與Mesh網(wǎng)絡(luò)其他節(jié)點(diǎn)進(jìn)行交互。借助于藍(lán)牙功能的普及性,我們可以在手機(jī)或平板等智能設(shè)備上開發(fā)相應(yīng)的App,讓它們成為一個(gè)啟動配置設(shè)備Provisioner。

6結(jié)束語

本文提供了一種快速搭建藍(lán)牙Mesh網(wǎng)關(guān)的方法,通過開源的OpenWrt系統(tǒng)可以免費(fèi)獲取很多第三方工具庫(如mbedTLS、Mosquitto等),相較于FreeRTOS等操作系統(tǒng)而言,省去了移植、調(diào)試成本。在編譯OpenWrt的時(shí)候需要使能Python相關(guān)的支持,這樣可以使用Nordic提供的PyACI腳本應(yīng)用,開發(fā)者可根據(jù)該腳本的調(diào)用執(zhí)行邏輯,將需要的具體功能集成到自己的網(wǎng)關(guān)模塊。藍(lán)牙Mesh是BLE低功耗藍(lán)牙技術(shù)的一個(gè)延伸應(yīng)用,隨著藍(lán)牙Mesh協(xié)議在各領(lǐng)域的不斷完善,設(shè)備之間的互通性將越來越強(qiáng),外加人們?nèi)粘I畹闹悄茉O(shè)備基本搭載有藍(lán)牙功能,使得藍(lán)牙Mesh擁有ZigBee、Thread等技術(shù)無法比擬的先天優(yōu)勢,也使其更加容易被物聯(lián)網(wǎng)應(yīng)用整合。藍(lán)牙Mesh子設(shè)備分布式部署組網(wǎng)后,其中的任意節(jié)點(diǎn)連接到本網(wǎng)關(guān)即可實(shí)現(xiàn)數(shù)據(jù)上云和用戶遠(yuǎn)程操控,經(jīng)過筆者的實(shí)際測試使用,本系統(tǒng)運(yùn)行穩(wěn)定,可滿足一般的藍(lán)牙Mesh應(yīng)用場景。

參考文獻(xiàn):

[1] Hernandez-Solana A,Perez-Diaz-De-Cerio D,Garcia-Lozano M,et al.Bluetooth mesh analysis,issues,and challenges[J].IEEEAccess,2020,8:53784-53800.

[2] Baert M,Rossey J,Shahid A,et al.The bluetooth mesh standard:an overview and experimental evaluation[J].Sensors,2018,18(8):2409.

[3] Tran Q T,Tran D D,DoanD,et al.An approach of BLE mesh network for smart home application[C]//2020 International Conference on Advanced Computing and Applications (ACOMP).IEEE,2020:170-174.

[4] Wan Q,Liu J H.Smart-home architecture based on bluetooth mesh technology[C]//IOP Conference Series: Materials Science and Engineering. IOP Publishing,2018,322(7):072004.

[5] Mesh Profile Bluetooth Specification,Revision:v1.0.1[S].2019.

[6] Bluetooth SIG Assigned Numbers[EB/OL].[2021-10-20].http://www.bluetooth.com/specifications/assigned-numbers.

[7] nRF5 SDK for Mesh v5.0.0.[EB/OL].[2021-10-20].https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v5.0.0/md_doc_user_guide_modules_serial.html.

[8] Bansal K.Embedded provisioner for BLE mesh network[C]//2020 IEEE International Conference for Innovation in Technology.IEEE,2020:1-5.

收稿日期:2022-03-16

基金項(xiàng)目:佛山市順德區(qū)核心技術(shù)攻關(guān)項(xiàng)目:AI語音+Wi-Fi6 IoT芯片模組開發(fā)與產(chǎn)業(yè)化應(yīng)用(項(xiàng)目編號:2130218002519)

作者簡介:葉何(1991—),男,湖南岳陽人,碩士,主要從事嵌入式開發(fā)和物聯(lián)網(wǎng)應(yīng)用相關(guān)工作;陳國丞(1972—),男,臺灣桃園人,博士,主要研究方向?yàn)闊o線通訊。

猜你喜歡
物聯(lián)網(wǎng)
基于物聯(lián)網(wǎng)的無線測溫模塊設(shè)計(jì)
基于物聯(lián)網(wǎng)ZigBee技術(shù)的智能家居監(jiān)控系統(tǒng) 
物聯(lián)網(wǎng)監(jiān)測技術(shù)在G15W112邊坡的應(yīng)用
基于物聯(lián)網(wǎng)的健康管理服務(wù)模式
基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用
基于高職院校物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)的思考分析
如何在高校架設(shè)學(xué)生洗衣服務(wù)系統(tǒng)
科技視界(2016年22期)2016-10-18 17:23:30
基于無線組網(wǎng)的智慧公交站點(diǎn)信息系統(tǒng)研究與實(shí)踐
基于LABVIEW的溫室管理系統(tǒng)的研究與設(shè)計(jì)
論智能油田的發(fā)展趨勢及必要性
临安市| 扎兰屯市| 柞水县| 闵行区| 禹城市| 黔江区| 忻城县| 双辽市| 攀枝花市| 辉南县| 济阳县| 迭部县| 宁陕县| 郑州市| 宁阳县| 靖州| 五寨县| 农安县| 昆山市| 湖口县| 如东县| 阜平县| 西丰县| 宣武区| 申扎县| 上思县| 青州市| 同仁县| 三门峡市| 光泽县| 万州区| 翼城县| 庆云县| 尼木县| 太仆寺旗| 正阳县| 平安县| 灵武市| 游戏| 日喀则市| 平远县|