账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
具物联网功能之量测插座
第十四届盛群杯HOLTEK MCU创意大赛复赛报告

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

浏览人次:【8547】

本作品为设计一个具有物联网功能及数据监控与量测的插座,透过电力线传输(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程式设计简化设备配置
蜂巢服务和 Wi-Fi 辅助全球卫星导航系统追踪贵重物品
comments powered by Disqus
相关讨论
  相关新闻
» 巴斯夫与Fraunhofer光子微系统研究所共厌 合作研发半导体产业创新方案10年
» 工研院IEK眺??2025年半导体产业 受AI终端驱动产值达6兆元
» ASM携手清大设计半导体制程模拟实验 亮相国科会「科普环岛列车」
» SEMI提4大方针增台湾再生能源竞争力 加强半导体永续硬实力
» 国科会促产创共造算力 主权AI产业专区落地沙仑


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

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.2048.3.135.200.121
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw