帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
具物聯網功能之量測插座
第十四屆盛群盃HOLTEK MCU創意大賽複賽報告

【作者: 林華川、簡劉全】   2019年12月26日 星期四

瀏覽人次:【8588】

本作品為設計一個具有物聯網功能及數據監控與量測的插座,透過電力線傳輸(Power-line communication)技術並且利用居家現成的電力線網路形成居家電力線區域網路(LAN),解決家中網路佈線及無線網路訊號強度的問題。我們透過設計一個電力線網路控制伺服器去控制電力線網路上的交通,進而與各個插座終端進行控制與交換資料,並且設計一個網路雲端伺服器及易於使用的人機介面之使用者APP與電力線網路伺服器作為溝通,讓使用者可以簡單的透過APP來控制與監控家中各個插座所在的環境資訊及用電資訊,來達到智慧家庭(smart home)的應用。


智慧家庭(smart home),是家庭系統的整合,家電結合了網路系統、家居照明控制、家庭數據監控等等。


本作品利用盛群HT66F2390微控制器設計一個具有物聯網功能及數據監控與量測的插座,透過電力線傳輸技術(Power-line communication)將家庭中各個插座連接形成一個區域網路(LAN),並將各個插座的資訊透過電力線網路控制伺服器彙整,並且統一透過網路收發,使用者只須透過APP則可以取得家中各個插座的資訊與控制。


利用家中現成的電力線網路可以做到電源供電、訊息傳輸的功能,可以省下布線的空間與費用,也能解決無線網路強度的問題,使用者只須將家電插在智慧插座上,則可以讓所有的家電智慧自動化與雲端化,來達到智慧家庭(smart home)的應用。


工作原理

工作方法

利用電力線傳輸技術,將各個插座端點的資訊透過電力線將訊息傳送至電力線網路控制伺服器,並且統一由電力線網路控制器進行網路的收發訊息與控制,使用者只須利用APP與電力線網路控制伺服器進行控制,則可以得到家中各個插座端點的訊息與控制權。


作品功能

本作品主要功能為,數據量測、插座智慧化、APP遠端控制及數據監控、具電力線傳輸技術,四大特色。


數據量測


插座端點具有量測溫度、濕度、可燃性氣體、用電量之資訊的功能,並同時將數據透過電力線網路上傳至網路。


插座智慧化


插座端點具有數據的監控及判斷,並擁有自動開關插座的功能。


APP遠端控制及數據監控


作品支援使用者可以透過APP遠端監控各


個插座的環境資訊,也可透過APP進行設定,例如定時開關插座、電流過載數值、推播設定等。


具電力線傳輸技術


作品透過電力線傳輸技術將資訊上傳至電力線網路[2,3],使用方便,只需將本作品之插座插上居家電力插座後即可連上網路,解決家中網路佈線及無線網路訊號強度的問題。


MCU主要核心功能

本作品之插座終端與電力線網路控制伺服器皆使用HT66F2390作為主要控制器[1],使用了程式記憶體(Program Memory)、特殊功能暫存器(Special Function Register)、中斷控制電路(Interrupt)、看門狗計時器(Watchdog Timer)、計時模組(Standard Type TM)、輸入/輸出(Input/Output)、通用非同步收發傳輸器(UART)、類比數位轉換電路(Analog to Digital Converter)、電子抹除式可複寫唯讀記憶體(E EPROM),共有9種功能。


作品結構

系統架構

本作品利用MCU設計一個具有物連網傳輸的智慧插座,插座具有監控及量測插座周遭環境的溫溼度、可燃性氣體及電源使用量的功能,並結合電力線傳輸技術將家中各個插座端的資訊透過電力線形成一個居家電力線網路,作品分別為三個主要部分,分別為插座終端、電力線網路控制伺服器、雲端伺服器及使用者APP三個部分,系統架構如圖一所示。



圖一 : 系統架構
圖一 : 系統架構

插座終端


插座終端為本作品的插座本體,利用HT66F2390 MCU為主要控制器,插座終端為DHT11溫濕度感測器、MQ-9氣體感測器、ACS712電流感測器、CJ-06電力線通訊收發模組而組成的系統,插座擁有量測溫溼度、可燃性氣體、電流大小數據之功能,同時也擁有監控數據超標之警示,自動切斷電源等功能,而在數據與狀態收集後會透過電力線通訊收發器將數據上傳至電力線網路,插座終端系統架構如圖二所示。



圖二 : 插座終端系統架構圖
圖二 : 插座終端系統架構圖

電力線網路控制伺服器


電力線網路控制伺服器為了因應電力線網網路在同一個載波頻率上只能進行雙向半雙工的通訊,因此設計這個電力線網路控制伺服器去對電力線網路上的資訊做交通控制,使電力線網路上的資訊可以正常通訊,同時結合ESP8266 Wi-Fi模組建立與雲端伺服器作為對外的網路連線,讓使用者可以透過APP與雲端伺服器連線,進而建立與電力線網路上各個設備的訊息溝通,達到遠端監控及控制的功能,系統如圖三所示。



圖三 : 電力線網路控制伺服器架構圖
圖三 : 電力線網路控制伺服器架構圖

雲端伺服器及使用者APP


雲端伺服器是由MYSQL資料庫、網路控制與資料伺服器及mosquitto MQTT broker所組成,負責接收來自電力線網路控制伺服器的資訊,並將訊息解讀後儲存於資料庫中,同時將訊息轉發至使用者APP,使用者則可以透過APP得知各個插座終端的訊息並且下達控制指令,雲端伺服器在接收APP訊息後會將指令發送至電力線網路控制伺服器,並且透過電力線網路控制伺服器將訊息傳送至各個插座終端,雲端伺服器架構圖如圖四所示。



圖四 : 雲端伺服器架構圖
圖四 : 雲端伺服器架構圖

ESP8266 WI-FI模組

ESP8266是一款超低功耗的UART-Wi-Fi傳輸模組,擁有業內極富競爭力的封裝大小和超低能耗技術,專為移動裝置和物聯網應用設計,可將用戶的物理裝置連線到Wi-Fi無線網路上,進行互聯網或區域網路通訊,實現聯網功能。在本次作品中利用ESP8266 Wi-Fi模組與MQTT伺服器建立連線,來達到MCU與網路溝通的功能。


DHT11溫溼度感測器

DHT11為一個溫溼度感測模組,利用DHT11


內部數位類比轉換器轉換為數位訊號後傳送至HT66F2390 MCU進行溫溼度數值的讀取,一次完整的資料為40bit,資料格式為8bit濕度整數資料 + 8bit濕度小數資料 + 8bit溫度整數資料 + 8bit溫度小數資料 + 8bit較驗碼,MCU發送起始訊號後,DHT11發送回應資料,送出40bit之資料,通訊流程如圖五所示。



圖五 :  DHT11通訊流程圖[4]
圖五 : DHT11通訊流程圖[4]

MQ-9氣體感測器

MQ-9為一個氣體感測器,他擁有檢測一氧化碳,甲烷與丙烷之有毒可燃氣體,當檢測到氣體濃度的不同則會輸出相對應的類比電壓,偵測範圍一氧化碳為10~1000ppm,甲烷與丙烷為100~1000ppm,我們利用MCU之A/D轉換獲取相對應的氣體濃度。


ACS712電流感測器

ACS712是一個線性的霍爾感測器,用來偵測電流,ACS712霍爾感測IC透過感知電流流過銅導體所產生的磁場,並將數據轉換成類比訊號。本作品利用型號ACS712ELCTR-05B-T的感測器,並可以測量±5A之AC與DC電流,每1A之輸出電壓變化為185mV,無檢測電流通過時,輸出電壓=VCC/2,輸出特性如圖六所示。



圖六 : ACS712ELCTR-05B-T輸出特性表
圖六 : ACS712ELCTR-05B-T輸出特性表

CJ-06電力線傳輸通訊模組

CJ-06是一款由才智科技所研發的電力線傳輸通訊模組,可以使用於250V以下50Hz/60Hz中進行雙向半雙工通訊,模組擁有提供9600bps的UART通訊界面,內建CRC-16的錯誤檢測可以去去除錯誤封包,CJ-06使用Quadrature phase-shift keying調變,在惡劣環境下仍能保有優異的傳輸性能,CJ-06的相關指標如圖七所示。



圖七 :  CJ-06相關技術指標
圖七 : CJ-06相關技術指標

Mosquitto MQTT伺服器

Mosquitto是一個開放原始碼MQTT伺服 器。MQTT是一種 machine-to-machine(M2M)頻寬很低的通訊協定,可以讓各種設備互相溝通,於本作品中Mosuitto MQTT將擔任MCU,網路伺服器及使用者APP主要溝通的媒介。


3.7.1 MQTT架構


在MQTT 架構中,分為三種 Publisher(發 送訊息者)、Subscriber(接收訊息者)、 Broker(轉送訊息者)。而不同的訊息可能會需 要傳遞給不同的接收者,所以訊息在發送的時 候,發送者(publisher)必須標示這則訊息的 主題(topic),而轉送訊息者(broker)則會依照這則訊息的主題,將訊息傳遞給有訂閱該 主題的接收者(subscriber)。



圖八 :  MQTT架構
圖八 : MQTT架構

網路控制與資料伺服器

於本次作品中利用Python撰寫一個伺服器,負責透過MQTT接收與控制來自MCU及使用者APP的資要,並將部分數據資訊儲存於MYSQL資料庫中,用來提供使用者做為歷史資訊的查詢。


通訊協定

在本作品中插座端點與電力線網路控制伺服器需在電力線網路上進行溝通,所以我們制訂了通訊協定,分別為S2N(Server to Node)及N2S(Node to Server)兩種通訊協定,通訊方式如圖九所示,兩者通訊協定皆以frame為一個單位,而frame包含的內容將由下方介紹。



圖九 :  通訊示意圖
圖九 : 通訊示意圖

S2N通訊協定


電力線網路控制伺服器(Server)在對各個插座端點(Node)進行指令下達皆須透過S2N協定進行溝通,而S2N協定frame所包含之資訊如下列所標示。


































offset



name



0



Start Signal



1



Node Address



2



Function Code



3



Data Byte High



4



Data Byte Low



5



End of frame



表一:S2N之frame定義

Start Signal: 為frame之起始訊號,資料長度為1byte,資料固定為0x44。


Node Address: 資訊frame傳送之目標位置,資料長度1byte,資料定址從0x00至0xff。


Function Code: 電力線網路控制伺服器下達給插座端點之指令,如開啟開關、關閉開關、定時關機等14種指令,資料長度為1byte。


Data Byte: Data Byte為Function Code指令所附加之值,例如設定定時之時間、電流之臨界值等,資料長度為2byte分別為Data Byte High與Data Byte Low。


End of frame: S2N之frame結束位元,資料長度為1byte,資料固定為0x0d。


N2S通訊協定


N2S為插座端點(Node)回傳資訊給電力線網路控制伺服器(Server)的通訊方法,而N2S協定frame所包含之資訊如表二所示。


























































offset



name



0



Start Signal



1



Node Address



2



Hum_Int



3



Temp_Int



4



Temp_Dec



5



ppm_H



6



ppm_L



7



Amp_H



8



Amp_L



9



Node Status



10



Switch Status



11



End of frame



表二:N2S之frame定義

Start Signal: 為frame之起始訊號,資料長度為1byte,資料固定為0x44。


Node Address: 插座終端(Node)自身的位置,資料長度1byte,資料定址從0x00至0xff。


Hum_Int:插座終端擷取之濕度整數值,資料長度為1byte。


Temp: 插座終端擷取之溫度值,資料為溫度整數值與溫度小數值,資料長度為2byte,分別為Temp_Int與Temp_Dec。


ppm: 插座終端擷取之氣體濃度數值,資料為高位元氣體數值(ppm_H)與低位元氣體數值(ppm_L)之結合,資料長度為2byte。


Amp: 插座終端擷取之電流數值,資料為高位元電流數值(Amp_H)與低位元電流數值(Amp_L)之結合,資料長度為2byte。


Node Status: 插座終端的狀態值,如電流過大、可燃性氣體濃度超標等5種狀態,資料長度為1byte。


Switch Status: 插座終端的插座開關狀態、狀態為開或關兩種態,資料長度為1byte。


End of frame: N2S之frame結束位元,資料長度為1byte,資料固定為0x0d。


軟體架構

軟體架構分別為插座終端程式、電力線網路控制伺服器控制程式以及網路伺服器及APP程式三個部分。


插座終端MCU主控程式


上電後程式開始分別擷取電流數值、溫溼度值及氣體濃度數值,並判斷是否超過使用者設定之數值,若超過設定數值MCU會自動開啟或關閉插座輸出,並將數值及狀態存入暫存器,並且將數值透過N2S協定將狀態及數值傳回電力線網路控制伺服器,流程如圖十所示。


插座終端S2N協定接收中斷副程式


MCU透過硬體UART接收到資料之後,會進入中斷副程式,判斷資料是否為S2N通訊協定,若確定MCUS2N通訊協定無誤並且是MCU之Address,則會執行S2N通訊協定所敘述的功能,程式流程如圖十一所示。


電力線網路控制伺服器MCU主程式


電力線網路控制伺服器負責發送S2N協定,並且接收來自插座終端傳的訊息將其上傳至雲端伺服器,也會檢查是否有來自WI-FI的訊息,並將訊號利用N2S協定傳送至電力線網路,程式流程如圖十二所示。


圖十一 : 插座終端S2N協定接收中斷副程式流程圖
圖十一 : 插座終端S2N協定接收中斷副程式流程圖
圖十二 : 電力線網路控制伺服器MCU主程式流程
圖十二 : 電力線網路控制伺服器MCU主程式流程

雲端伺服器程式流程


雲端伺服器透過MQTT接收來自電力線網路控制伺服器的訊息,解讀後並轉換成數值,最後透過MQTT再將訊息轉送至使用者APP,程式流程如圖13所示。



圖十三 : 雲端伺服器程式流程圖
圖十三 : 雲端伺服器程式流程圖

測試方法

測試電力線網路及系統連線

將電力線網路控制伺服器與插座終端插上居家電力線後,可以由雲端伺服器的終端輸出看到來自插座終端送出的訊息,如圖十四所示。



圖十四 : 雲端伺服器輸出終端
圖十四 : 雲端伺服器輸出終端

並且可以透過使用者APP得知目前插座終端的溫度、濕度、一氧化碳濃度、使用電流量及累積功率的資訊,如圖十五所示。



圖十五 : 圖(左)手機APP介面,(右)智慧型手錶APP介面
圖十五 : 圖(左)手機APP介面,(右)智慧型手錶APP介面

插座終端設定及警示功能

使用者可以透過APP設定插座終端的智能警示設定,如圖十六所示,可以設定氣體濃度、溫溼度大小、電流大小等。


圖十六 : APP設定智能警示頁面
圖十六 : APP設定智能警示頁面

設定數值後插座終端會進行數值監控,若數值超標後會依使用者設定的插座開啟或關閉去執行繼電器開關的動作,並且發送警示通知使用者,警示圖如圖十七所示。



圖十七 : 圖(左)手機APP警示圖,(右)智慧型手錶APP警示
圖十七 : 圖(左)手機APP警示圖,(右)智慧型手錶APP警示

結論

透過本作品的設計可以得知,利用電力線傳輸技術設計居家物聯網插座使各個插座可以在居家電力線網路上通訊是個可行的方案,再透過設計一個居家電力線網路對網際網路的通訊介面,便可以透過網際網路去對居家電力線網路進行存取及控制。


利用居家電力線除了可以提供一般家用電器的電源之外,也可以用來傳輸資料,讓家中各個插座形成一個居家區域網路,用來解決家中無線網路訊號強度及死角問題,因此透過電力線傳輸技術是一個利用居家現成網路,建立物聯網及智慧家庭的一個解決方案之一。


(本文作者林華川1、簡劉全2為國立虎尾科技大學光電工程系1教授、2學生)


參考資料

[1] Holtek Semiconductor INC. ,HT66F23XX Datasheet,http://www.holtek.com/documents/10179/116711/HT66F23x0v130.pdf


[2] 張峰碩,2017,”基於電力線網路之智慧家庭監控系統”,元智大學電機工程系學位論文


[3] 才智科技,CJ-06工業級電力線載波數據傳輸模組,網址:http://www.caizhi-t.com/plc/


[4] Mouser Electronics INC. ,DHT11 Humidity & Temperature Sensor, https://www.mouser.com/datasheet/2/758/DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf


相關文章
以無線物聯網系統監測確保室內空氣品質
物聯網結合邊緣 AI 的新一波浪潮
低功耗通訊模組 滿足物聯網市場關鍵需求
以雷達感測器大幅提高智慧家庭的能源效率
EdgeLock 2GO程式設計簡化設備配置
相關討論
  相關新聞
» 日本SEMICON JAPAN登場 台日專家跨國分享半導體與AI應用
» MONAI獲西門子醫療導入應用 加快部署臨床醫療影像AI
» 巴斯夫與Fraunhofer研究所共慶 合作研發半導體產業創新方案10年
» 工研院IEK眺望2025:半導體受AI終端驅動產值達6兆元
» ASM攜手清大設計半導體製程模擬實驗 亮相國科會「科普環島列車」


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.117.154.177
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw