吳薇薇,李清平
(浙江育英職業技術學院信息技術學院,杭州 310018)
隨著通信技術、計算機技術和電子技術的不斷發展,移動通信正在從人與人(Human to Human,H2H)向人與物(Human to Machine,H2M),以及物與物(Machine to Machine,M2M)通信的方向發展,萬物互聯成為移動通信發展的必然趨勢,物聯網(Internet of Things,IoT)正是在此背景下應運而生,其被認為是繼計算機、互聯網之后,世界信息產業的第三次浪潮,應用開發前景廣闊,產業帶動能力強[1]。思科(Cisco)公司預測,未來十年,物聯網將為全球公司和行業創造價值高達14.4 萬億美元的機遇,對整個社會所帶來的影響將是互聯網的5~10倍[2]。歐美國家已紛紛將發展物聯網納入整體信息化戰略,我國也已將物聯網明確納入國家中長期科學和技術發展規劃(2006—2020 年)及2050年國家產業路線圖。
物聯網作為一項前沿技術,已經逐步融入生產生活的許多應用場景,廣泛應用在交通、物流、環保、電力等領域,人們在潛移默化中感受到物聯網的影響。整個物聯網應用市場的細化特點也日益顯現,家居的智能化就是利用物聯網技術將獨立家居設備進行聯網互通,實現設備間的資源和信息共享。
由于IPv4 網絡地址數量匱乏、安全性等問題,制約物聯網、5G 等新業務的開展,IPv6 網絡將成為互聯網新業務發展與運用的強有力支撐[3]。但囿于Internet 的規模以及目前網絡中數量龐大的IPv4 用戶和設備,IPv4 到IPv6 的過渡不可能一次性實現,而且目前許多企業和用戶的日常工作越來越依賴于Internet,所以IPv4 到IPv6的過渡必然是一個循序漸進的過程[4]。IPv4到IPv6 的過渡技術中,雙棧技術是在IPv6 結點中嵌入IPv4 協議棧,無需構造隧道,既不影響現有IPv4 業務,又可以滿足IPv6 的新需求,實現相對簡單[5]。
IPv4/IPv6 雙棧物聯網智能家居系統仿真平臺采用思科公司開發的Packet Tracer軟件,該軟件支持多種服務器,功能強大,用戶可以直接利用虛擬環境搭建網絡拓撲。7.1 版本操作界面簡潔,提供的物聯網模塊包括家居(Home)、智慧城市(Smart City)、工業(Industrial)及電網(Power Grid),每個模塊下面又包含若干IoT 設備[6],如本實驗用到的Furnace(加溫器)、Thermostat(溫度調節器)、Humidity Monitor(濕度監測儀)、Fire Sprinkler(噴灑滅火器)、Smoke Detector(煙霧探測器)、Water Level Monitor(水位監測儀)等,基本可以滿足一個物聯網智能家居的系統設計需求。
IPv4/IPv6 雙棧物聯網智能家居系統由室內和室外兩部分組成,如圖1所示。室內部分包括Fire Sprinkler(噴灑滅火器)、Fan(風扇)、Window(窗)、Door(門)、Smart LED(智能LED)、Light(臺燈)、Humidifier(加濕器)、Humidity Monitor(濕度監測儀)、Thermostat(溫度調節器)、Furnace(加溫器),以IoT1~IoT10 予以標識,通過室內PC 進行調控。室外部分包括Garage Door(車庫門)、Home Speaker(音響設備)、Lawn Sprinkler(草坪噴灌器)、Water Level Monitor(水位監測儀)、Smoke Detector(煙霧探測器),以IoT11~IoT15 予以標識,通過智能手機進行調控。所有物聯網設備以及調控設備都連接到中心交換機,并通過服務器(Server)獲取IP地址并進行注冊。智能手機通過無線路由器接入中心交換機,設置兩者的服務集標識符(service set identifier,SSID)均為“SmartHome”,認證方式(Authentication)采用AES 加密算法的WPA2-PSK。
海量的地址是移動互聯網、物聯網、5G 等應用深入發展的基礎,128bit的IPv6成為這些新興領域的剛需,據預測未來5 年全球將有500 億物聯網終端接入,到2025 年我國在IPv6 網絡規模、用戶規模和流量規模三個關鍵性指標方面將位居世界前列[7]。
受到終端及運營商網絡IPv6 能力的限制,互聯網業務的IPv6 改造不可能一蹴而就,因此IPv4 和IPv6 的并存將會持續相當長時間,數據中心(服務器)作為應用基礎設施的重要部分,需要同時支撐IPv4業務和IPv6業務。

圖1 IPv4/IPv6雙棧物聯網智能家居系統仿真拓撲
動態主機配置協議(dynamic host configuration protocol,DHCP),使用UDP 工作的局域網(LAN)網絡協議,給內部網絡或網絡服務供應商自動分配IP 地址,或給用戶或內部網絡管理員作為對所有計算機進行統一管理的手段[8]。IPv6 動態主機配置協議(dynamic host configuration protocol for IPv6,DHCPv6)是運行在客戶端和服務端之間的協議,與IPv4 中的DHCP 一樣,所有的協議報文都基于UDP 協議,但由于在IPv6中沒有廣播報文,因此DHCPv6使用組播報文[9]。
服務器通過手動方式配置IPv4/IPv6 地址,室內外所有的IoT 設備、智能手機、室內PC 通過服務器自動獲取IPv4/IPv6地址,如表1所示。

表1 服務器、IoT設備、智能手機、室內PC的IPv4/IPv6地址分配
(1)按照表1 的要求完成服務器的IPv4/IPv6地址靜態配置。
(2)在服務器“services” 菜單的“DHCP”選項中配置DHCP動態池,命名為“toipv4”,起始IPv4 地址為192.168.1.1, 子網掩碼為255.255.255.0,最大可分配數目為200。
(3)在“DHCPv6”選項中配置DHCPv6 動態池,命名為“toIPv6IoT”,IPv6前綴為5001:1::1/64,有效生存周期(valid lifetime)為2592000秒,推薦生存周期(preferred lifetime)為604800秒。在推薦生存周期結束之前,5001:1::1/64 可以訪問其他設備或者被訪問;如果推薦生存周期到了,而有效生存周期沒到,那么該地址只可以被訪問,不能主動訪問別人;當有效生存周期也到了,該地址則失效。
(4)在“IoT”選項中點擊“on”單選框,開啟服務器的注冊功能。
智能手機和室內PC 在動態獲取IP 地址后,可以通過IP 地址、域名和IoT 監視器(IoT Monitor)三種方法在服務器中分別進行IPv4/IPv6 注冊,這里以智能手機為例,通過Web 瀏覽器以IPv6 地址登錄服務器設置注冊賬號和密碼為“IPv6Test”,如圖2和圖3所示。

圖2 智能手機在服務器中注冊IPv6賬號和密碼

圖3 服務器中注冊成功的IPv6賬號和密碼
IPv4/IPv6 雙棧物聯網智能家居系統的主要IoT 調控設備包括室內的溫度調節器、濕度監測儀以及室外的水位監測儀、煙霧探測器,可以采用JavaScript 語言和Python 語言對其功能進行編程,以溫度調節器Thermostat 為例,主要Python語言代碼及解析如下:
……
#設置Thermostat溫度的初始值
autoCoolTemp=20
autoHeatTemp=19
……
#設置Thermostat的四種狀態
state=0 #0 off,1 cooling,2 heating,3 auto
STATE_NAMES=[“OFF”,“COOL”,“HEAT”,“AUTO”]
……
#設置IoT的客戶端
IoTClient.setup({
“type”:“Thermostat”,
“states”:[{
“name”:“Status”,
“type”:“options”,
“options”:{
0:“Off”,
1:“Cooling”,
2:“Heating”,
3:“Auto”
},
“controllable”:True
},{
“name”:“Temperature”,
“type”:“number”,
“unit”:“°;C”,
“imperialUnit”:“°;F”,
#設置華氏溫度和攝氏溫度之間的換算
“toImperialConversion”:“x*1.8+32”,
“toMetricConversion”:“(x-32)/1.8”,
“decimalDigits”:1
},
……
#設置環境更新的延遲時間,這里為1000毫秒
def loop():
global temperature
temperature = Environment.get(“Ambient Temperature”)
updateEnvironment()
measurementSystemChangeEvent()
sendReport()
delay(1000)
……
#設置環境更新的條件
def updateEnvironment():
global autoMode
autoCoolTemp=float(getDeviceProperty(getName(),“auto cool temp”))
autoHeatTemp=float(getDeviceProperty(getName(),“auto heat temp”))
digitalWrite(HEATER_PIN,LOW)
digitalWrite(COOLER_PIN,LOW)
#判斷環境的四種狀態
if state==0:
digitalWrite(HEATER_PIN,LOW)
digitalWrite(COOLER_PIN,LOW)
elif state==1:
digitalWrite(COOLER_PIN,HIGH)
elif state==2:
digitalWrite(HEATER_PIN,HIGH)
elif state==3:
if temperature>=autoCoolTemp:
digitalWrite(COOLER_PIN,HIGH)
elif temperature digitalWrite(HEATER_PIN,HIGH) …… 3.4.1 智能家居室內主要調控溫度和濕度 通過室內PC 登錄服務器,在“Condition”菜單中設置室內IoT 設備的控制條件為:①當Thermostat溫度≥26.0℃時,風扇低速運轉,門窗開啟,加溫器關閉;②當Thermostat溫度≥30.0℃時,風扇轉為高速運轉,噴灑滅火器開始噴水;③當Thermostat 溫度≤20.0℃時,風扇停止運轉,門窗關閉,加溫器啟動,臺燈打開;④按照我國室內空氣標準,夏季室內濕度以40%~80%為宜,冬季應控制在30%~60%[10]。這里以夏季室內濕度標準為參考,當Humidity Monitor 監測濕度≤40%時,加濕器開啟,噴灑滅火器噴水;⑤當Humidity Monitor 監測濕度≥80%時,風扇高速運轉,門窗開啟,如圖4所示。 圖4 智能家居室內控制條件設置 3.4.2 室外主要監控車庫的煙霧情況以及草坪的水位狀況 通過智能手機以IPv6 地址登錄服務器,設置控制條件為:①環境中的消防煙感達到5%~15%OBS/M 時便會報警[11]。當Smoke Detector 檢測到車庫煙霧濃度≥15時,車庫門打開;②草坪濕度用土壤含水率進行分析,含水量在12%~15%就會產生缺水現象,植被需要灌溉澆水[12],Water Level Monitor 以英寸/厘米為測量單位,當Water Level Monitor Lever<20.0 cm 時草坪噴灌器開始噴水,否則停止噴水,如圖5所示。 圖5 智能家居室外控制條件設置 經過測試,智能手機、室內PC 以及所有IoT設備均能動態地獲得IPv4/IPv6地址,以智能手機為例來說明,自動獲取的IPv4 地址為192.168.1.2, DNS 服務器的 IP 地址為192.168.1.100;自動獲取的IPv6 地址為5001:1::202:4AFF:FE6B:B98E,IPv6 DNS 服務器地址為5001:1::1,如圖6所示。 圖6 智能手機自動獲取的IPv4/IPv6地址 室內PC、智能手機以及所有IoT 設備之間能相互通過IPv4/IPv6地址通信,以室內PC 分別ping 服務器的IPv4/IPv6 地址為例進行說明,如圖7所示。 圖7 室內PC分別ping服務器的IPv4/IPv6地址結果 IoT 設備通過自帶的“Remote Server”選項,輸入服務器IP 地址以及注冊的賬號、密碼進行遠程注冊,以IoT1_Fire Sprinkler 設備為例予以說明,如圖8 所示。IoT 設備注冊結果以室內設備為例進行說明,如圖9所示。 圖8 IoT1遠程注冊服務器 圖9 室內IoT設備在服務器的注冊結果 IPv4/IPv6雙棧物聯網智能家居系統的IoT設備在服務器注冊后,有條不紊地按照預先設定的條件運轉,達到了智能調控的目的,提高了家居環境的舒適度,通過遠程或室內操控物聯網設備,讓生活更加便捷。 智能家居系統作為物聯網時代的代表項目,成為行業的關注焦點。智能家居最基本的目標是給人們提供一個溫馨舒適、安全節能、方便高效的生活環境,自動化和信息化、設備互聯、安全可靠、組網靈活且擴展性能好、智能化程度高及操作簡便是物聯網智能家居設計的五個基本原則。本設計根據智能家居功能的需求,實現以下基本的功能:智能家電控制、智能燈光控制、智能溫濕控制、智能安全報警等,同時為了適應未來技術和應用服務的發展趨勢,以IPv6 過渡技術的IPv4/IPv6 雙棧協議應用于物聯網智能家居系統,在仿真平臺上提供了一個應用案例。3.4 設置IoT設備的控制條件


4 結果驗證
4.1 動態IPv4/IPv6地址的獲取情況

4.2 網絡主機及設備之間的通信情況

4.3 IoT設備在服務器的注冊結果


4.4 IPv4/IPv6雙棧物聯網智能家居系統整體運行的情況
5 結語