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