基于嵌入式WEB的AllLightSYS系統的設計與實現
該系統還可以對和WEB I/F UNIT直接相連的AllLight Control Unit(Local Port連接)的回路進行監視。監視回路和檢測狀態(ON/OFF)是通過在WEBPAGE設定的,根據設定的內容對回路監視。如果是檢測到防盜信息,向 AllLight專用服務器發送警告信號,AllLight專用服務器向用戶發送郵件。防盜監視機能的開和關是通過手機登陸頁面中的一個功能鍵來控制的。通過“外部接點”,可以對WEB I/F UNIT的防盜監視機能進行設定。因為只能在屋內通過開關解除防盜監視機能,回路狀態上的“有入侵者”通過回路狀態和設定的數據(監視回路,監視狀態)是否一致來判斷。回路不一致的情況下,在一定時間內,如果沒有解除“防盜監視機能”,判斷為“有入侵者”;如果在這段時間內,解除了“防盜監視機能”,判斷為“無入侵者”。上述的“一定時間”,是可以設定的數據。另外,當通過外部接點打開“防盜監視機能”時,為了避免屋內操作電器的誤判為“有入侵者”,設計了延時。
另外,在AllLightSystem設計了和PC機的Interface。和計算機的Interface是通過Ethernet實現的。將 AllLightSystem的通信協議數據轉換成計算機使用的通信協議。只能在Local內使用。計算機和WEB I/F UNIT是靠Socket進行通信的。在WEB I/F UNIT中封裝Sokect的通信服務,連接端口通過設定機能設定。計算機發出連接請求后,建立連接。連接建立后,如果Sokect存在,進行以下處理。如果是從AllLightSystem發來數據包,收到的數據包加上TCP協議的包頭,向計算機發送。如果是從計算機發來的數據包,從收到的數據包(TCP數據包)中取出AllLight數據包,向AllLightSystem發送AllLight數據包。
通過外部接點(AllLight的配套機器:SX)的操作,在AllLightSystem的管理下,可以將電燈,空調等電器全關閉。
3.2 軟件實現
軟件構成圖
HTTP服務處理
接收從手機、計算機發送過來的HTTP數據包,通過HTTP服務將HTTP數據解析。將接收到的HTTP請求解析,根據請求的內容(WEBPAGE 請求或CGI請求),發送WEBPAGE的內容或進行CGI處理。生成客戶端請求的WEBPAGE,將該WEBPAGE送到客戶端。如果,設定模式的數據限制了該客戶端請求的WEBPAGE,將錯誤頁面發送到客戶端。如果外部登錄FLAG是有效的,進行HTTP協議解析;如果外部登錄FLAG是無效的,為了禁止從Internet的登陸,檢查HTTP請求的IP協議的發包IP和WEB I/F UNIT的IP,子網掩碼是否是同一個網段,如果是同一個網段,進行HTTP協議解析,不是同網段,返回錯誤頁面。根據HTTP請求的CGI種類可以進行各種請求,例如,進行用戶認證處理是通過手機、計算機實行用戶認證,和登錄在WEB I/F UNIT上的內容進行一致性檢查。(用戶ID,PASSWORD)如果一致則認證失敗計數=0,將“主菜單”畫面的HTTP數據發送到客戶端。如果不一致則認證失敗計數+1,“登錄失敗”畫面的HTTP數據發送到客戶端。如果連續登錄3次不一致,外部登錄無效。進行防盜監視設定處理是將防盜監視機能 FLAG設定成有效?無效,控制SL的LED(有效:紅燈ON,無效:綠燈ON),更新“主菜單”畫面的防盜監視狀態。處理后,將“主菜單”畫面的 HTTP送到客戶端。
這里需要說明的是,由于WEB I/F UNIT的GlobalIP地址是動態分配的,所以必須構建AllLight的專用服務器,并且在該服務器上將WEB I/F UNIT的GlobalIP登錄。GlobalIP的登錄需要定期執行,在AllLight專用服務器上,是將WEB I/F UNIT的IP地址和MAC地址綁定的,因此,WEB I/F UNIT必須將自己的MAC地址通過HTTP協議傳送到AllLight專用服務器上。
評論