手把手教你用Delphi實現硬體版hello world編程控制點亮電燈泡

之前我們已經給廣大愛好者或程序員朋友們,帶來了硬件版的或者說物聯網版本的Hello World C++Builder版的程序源碼和教學資料,讓大家對硬件控制帶來一個嶄新的認識。今天我們再出一套兄弟版本Delphi編程語言的教程與實例源代碼。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

Delphi 10.2.3

Delphi的開發與C++Builder開發環境幾乎相同,畢竟是一個祖宗嘛。目前最新的開發工具,稱為RDA Studio,整個開發環境,集成了C++Builder和Delphi兩種開發工具,其實只是語言不同,控件使用全部一樣,C++Builder使用的是C++語言,而Delphi使用的是Pascal語言,廢話不多說了,我們下面就開始進行工程的創建。這個工程的功能,就是讓我們可以通過鼠標點擊按鈕,實現打開燈泡和關閉燈泡的功能。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

創建delphi工程

首先,我們使用File菜單下面的“VCL Forms Application- Delphi”來創建程序窗口。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

創建delphi窗體

這樣,一個Form設計器界面,就在我們面前了。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

硬件控件

然後,我們在Form窗體上,擺放4個Button按鈕,以及一個ClientSocket控件。我們PC電腦和硬件智能控制盒使用Socket的通信方式,進行接互,對於硬件控制盒的關鍵點介紹,我們後面會進行講解。

我們先把按鈕,通信組件等控制都擺放好後,設置好窗體的屬性名稱後,接下去,我們就要給控件來寫代碼程序了。我們的demo程序很簡單,只有4個按鈕,第一個按鈕用於通信端口的打開和關閉,第二個按鈕用於在打開端口後,對硬件設備進行初始化的操作,初始化完成後,就可以點第三個按鈕,打開電燈泡;或者點擊第四個按鈕,關閉電燈泡了。在ClientSocket1這個控件中,我們預先將它的尾性host和port,即服務器地址和端口,設置成硬件本身特有的IP和端口,在此,我們設置成:192.168.1.201和7777。該參數由硬件控制盒所決定,直接照秒即可。硬件控制盒有個網絡配置的小工具軟件,一打開它就可以看到IP和端口了。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

設置ip地址

如圖所示,我們根據硬件控制盒的掃描工具得到的參數,在Delphi中的ClientSocket1控件進行設置。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

編寫程序

控件參數設置好後,我們雙擊所有的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

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

硬件控制代碼

到現在為止,程序代碼已經寫完了,只用了3分鐘時間,很快吧。現在,我們將工程項目進行保存。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

保存delphi項目

我們取目錄名為 hardware_hello_world_delphi,將所有的源程序代碼和工程文件保存在該目錄下。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

硬件hello world運行

運行程序,我們馬上可以看到控制界面出現了。到現在為止,我們的軟件程序代碼已經寫完了,現在我們要連接硬件設備、小燈泡,來驗證一下我們的代碼,驗證奇蹟的到來!

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

kc868-h8智能硬件控制盒

這是我們準備好的KC868-H8智能硬件控制盒,電燈泡、電線、剪刀、電工膠布。

控制盒有8路繼電器接線柱,每一路為公共端與常開端,即相當於一個普通的開關。

繼電器輸出接線柱接法如圖1所示,每種顏色代表一路,每路都是和前級隔離,相當於一個獨立開關。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

kc868-h8接線柱


舉一個很簡單電路來說明:比如我們選第3路,如圖所示,第3路是示意圖中綠色的一對接線柱,接口是5、6,我們畫了一個電燈泡經過交流220V串聯後的電路圖,不管是哪一路,接線方法都是一樣的。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

控制電燈原理圖


因為,我們現在只有1個電燈泡,為了方便,我們將它接在控制盒的第1路,當然,如果你想將8個燈泡全部接上也是完全可以的。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

電燈接線

電燈泡一共有兩條供電電線,我們先將其中一條與220V插頭線的其中一條相連,任意其中一條即可。好了,然後就留下兩個線頭了,一條棕色,一條黃色,實際應用中,無所謂我現在使用的顏色 。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

kc868-h8繼電器控制盒

我們可以看到硬件控制盒的最左邊電路板上有標記數字“1”,這就是我們的第1路。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

連接電線與電燈

現在,我們將剛才最後的兩條電線與控制盒的第一個端口相連,接線順序無所謂,用手壓下去,把電線塞進去,然後再放開即可,免螺絲的設計。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

擰線

接線時,記得把電線塞到最裡面,不要露出銅絲部分,安全第一。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

上電測試

接好線後,我們就可以準備將220V的插頭上電了。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

物聯網控制實例

歷史性的一刻馬上要到來了,將控制盒和電燈泡的插頭全部插到排插上,準備打開電源。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

打開燈

我們依次點擊程序界面中的幾個按鈕,“打開端口”、“初始化”、“打開電燈”按鈕。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

智能控制燈光

當點擊“打開電燈”後,我們的硬件馬上對電燈泡進行了開啟操作,電燈一下子就亮了,哈哈,成功了,是不是感覺很神奇,但又如此簡單。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

關閉燈

然後,我們再點擊“關閉電燈”按鈕,我們可以看到,電燈馬上就熄滅了,而且還非常靈活。

手把手教你用Delphi實現硬件版hello world編程控制點亮電燈泡

智能控制電燈

到止,第一個C++Builder版的控制電燈泡的hello world版的小程序就開發並驗證完成了。現在是不是感覺智能家居的控制如此神奇與不可思議,不過你已經可以實現控制了哦,會控制了電燈泡,控制其它電器設備,其原理都是一樣的,這樣就又向物聯網技術、人工智能技術的大門跨進了一個腳步。對於以上的項目源程序我們進行開源提供,如果有需要的朋友,可以留言和我們聯繫。在接下去,我們將會編寫提供給大家更多的硬件版hello world程序案例,方便各位同學走進物聯網與人工智能技術的大門。

開源智能家居二次開發實例——Delphi硬件編程實現打開或關閉電燈泡文章附件(Delphi工程項目源程序代碼包下載) http://www.hificat.com/image_kc868/hardware_hello_world_lesson/delphi/hardware_hello_world_delphi.rar


分享到:


相關文章: