首页 > 最新动态 > 晶控课堂 >

C++Builder硬件编程实现打开或关闭电灯泡

2018-09-25 13:40
分享到:
之前,我们公布了一篇关于人工智能的知识应用实例——智能家居开源系统的二次开发的文章,引起了广大读者朋友们的强烈反响。 有不少朋友向我们索取了智能家居硬件二次开发的源程序代码参考学习。有问到C语言、Delphi,java语言、Python语言、visual studio .NET开发环境等,几乎涵盖了好多种语言和软件开发工具。作为程序员来讲,几乎上都比较擅长软件应用的开发,但对于硬件这块的知识几乎是空白,更谈不上软硬件如何相结合进行二次开发了。为此,我们将编写推出一系列的硬件二次开发的Demo小例程,都是基于硬件的二次开发,基于物联网技术的应用。我们将给广大爱好者或程序员朋友们,带来硬件版的或者说物联网版本的Hello World程序,给大家对硬件控制带来一个崭新的认识。原来,实现智能硬件的控制,你也一样可以哦,并不难,非常简单。
c++builder
由于作者本人,最早期使用的是C++Builder和Delphi的软件开发工具,出于怀旧吧,我们今天第一个硬件版Hello World程序将使用C++Builder来进行编写,软件使用的是C++Builder 10.2.3 最新的版本。当然,这个开发工具也同样适用于Delphi的开发,毕竟是一个祖宗嘛。好了,废话不多说了,我们下面就开始进行工程的创建。这个工程的功能,就是让我们可以通过鼠标点击按钮,实现打开灯泡和关闭灯泡的功能。

创建工程
首先,我们使用File菜单下面的“VCL Forms Application- C++ Builder”来创建程序窗口。

form设计
这样,一个Form设计器界面,就在我们面前了。

摆放控件
然后,我们在Form窗体上,摆放4个Button按钮,以及一个ClientSocket控件。我们PC电脑和硬件智能控制盒使用Socket的通信方式,进行接互,对于硬件控制盒的关键点介绍,我们后面会进行讲解。

界面设计
我们先把按钮,通信组件等控制都摆放好后,设置好窗体的属性名称后,接下去,我们就要给控件来写代码程序了。我们的demo程序很简单,只有4个按钮,第一个按钮用于通信端口的打开和关闭,第二个按钮用于在打开端口后,对硬件2018最新免费彩金论坛进行初始化的操作,初始化完成后,就可以点第三个按钮,打开电灯泡;或者点击第四个按钮,关闭电灯泡了。在ClientSocket1这个控件中,我们预先将它的尾性host和port,即服务器地址和端口,设置成硬件本身特有的IP和端口,在此,我们设置成:192.168.1.201和7777。该参数由硬件控制盒所决定,直接照秒即可。硬件控制盒有个网络配置的小工具软件,一打开它就可以看到IP和端口了。
网络参数设置
如图所示,我们根据硬件控制盒的扫描工具得到的参数,在C++Builder中的ClientSocket1控件进行设置。

socket通信代码
控件参数设置好后,我们双击所有的Buttion按钮,写上相应的代码。以上代码非常简单明了,我们已经在每一行代码后面,做了注释。ClientSocket1->Active=true这行语句,用来打开通信端口,注意:每次硬件2018最新免费彩金论坛上电后,一定要先发送 “RELAY–SCAN_DEVICE–NOW“ 和 “RELAY-TEST-NOW“ 这两条指令,才完成控制盒初始化工作。然后,我们通过语句 ClientSocket1->Socket->SendText("RELAY-SET-1,1,1"); 来向控制盒发送打开灯泡的命令; ClientSocket1->Socket->SendText("RELAY-SET-1,1,0");作为关闭灯泡的命令。
关于控制继电器的通信协议说明如下:
RELAY-SET-x(1 字节 pack_num),x(1 字节继电器序号),x(1 字节动作 0/1)
返回:RELAY-SET-x(1 字节 pack_num),x(字节继电器序号),x(1 字节动作0/1),OK/ERROR

保存工程文件
到现在为止,程序代码已经写完了,只用了3分钟时间,很快吧。现在,我们将工程项目进行保存。

保存文件
我们取目录名为 hardware_hello_world,将所有的源程序代码和工程文件保存在该目录下。

程序运行
运行程序,我们马上可以看到控制界面出现了。到现在为止,我们的软件程序代码已经写完了,现在我们要连接硬件2018最新免费彩金论坛、小灯泡,来验证一下我们的代码,验证奇迹的到来!

智能硬件控制盒
这是我们准备好的KC868-H8智能硬件控制盒,电灯泡、电线、剪刀、电工胶布。

       控制盒有8路继电器接线柱,每一路为公共端与常开端,即相当于一个普通的开关。

       继电器输出接线柱接法如图1所示,每种颜色代表一路,每路都是和前级隔离,相当于一个独立开关。

继电器接线
 

举一个很简单电路来说明:比如我们选第3路,如图所示,第3路是示意图中绿色的一对接线柱,接口是5、6,我们画了一个电灯泡经过交流220V串联后的电路图,不管是哪一路,接线方法都是一样的。
网络开关
因为,我们现在只有1个电灯泡,为了方便,我们将它接在控制盒的第1路,当然,如果你想将8个灯泡全部接上也是完全可以的。


电灯接线
电灯泡一共有两条供电电线,我们先将其中一条与220V插头线的其中一条相连,任意其中一条即可。好了,然后就留下两个线头了,一条棕色,一条黄色,实际应用中,无所谓我现在使用的颜色 。

kc868-h8控制盒
我们可以看到硬件控制盒的最左边电路板上有标记数字“1”,这就是我们的第1路。

控制端接线
现在,我们将刚才最后的两条电线与控制盒的第一个端口相连,接线顺序无所谓,用手压下去,把电线塞进去,然后再放开即可,免螺丝的设计。

接线
接线时,记得把电线塞到最里面,不要露出铜丝部分,安全第一。

远程控制灯泡
接好线后,我们就可以准备将220V的插头上电了。

智能硬件控制
历史性的一刻马上要到来了,将控制盒和电灯泡的插头全部插到排插上,准备打开电源。
打开电灯
我们依次点击程序界面中的几个按钮,“打开端口”、“初始化”、“打开电灯”按钮。

硬件控制电灯
当点击“打开电灯”后,我们的硬件马上对电灯泡进行了开启操作,电灯一下子就亮了,哈哈,成功了,是不是感觉很神奇,但又如此简单。

关闭电灯
然后,我们再点击“关闭电灯”按钮,我们可以看到,电灯马上就熄灭了,而且还非常灵活。

关闭电灯

到止,第一个C++Builder版的控制电灯泡的hello world版的小程序就开发并验证完成了。现在是不是感觉智能家居的控制如此神奇与不可思议,不过你已经可以实现控制了哦,会控制了电灯泡,控制其它电器2018最新免费彩金论坛,其原理都是一样的,这样就又向物联网技术、人工智能技术的大门跨进了一个脚步。对于以上的项目源程序我们进行开源提供,如果有需要的朋友,可以留言和我们联系。在接下去,我们将会编写提供给大家更多的硬件版hello world程序案例,方便各位同学走进物联网与人工智能技术的大门。

开源智能家居二次开发实例——C++Builder硬件编程实现打开或关闭电灯泡文章附件(C++Builder工程项目源程序代码包下载)

 博聚网