• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

手把手教你用Delphi实现硬件版hello world编程控制点亮电灯泡

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

之前我们已经给广大爱好者或程序员朋友们,带来了硬件版的或者说物联网版本的Hello World C++Builder版的程序源码和教学资料,让大家对硬件控制带来一个崭新的认识。今天我们再出一套兄弟版本Delphi编程语言的教程与实例源代码。

Delphi的开发与C++Builder开发环境几乎相同,毕竟是一个祖宗嘛。目前最新的开发工具,称为RDA Studio,整个开发环境,集成了C++Builder和Delphi两种开发工具,其实只是语言不同,控件使用全部一样,C++Builder使用的是C++语言,而Delphi使用的是Pascal语言,废话不多说了,我们下面就开始进行工程的创建。这个工程的功能,就是让我们可以通过鼠标点击按钮,实现打开灯泡和关闭灯泡的功能。


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


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


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

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

如图所示,我们根据硬件控制盒的扫描工具得到的参数,在Delphi中的ClientSocket1控件进行设置。


控件参数设置好后,我们双击所有的Buttion按钮,写上相应的代码。以上代码非常简单明了,我们已经在每一行代码后面,做了注释。ClientSocket1.Active:=true这行语句,用来打开通信端口,注意:每次硬件设备上电后,一定要先发送 “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_delphi,将所有的源程序代码和工程文件保存在该目录下。


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


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

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

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


 

举一个很简单电路来说明:比如我们选第3路,如图所示,第3路是示意图中绿色的一对接线柱,接口是5、6,我们画了一个电灯泡经过交流220V串联后的电路图,不管是哪一路,接线方法都是一样的。

因为,我们现在只有1个电灯泡,为了方便,我们将它接在控制盒的第1路,当然,如果你想将8个灯泡全部接上也是完全可以的。



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


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


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


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


接好线后,我们就可以准备将220V的插头上电了。


历史性的一刻马上要到来了,将控制盒和电灯泡的插头全部插到排插上,准备打开电源。

我们依次点击程序界面中的几个按钮,“打开端口”、“初始化”、“打开电灯”按钮。


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


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



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

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DelphiAdvStringGrid表格保存和TClientDataSet发生关系的构想。发布时间:2022-07-18
下一篇:
关于delphi Com+调用C# DLL的一点说明发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap