環境監測系統上電后會開始進行系統變量初始化。這個階段環境監測系統會初始化所有全局變量、數據結構、創建最低優先級空閑任務,創建6個空數據鏈表:空任務控制塊鏈表、空隊列控制塊鏈表、空事件控制塊鏈表、空標志組鏈表、空內存控制塊鏈表、空閑定時器控制塊鏈表。初始化完系統變量后,先創建開始任務,由開始任務創建讀取傳感器任務、按鍵任務、主任務、LED任務、蜂鳴器任務、WiFi物聯任務。創建完后便開始掛起開始任務,然后初始化硬件,并開中斷。多任務管理器接下來會根據任務的優先級在就緒表中查找優先級最高的,并操作資源切換到該任務執行,μC/OS-Ⅱ系統通過定時中斷的方式實現。每個時鐘節拍到來,就會進入一次定時中斷。中斷后監測是否有重要任務需要運行并進行任務切換,運行新的任務或者繼續運行本任務,確保實時性。
環境監測系統是通過WiFi模塊與MCU以串口通信來實現的,所以要在MCU端根據編寫串口事件來解析接收的數據包以及發送數據到系統平臺如圖所示。
按照通信協議,環境監測系統發送的數據也有按照協議封裝在數據幀里,以便WiFi端或系統平臺端識別。數據區的只讀數據,包含了監測環境質量的參數,用結構體封裝起來,方便管理。根據設備需求,首先需要注冊、登錄、找回密碼、修改密碼、設備查找、配置設備、設備登錄以及設備數據顯示控制等功能如圖所示。環境監測系統平臺的API提供有匿名、手機號碼、郵箱三種注冊方式,該環境監測系統的APP設計為郵箱注冊。