电力线宽带通信技术(PowerLine Communication 简称PLC)是近几年来迅速发展起来的一种新兴的利用电力线网络作为载体的通信技术。运用嵌入式系统和电力线调制解调技术所构建的电力线网络通讯终端,人们可以很方便地在办公室、家庭内部、工业现场轻松地组建起局域网络,成为智能家庭、分布式工业过程控制的一种很好的系统构造方式,具有广阔的应用前景和市场。本应用系统利用电力线终端平台和路由器构建电力线家庭内部网络,实现家电、安全防范及三表的集中管理;对外通过宽带连接Internet,远程终端通过软件就可
QTimer *temptimer = new QTimer(this); //2S的定时器
connect(temptimer,SIGNAL(timeout()),this,SLOT(temp_update()));
temptimer->start(2000);
connect( adsocket,SIGNAL( connected() ),this, SLOT( ad_request() ) );
connect( adsocket,SIGNAL( readyRead() ), this, SLOT( ad_readresult() ) );
connect( tempsocket,SIGNAL( connected() ),this,SLOT( lm_request() ) );
connect( tempsocket,SIGNAL( readyRead() ),this,SLOT( lm_readresult() ) );
connect(appliancesocket,SIGNAL( connected() ), this,SLOT( appliance_request() ) );
connect(securitysocket,SIGNAL( readyRead() ),this,SLOT( security_readresult() ) );
}
动态分配四个QTcpSocket(Qt 内部对于TCP 协议的封装类)对象,分别用该类的对象指针adsocket、tempsocket、appliancesocket、securitysocket 来指向这四个对象。然后定义一个QTimer对象,用来实现2 秒的定时。接着对一些信号和槽进行连接,从而完成各个组件之间的通讯,其中: QTimer 对象的timeout 信号和temp_update()槽连接、adsocket 对象的connected 信号和ad_request()连接,adsocket 对象的readyRead 信号和ad_readresult()槽。同理连接其他的几个QTckSocket 对象的信号和槽。
以下,具体描述如何实现温度检测和空调自动控制的功能(其他功能的实现类似,就不赘述):(1)定时器每隔2S 触发一次,客户端使用tempsocket 连接服务器端后发送测温请求。(2)接收到服务器的温度数据后在界面上显示,并且根据要求决定是否需要启动空调。(3)利用appliancesocket 发送开启或者关闭空调的命令。并根据服务器端的执行结果修改空调开关状态栏显示。
五、结论
在实际的测试中,服务器端运行在实验室,连接有日光灯、电饭煲和空调。客户端运行在寝室中。本应用在实现所有功能的基础上,电力线终端作为服务器连续开机一周,并进行高流量的负荷测试,能够稳定运行,所有功能均表现正常,没有发生故障。从而验证了本终端的稳定性和该智能家居应用的可行性。