<kbd id="iaey6ufz"></kbd><address id="iaey6ufz"><style id="iaey6ufz"></style></address><button id="iaey6ufz"></button>

              <kbd id="lpmeh53g"></kbd><address id="lpmeh53g"><style id="lpmeh53g"></style></address><button id="lpmeh53g"></button>

                      <kbd id="6hv5xxwx"></kbd><address id="6hv5xxwx"><style id="6hv5xxwx"></style></address><button id="6hv5xxwx"></button>

                              <kbd id="6jbkgwme"></kbd><address id="6jbkgwme"><style id="6jbkgwme"></style></address><button id="6jbkgwme"></button>

                                      <kbd id="gh77jpk5"></kbd><address id="gh77jpk5"><style id="gh77jpk5"></style></address><button id="gh77jpk5"></button>

                                              <kbd id="yktal390"></kbd><address id="yktal390"><style id="yktal390"></style></address><button id="yktal390"></button>

                                                      <kbd id="fzpjcnz6"></kbd><address id="fzpjcnz6"><style id="fzpjcnz6"></style></address><button id="fzpjcnz6"></button>

                                                              <kbd id="bb5bqjp1"></kbd><address id="bb5bqjp1"><style id="bb5bqjp1"></style></address><button id="bb5bqjp1"></button>

                                                                      <kbd id="ynid759y"></kbd><address id="ynid759y"><style id="ynid759y"></style></address><button id="ynid759y"></button>

                                                                          
                                                                          首頁 > 服務中心 > 晶控課堂 >

                                                                          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個按鈕 ,第一個按鈕用於通信端口的打開和關閉,第二個按鈕用於在打開端口後,對硬件設備進行初始化的操作,初始化完成後,就可以點第三個按鈕,打開電燈泡;或者點擊第四個按鈕  ,關閉電燈泡了。在ClientSocket1這個控件中,我們預先將它的尾性host和port ,即服務器地址和端口 ,設置成硬件本身特有的IP和端口,在此 ,我們設置成:192.168.1.201和7777。該參數由硬件控制盒所決定,直接照秒即可。硬件控制盒有個網絡配置的小工具軟件,一打開它就可以看到IP和端口了 。
                                                                          网络参数设置
                                                                          如圖所示,我們根據硬件控制盒的掃描工具得到的參數 ,在C++Builder中的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 ,將所有的源程序代碼和工程文件保存在該目錄下。

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

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

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

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

                                                                          繼電器接線
                                                                           

                                                                          舉一個很簡單電路來說明:比如我們選第3路 ,如圖所示,第3路是示意圖中綠色的一對接線柱 ,接口是5、6,我們畫了一個電燈泡經過交流220V串聯後的電路圖  ,不管是哪一路,接線方法都是一樣的。
                                                                          網絡開關
                                                                          因爲,我們現在只有1個電燈泡 ,爲了方便 ,我們將它接在控制盒的第1路 ,當然 ,如果你想將8個燈泡全部接上也是完全可以的。


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

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

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

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

                                                                          遠程控制燈泡
                                                                          接好線後,我們就可以準備將220V的插頭上電了。

                                                                          智能硬件控制
                                                                          歷史性的一刻馬上要到來了 ,將控制盒和電燈泡的插頭全部插到排插上,準備打開電源。
                                                                          打開電燈
                                                                          我們依次點擊程序界面中的幾個按鈕 ,“打開端口”、“初始化”、“打開電燈”按鈕 。

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

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

                                                                          關閉電燈

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

                                                                          開源智能家居二次開發實例——C++Builder硬件編程實現打開或關閉電燈泡文章附件(C++Builder工程項目源程序代碼包下載)