|
很久之前就想做一個智能電度表,可以通過網(wǎng)絡(luò)查看實時電能參數(shù),以及每天每月的用電情況,但由于沒有找到合適電能測量模塊,所以一直沒能實現(xiàn);直到偶然中我發(fā)現(xiàn)了Peacefair PZEM 004T 電能模塊,它能較好地測量電能,價格也可以接受,所以用它來實現(xiàn)是再好不過了。ESP8266是個小巧便宜的模塊,內(nèi)置獨立處理器芯片,具很強的網(wǎng)絡(luò)功能,利用它就能做出可以聯(lián)網(wǎng)的智能設(shè)備,同時還省去了單片機。所以借助于ESP8266和PZEM 004T就可以很方便的實現(xiàn)智能電度表。
首先購買NodeMCU開發(fā)板,這個開發(fā)板搭載ESP8266模塊,集成了串口下載芯片,是非常理想的實驗平臺,然后刷了NodeMCU固件,打算使用LUA進行開發(fā)。說起來簡單做起來難。〕绦?qū)戇M去后各種問題不斷,于是又一個一個的想辦法解決,但是我遇到了一個最終也沒有解決的問題,那就是模塊老是莫名地重啟,串口輸出亂碼,查找了兩天原因未果后(已找到解決方法,將整個flash擦除再燒寫就不會出現(xiàn)這個問題了),不得不放棄使用NodeMCU固件開發(fā)...接下來換為Arduino集成開發(fā)環(huán)境進行開發(fā),但是發(fā)現(xiàn)這樣無法了解ESP8266的許多細節(jié)了,并且Flash占用也大,繞了一圈之后,最終選擇了官方SDK開發(fā),雖然效率不高,但可以了解ESP8266的工作細節(jié),使用的也是我熟悉的C語言,程序的運行效率也應(yīng)該比其他方式要高。然后就去下載了官方SDK,開發(fā)軟件,ESP8266的各種技術(shù)文檔,按照教程一步一步地搭建開發(fā)環(huán)境,這些都做完后三天就過去了。按照最初的設(shè)想,我要使用Web瀏覽器查看系統(tǒng)的各種參數(shù),所以就讓ESP8266做web server;經(jīng)過近一個星期的努力,做出了一個非常簡單的原型機,由于缺乏html等相關(guān)方面的知識,顯示效果不理想;ESP8266做web server感覺有些勉強,畢竟其數(shù)據(jù)處理能力很有限,所以最終選擇使用Labview做上位機,這樣模塊的數(shù)據(jù)傳輸量降低了不少,同時方便編程,做出的顯示界面也較為美觀。然后就沿著選定的方案一步一步地去實現(xiàn)功能,中間各種各樣的坑就不說了,經(jīng)過一個多月的開發(fā),終于實現(xiàn)了最基本的功能,即查看實時電能參數(shù),至于記錄各時段的電能參數(shù)不太好實現(xiàn),因為ESP8266沒有獨立的RTC,而且需要設(shè)計一個存儲模型來存儲電能參數(shù),這還需要不少時間。同時已支持一鍵配網(wǎng)功能,使用Esptouch實現(xiàn),使用超級方便!
此版本定為V2.0,以后還會對其進行升級,增加新的功能,比如存儲歷史電量信息,添加繼電器等。
昨天花了幾個小時制作實物,進行的還算順利,畢竟硬件連接很簡單!難就難在軟件開發(fā)上。
|
評分
-
查看全部評分
|