手把手教你一個(gè)溫濕度傳感器的項(xiàng)目
背景
前段時(shí)間,有個(gè)學(xué)員找我咨詢了一個(gè)上位機(jī)項(xiàng)目報(bào)價(jià):
一個(gè)小項(xiàng)目,接4個(gè)溫度傳感器,顯示出來(lái),再加個(gè)報(bào)警檢測(cè)。
按照工作量,2-3個(gè)小時(shí)應(yīng)該是可以搞定的,所以我建議的報(bào)價(jià)是1000元。

后來(lái),過(guò)了兩天,他跟我說(shuō)1500元做了,挺開心,畢竟是自己接的第一個(gè)上位機(jī)項(xiàng)目,算是學(xué)有所用了。

硬件
我感覺(jué)這個(gè)項(xiàng)目挺適合初學(xué)者的,所以搭建了一套這樣的硬件環(huán)境,并且也針對(duì)這套硬件做了一個(gè)倉(cāng)儲(chǔ)溫濕度采集系統(tǒng),很多學(xué)員都完成了,并且都有一個(gè)直觀的感受就是————麻雀雖小,五臟俱全。
雖然是一個(gè)比較小的項(xiàng)目,但是涉及到很多知識(shí)點(diǎn),Modbus采集、Modbus一主多從、Modbus串口斷線重連、實(shí)時(shí)曲線、自定義控件、SQLite數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、歷史曲線、動(dòng)態(tài)查詢、報(bào)警設(shè)置、報(bào)警檢測(cè)、參數(shù)配置等。


開發(fā)
1、首先設(shè)計(jì)UI界面如下圖,這里主要是采用自定義組合控件的方式來(lái)實(shí)現(xiàn)。

2、首先確定溫濕度傳感器的寄存器地址,如下所示

3、開發(fā)之前需要提前將各個(gè)傳感器的站地址設(shè)置好,并且保證不能重復(fù)。
4、通信部分主要應(yīng)用的是Modbus一主多從,通過(guò)分析,對(duì)于每個(gè)站點(diǎn)的結(jié)果封裝一個(gè)實(shí)體類,如下所示:

5、然后我們可以再封裝一個(gè)單個(gè)設(shè)備數(shù)據(jù)讀取的通用方法,如下所示:

6、然后開啟多線程進(jìn)行輪詢,并對(duì)結(jié)果進(jìn)行錯(cuò)誤分析處理,如下所示:
? ?

想跟著一期學(xué)習(xí)這個(gè)項(xiàng)目嗎,下周就安排直播課講解

