背景
前段時間,有個學員找我諮詢了一個上位機項目報價:
一個小項目,接4個溫度傳感器,顯示出來,再加個報警檢測。
按照工作量,2-3個小時應該是可以搞定的,所以我建議的報價是1000元。
後來,過了兩天,他跟我說1500元做了,挺開心,畢竟是自己接的第一個上位機項目,算是學有所用了。
硬件
我感覺這個項目挺適合初學者的,所以搭建了一套這樣的硬件環境,並且也針對這套硬件做了一個倉儲溫溼度採集系統,很多學員都完成了,並且都有一個直觀的感受就是————麻雀雖小,五臟俱全。
雖然是一個比較小的項目,但是涉及到很多知識點,Modbus採集、Modbus一主多從、Modbus串口斷線重連、實時曲線、自定義控件、SQLite數據存儲、數據查詢、歷史曲線、動態查詢、報警設置、報警檢測、參數配置等。
開發
1、首先設計UI界面如下圖,這裏主要是採用自定義組合控件的方式來實現。
2、首先確定溫溼度傳感器的寄存器地址,如下所示
3、開發之前需要提前將各個傳感器的站地址設置好,並且保證不能重複。
4、通信部分主要應用的是Modbus一主多從,通過分析,對於每個站點的結果封裝一個實體類,如下所示:
5、然後我們可以再封裝一個單個設備數據讀取的通用方法,如下所示:
6、然後開啓多線程進行輪詢,並對結果進行錯誤分析處理,如下所示:
直播
由於篇幅有限,本文僅僅闡述了開發思路,無法將所有細節及代碼展示出來。大家如果對這塊內容感興趣,可以在討論區留言,留下聯繫方式,這部分我專門在公開課做了詳細的講解,把視頻給到你