最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

利用TINI平臺(tái)設(shè)計(jì)網(wǎng)絡(luò)On/Off開關(guān)(圖)

出處:liangby 發(fā)布于:2007-04-16 20:03:34

TINI平臺(tái)可提供設(shè)計(jì)IP網(wǎng)絡(luò)繼電器所需的TCP/IP棧和本地控制,Java運(yùn)行環(huán)境可以大大降低設(shè)計(jì)工作的復(fù)雜度,利用Java程序,可以通過網(wǎng)絡(luò)遠(yuǎn)程訪問控制小型傳感器和執(zhí)行器。本文介紹了一個(gè)IP On/Off開關(guān),采用一個(gè)簡(jiǎn)單的繼電器電路和TINIm390/400驗(yàn)證模塊構(gòu)建,還可以延伸到其他遠(yuǎn)程監(jiān)視和控制應(yīng)用中。


系統(tǒng)軟件概述
  com.dalsemi.tininet.http.HTTPServer類允許開關(guān)控制應(yīng)用程序充當(dāng)簡(jiǎn)單的web服務(wù)器,將Java程序傳遞給遠(yuǎn)端主機(jī)。在被主機(jī)內(nèi)部瀏覽器執(zhí)行后,該Java程序就建立了一個(gè)與TINI應(yīng)用程序交換命令和狀態(tài)的雙向TCP連接,也為顯示控制和狀態(tài)提供了一個(gè)圖形用戶界面。整個(gè)軟件系統(tǒng)如所示。


系統(tǒng)硬件概述
  在中,基于TINIm390/4002模板的開/關(guān)控制電路構(gòu)成了該接口。TINIm390/400模板提供了Ethernet網(wǎng)絡(luò)接口能力,以及通過引腳P5.0(其他引腳也可以等效工作)控制開關(guān)。N溝道MOSFET開關(guān)切換流過繼電器的電流,控制繼電器。用戶可以根據(jù)繼電器和FET的大小要求,供給不同的電壓和電流;如果不需要隔離外部電路與TINI模板的電源,則可以去掉繼電器。在開關(guān)狀態(tài)改變時(shí),二極管抑制繼電器線圈的感生電壓。為了實(shí)現(xiàn)某些新的服務(wù),如網(wǎng)絡(luò)開關(guān)控制。


TINI開關(guān)控制應(yīng)用
  由四個(gè)類構(gòu)成了該應(yīng)用的開關(guān)控制和web服務(wù)器接口。PowerSwitch類通過采用TINI類中的com.dalsemi.system.BitPort應(yīng)用程序接口類,直接與硬件接口。WebWorker類直接來自Maxim的Software Developer's Kit(TINI SDK)中的TINIWebServer實(shí)例,負(fù)責(zé)為到來的HTTP連接提供服務(wù)。SwitchWorker類管理Java程序和TINI應(yīng)用之間的所有命令和狀態(tài)通信。TINIWebServer類通過綁定各個(gè)類的操作,來實(shí)現(xiàn)本應(yīng)用。
  PowerSwitch類是一個(gè)連接硬件的接口,在其構(gòu)造器內(nèi)為引腳P5.0創(chuàng)建一個(gè)BitPort目標(biāo)。在該類中,可以執(zhí)行兩種函數(shù),開函數(shù)設(shè)定的引腳端口狀態(tài)是接通繼電器線圈的電壓;而關(guān)函數(shù)通過清零端口狀態(tài),來斷開繼電器線圈的電壓。中的單刀雙擲(SPDT)繼電器能夠工作于常閉或常開位置,即在這兩種位置之間切換外部電壓源。開、關(guān)函數(shù)假設(shè)電路工作于常開狀態(tài),且必須能夠被改變至常閉電路狀態(tài)。為了指示開/關(guān)是否對(duì)應(yīng)于BitPort的置位或清零函數(shù),則在該類中引入了一個(gè)外部的Boolean變量(invert),另一個(gè)函數(shù)(setInvert)要求用來初始化invert變量。所示的硬件圖描述的是常開電路。
  WebWorker類提供了網(wǎng)絡(luò)和應(yīng)用之間的接口。它簡(jiǎn)單地建立和驅(qū)動(dòng)一個(gè)目標(biāo)(com.dalsemi.tininet.http.HTTPServer),該目標(biāo)依次產(chǎn)生線程,為每個(gè)到來的HTTP連接提供服務(wù)。該類取自上述TINIWebserver實(shí)例,無須作任何修改,可以在網(wǎng)絡(luò)上的任何地方接入。HTTPServer能夠提示輸入密碼,或者接受任何其他形式的控制,僅允許那些授權(quán)的用戶接入。
  通過將網(wǎng)絡(luò)和硬件接口組合在一起(所示),TINIServer允許遠(yuǎn)程開關(guān)控制。例如,drive()函數(shù)通過創(chuàng)建一個(gè)WebWorker線程和網(wǎng)頁“index.htm1”,建立此web服務(wù)器。網(wǎng)頁的主要目的是為了在主機(jī)工作站上并執(zhí)行該Java程序。如果提示網(wǎng)頁僅包含靜態(tài)信息,該應(yīng)用就沒有必要?jiǎng)?chuàng)建網(wǎng)頁。提示網(wǎng)頁只需要與包含Java程序的文件目錄一起,拷貝至web服務(wù)器的根目錄下即可。
  CODEBASE是一個(gè)在每個(gè)TINI芯片組設(shè)計(jì)中可以改變的網(wǎng)頁參數(shù)。Java程序使用該信息,以返回連接至某個(gè)獨(dú)立的服務(wù)器插件中的TINI應(yīng)用程序??梢詣?chuàng)建并上傳一個(gè)定制的網(wǎng)頁至任何一個(gè)安裝在現(xiàn)場(chǎng)的TINI芯片組參考設(shè)計(jì)。一個(gè)簡(jiǎn)單的方法是由應(yīng)用程序在每次運(yùn)行時(shí),創(chuàng)建該網(wǎng)頁。通過三次寫操作,CreateIndexPage函數(shù)可以創(chuàng)建文件index.html,并將IP地址插入CODEBASE部分。
  1)index.write(indexTop.getBytes(),0,indexTop.length());
  2)index.write(inetAddress.getLocalHost().getHostAddress().getBytes());
  3)index.write(indexBottom.getBytes(),0,indexBottom.lenghth());
  次和第三次寫操作是將網(wǎng)頁的靜態(tài)部分拷貝至文件中,而第二次寫操作是將IP地址拷貝至文件的CODEBASE部分。在應(yīng)用程序建立web服務(wù)器和創(chuàng)建網(wǎng)頁后,就啟動(dòng)了web服務(wù)器。它創(chuàng)建一個(gè)服務(wù)器插件,用來處理來自Java程序的進(jìn)入連接,并且在Java程序每次連接TINI應(yīng)用時(shí),調(diào)用ServiceConnection函數(shù)。
  ServiceConnection函數(shù)創(chuàng)建了一個(gè)新例程SwitchWorker,并將這個(gè)插件傳給該類。SwitchWorder構(gòu)造器創(chuàng)建一個(gè)新的線程,以處理主機(jī)Java程序和TINI應(yīng)用之間的連接。ServiceConnection函數(shù)也處理下一個(gè)進(jìn)入連接,接著將控制傳給drive函數(shù)。
  SwitchWorker類管理Java程序和webserver之間的所有通信,如所示,在連接被斷開之前,它不斷地循環(huán),執(zhí)行下列步驟:
  停留在read(),等待一個(gè)來自Java程序的命令字節(jié);
  如果命令字節(jié)為0,則斷開開關(guān);如果為1,則閉合開關(guān);
  讀入當(dāng)前開關(guān)狀態(tài),回傳至Java程序。
  通過分配每個(gè)命令字節(jié)的低7位來表示不同開關(guān)的狀態(tài),如所示,該運(yùn)算法則可以適用于更多的開關(guān)。保留位,用來指示只讀操作。該運(yùn)算法則也可以被擴(kuò)展,以允許在同一時(shí)刻多個(gè)Java程序連接至單個(gè)TINI webserver應(yīng)用。SwitchWorker只是簡(jiǎn)單地保持一個(gè)“監(jiān)聽向量”。每次Java程序發(fā)出一個(gè)修改開關(guān)狀態(tài)的命令,webserver就將其狀態(tài)回傳至當(dāng)前與之連接的所有Java程序。


主機(jī)Java程序
  TINI類中的com.dalsemi.tininet.http.HTTPServer類是一種小巧而快速的類,但僅支持HTTP GET操作。由此產(chǎn)生的數(shù)據(jù)只能從TINI應(yīng)用到主機(jī)單向傳遞。然而,該應(yīng)用要求雙向數(shù)據(jù)傳輸。命令由主機(jī)發(fā)送至TINI webserver,而狀態(tài)由webserver發(fā)送至所有相連的主機(jī)。主機(jī)和TINI應(yīng)用之間的通信無協(xié)議開銷,單字節(jié)命令和單字節(jié)狀態(tài)允許極快的控制和狀態(tài)響應(yīng)。
  主機(jī)Java程序包括兩個(gè)類,主類(SwitchControl)處理主機(jī)端的網(wǎng)絡(luò)通信和創(chuàng)建網(wǎng)頁上所有的顯示圖形單元,見;另一個(gè)類(Image Button)創(chuàng)建一個(gè)圖形撥動(dòng)按鈕,顯示對(duì)應(yīng)于按鈕狀態(tài)的兩種位圖之一,見。撥動(dòng)按鈕用于開關(guān)的控制和狀態(tài)指示應(yīng)該是足夠的,但Java程序的表現(xiàn)會(huì)因?yàn)g覽器的不同而異,因此,加入簡(jiǎn)單的開/關(guān)按鈕和一個(gè)狀態(tài)文本窗,以適應(yīng)于更多的瀏覽器。ImageButton和開/關(guān)按鈕將完成相同的控制功能,位圖和狀態(tài)窗完成相同的狀態(tài)指示功能而已。在創(chuàng)建圖形單元后,SwitchControl類將創(chuàng)建一個(gè)狀態(tài)監(jiān)測(cè)線程。該線程接著進(jìn)入休眠模式,停留于read(),等待來自于TINI應(yīng)用的狀態(tài)信息。當(dāng)線程向下運(yùn)行時(shí),ImageButton的位圖和狀態(tài)窗被刷新,接著又循環(huán)到程序的頂部,等待下的狀態(tài)字節(jié)。Java程序事件線程驅(qū)動(dòng)actionPerformed函數(shù),該函數(shù)在每次按下圖形按鈕后被調(diào)用。如果調(diào)用是由ImageButton觸發(fā)的,則它翻轉(zhuǎn)當(dāng)前狀態(tài),并向TINI發(fā)出一個(gè)開或關(guān)的命令。如果由開/關(guān)按鈕觸發(fā),則它發(fā)出一個(gè)開/關(guān)命令。ImageButton類只是一個(gè)簡(jiǎn)單的采用AWT(Abstract Window Toolkit)組件編程的范例。


結(jié)論
  采用TINI實(shí)時(shí)環(huán)境、Java程序和簡(jiǎn)單的繼電路電路,就可以實(shí)現(xiàn)遠(yuǎn)程控制閉合/關(guān)斷開關(guān)。通過網(wǎng)絡(luò),可以在任何地點(diǎn)控制從照明燈到機(jī)床的各種設(shè)備。

 


  
關(guān)鍵詞:利用TINI平臺(tái)設(shè)計(jì)網(wǎng)絡(luò)On/Off開關(guān)(圖)MAXIMMOSFETPOWERSWITCH

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

MOSFET場(chǎng)效應(yīng)管在設(shè)計(jì)選型和維修代換時(shí)需要考慮哪些參數(shù)呢?
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!