1. 程式人生 > >手把手教你用Delphi實現硬體版hello world程式設計控制點亮電燈泡

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

之前我們已經給廣大愛好者或程式設計師朋友們,帶來了硬體版的或者說物聯網版本的Hello World C++Builder版的程式原始碼和教學資料,讓大家對硬體控制帶來一個嶄新的認識。今天我們再出一套兄弟版本Delphi程式語言的教程與例項原始碼。c++builder Delphi的開發與C++Builder開發環境幾乎相同,畢竟是一個祖宗嘛。目前最新的開發工具,稱為RDA Studio,整個開發環境,集成了C++Builder和Delphi兩種開發工具,其實只是語言不同,控制元件使用全部一樣,C++Builder使用的是C++語言,而Delphi使用的是Pascal語言,廢話不多說了,我們下面就開始進行工程的建立。這個工程的功能,就是讓我們可以通過滑鼠點選按鈕,實現開啟燈泡和關閉燈泡的功能。建立工程

首先,我們使用File選單下面的“VCL Forms Application- Delphi”來建立程式視窗。form設計 這樣,一個Form設計器介面,就在我們面前了。擺放控制元件 然後,我們在Form窗體上,擺放4個Button按鈕,以及一個ClientSocket控制元件。我們PC電腦和硬體智慧控制盒使用Socket的通訊方式,進行接互,對於硬體控制盒的關鍵點介紹,我們後面會進行講解。 我們先把按鈕,通訊元件等控制都擺放好後,設定好窗體的屬性名稱後,接下去,我們就要給控制元件來寫程式碼程式了。我們的demo程式很簡單,只有4個按鈕,第一個按鈕用於通訊埠的開啟和關閉,第二個按鈕用於在開啟埠後,對硬體裝置進行初始化的操作,初始化完成後,就可以點第三個按鈕,開啟電燈泡;或者點選第四個按鈕,關閉電燈泡了。在ClientSocket1這個控制元件中,我們預先將它的尾性host和port,即伺服器地址和埠,設定成硬體本身特有的IP和埠,在此,我們設定成:192.168.1.201和7777。該引數由硬體控制盒所決定,直接照秒即可。硬體控制盒有個網路配置的小工具軟體,一開啟它就可以看到IP和埠了。ç½ç»åæ°è®¾ç½®
如圖所示,我們根據硬體控制盒的掃描工具得到的引數,在Delphi中的ClientSocket1控制元件進行設定。socket通訊程式碼 控制元件引數設定好後,我們雙擊所有的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插頭線的其中一條相連,任意其中一條即可。好了,然後就留下兩個線頭了,一條棕色,一條黃色,實際應用中,無所謂我現在使用的顏色 。kc868-h8控制盒 我們可以看到硬體控制盒的最左邊電路板上有標記數字“1”,這就是我們的第1路。控制端接線 現在,我們將剛才最後的兩條電線與控制盒的第一個埠相連,接線順序無所謂,用手壓下去,把電線塞進去,然後再放開即可,免螺絲的設計。接線 接線時,記得把電線塞到最裡面,不要露出銅絲部分,安全第一。遠端控制燈泡 接好線後,我們就可以準備將220V的插頭上電了。智慧硬體控制 歷史性的一刻馬上要到來了,將控制盒和電燈泡的插頭全部插到排插上,準備開啟電源。開啟電燈 我們依次點選程式介面中的幾個按鈕,“開啟埠”、“初始化”、“開啟電燈”按鈕。硬體控制電燈 當點選“開啟電燈”後,我們的硬體馬上對電燈泡進行了開啟操作,電燈一下子就亮了,哈哈,成功了,是不是感覺很神奇,但又如此簡單。關閉電燈 然後,我們再點選“關閉電燈”按鈕,我們可以看到,電燈馬上就熄滅了,而且還非常靈活。關閉電燈 到止,第一個C++Builder版的控制電燈泡的hello world版的小程式就開發並驗證完成了。現在是不是感覺智慧家居的控制如此神奇與不可思議,不過你已經可以實現控制了哦,會控制了電燈泡,控制其它電器裝置,其原理都是一樣的,這樣就又向物聯網技術、人工智慧技術的大門跨進了一個腳步。對於以上的專案源程式我們進行開源提供,如果有需要的朋友,可以留言和我們聯絡。在接下去,我們將會編寫提供給大家更多的硬體版hello world程式案例,方便各位同學走進物聯網與人工智慧技術的大門。開源智慧家居二次開發例項——Delphi硬體程式設計實現開啟或關閉電燈泡文章附件(Delphi工程專案源程式程式碼包下載)