极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15065|回复: 0

ESP8266NodeMCU+Andriod采集485电度表数据务实之验_A

[复制链接]
发表于 2016-5-26 19:11:40 | 显示全部楼层 |阅读模式
本帖最后由 zdzdzddd 于 2016-5-26 21:31 编辑

      前贴说到,单线485直连通信,还不用485接口芯片,虽然有点不常规、也不专业,但切莫小视,或反倒为特定情势中的精妙之作。咱虽说还是门边汉,但是了解到485用的就是普通串口信号,只是接口端转成了对称的平衡双线,为的是有效的共模抗扰、远距离传输,而现在的情势则不必远距离和抗干扰,只要完成连接双方交互信息就行。试验证实,我只用3个电阻就可以完成ESP8266与电度表485接口的平衡--不平衡转换并且完美交互信息。方法这么简单,却谁也没想到过,该说是一个举世之创意。但是纯属特殊情境特定招数,可没有要诋毁成熟正规的485通信规范的意涵。
      用ESP8266写GPIO口模拟电度表485的请求数据帧信号波形,确有乐趣,只要时序和字节基本符合,就可以激发电度表的回应数据帧,如果发送和接收时序校正得准,可靠性就会很高了。
      我上贴说的插入读数时标脉冲,或在任意想到的位置加脉冲,引以为精准观察与实时检测。这可是我不吝透漏的最重要的实验机巧。你若还只是个懵懂的门外汉,那么通过脉冲时标,你绝对可以飞快的就熟悉通信串口以及波形时序,以及传入代码的作用时机和位置,或可以一下子跃成为清醒的门边汉了。



如图所见是ESP8266发送完请求数据帧信号后电度表485的回答波形,通过时标脉冲可以看出4个"0xFE"前导信号,然后是“0x68”地址帧起始符,“0x64”,“0x04”,“0x00”,“0x01”,“0x00”,“0x00”低位在前的电表地址码,“0x68”数据帧起始符等等等。看得出代表读取时机的脉冲在动态时有所游离,只要将游离范围落在欲读波形的中部,那么误差容限就调到最高了。很务实很趣味有没有?
      需要注意是,脉冲时标加入后占时22μS,应加入到延时计算中。
      

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 08:28 , Processed in 0.050049 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表