標題: ESP8266NodeMCU+手機_采集485端口數據的務實之驗 [打印本頁]

作者: zdzdzddd    時間: 2016-5-27 10:00
標題: ESP8266NodeMCU+手機_采集485端口數據的務實之驗
本帖最后由 zdzdzddd 于 2016-5-27 14:41 編輯

     ESP8266模塊很便宜,內置獨立智能芯片還具很厲害的網絡功能,刷NodeMCU的話就可以隨時添入自己的LUA代碼搞各種實驗,即使只用裸板模塊就可以實現好多說不完的智能。目前時髦的盡是用于開關控制和溫度檢測,太屈才它了。于是就想實驗用于儀表類的智能遙測。可是,目前能找到ESP8266固件中都沒有帶奇偶校驗的串口方式,不適合大多數的485裝備,比如采集485電度表數據就沒法運用了。好在NodeMCU固件給咱提供了LUA代碼添加功能。于是我寫了幾段485軟件串口的LUA代碼,擬獨立引用ESP8266模塊內置CPU、直連電度表485接口,然后有手機控制采集電度表數據。實際試驗,果然了得。
      參照電度表 2007通訊規(guī)約協(xié)議,用GPIO寫口方式來輸出波形,模擬485的字節(jié)格式和請求數據幀格式,實驗采集的電度表型號是DDS711,485通信參數為:2400比特,8數據位,1校驗位,1停止位,1起始位。















若485端口收到的請求信號波形時序得當、電度表地址正確,電度表則立馬回應,并按照請求信號內容返回一個數據信號幀。







   我的實驗使用同一個GPIO口完成收與發(fā)。因電度表的端口加了485接口芯片,由A、B兩線平衡對外,我特別使用電阻法簡易完成 “平衡-不平衡 ”變換,直接與ESP8266相連(此法不大常規(guī)也不咋專業(yè),但實驗卻證明很為靠譜;蛟撜f是個曾經沒被留意的“舉世創(chuàng)意”。決沒有詆毀正規(guī)成熟485接口規(guī)范的意思,只是不需要遠程傳輸和共?箶_的特定情況下的特定招數罷)。
   用中斷方式檢測起始位的下降沿,然后開始按約定周率讀數,你見到的藍色窄脈沖是特意在另一個GPIO口加入的時標,這可是我不吝透漏的精妙調試機巧,可以加到任意位置來實時了解代碼的生效時刻與作用位序,這里是加在讀GPIO口的代碼位置,調試時你將直觀動態(tài)的看到讀口時機與欲讀波形的相對位有所游離,如果校準游離于波寬中部則讀數誤差容限就調到最佳了,不僅如此還可以依據時標脈沖直讀波形數據,如前4個字節(jié)為“0xFE”前導碼,然后是“0x68”地址幀起始符、“0x64,0,04,0x00,0x00,0x01,0x00”地址碼等等等類比讀出,很有樂趣、很醒腦是不是?    你若還是個懵懂的門外漢,興許看了我的帖子,效法我的機巧,將從此有機緣一躍成為類似我這樣的門邊邊漢。
   還可以說一些,但是得有響應才不白費?纯聪取












IMG_20160526_121349.jpg (145.93 KB, 下載次數: 231)

IMG_20160526_121349.jpg

作者: admin    時間: 2016-6-3 14:47
很棒的作品 樓主能分享一下制作資料嗎?
作者: 51黑mcu    時間: 2016-6-3 14:49
我最近也在玩ESP826模塊,便宜 方便,樓主的這個波形采集軟件的名字是?邏輯分析儀嗎?
作者: 51hei電控2112311    時間: 2016-6-4 01:48
這個很有價值呀,不過自己不是搞軟件的呀。
作者: conghaisheng    時間: 2016-7-24 14:10
樓主高手,手機app是怎么搞的,自己開發(fā)的嗎?

作者: 岸上_冰    時間: 2016-7-27 16:24
conghaisheng 發(fā)表于 2016-7-24 14:10
樓主高手,手機app是怎么搞的,自己開發(fā)的嗎?

目測是用E4A做的手機APP




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1