找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17670|回复: 5
打印 上一主题 下一主题
收起左侧

ESP8266NodeMCU+手机_采集485端口数据的务实之验

[复制链接]
跳转到指定楼层
楼主
本帖最后由 zdzdzddd 于 2016-5-27 14:41 编辑

     ESP8266模块很便宜,内置独立智能芯片还具很厉害的网络功能,刷NodeMCU的话就可以随时添入自己的LUA代码搞各种实验,即使只用裸板模块就可以实现好多说不完的智能。目前时髦的尽是用于开关控制和温度检测,太屈才它了。于是就想实验用于仪表类的智能遥测。可是,目前能找到ESP8266固件中都没有带奇偶校验的串口方式,不适合大多数的485装备,比如采集485电度表数据就没法运用了。好在NodeMCU固件给咱提供了LUA代码添加功能。于是我写了几段485软件串口的LUA代码,拟独立引用ESP8266模块内置CPU、直连电度表485接口,然后有手机控制采集电度表数据。实际试验,果然了得。
      参照电度表 2007通讯规约协议,用GPIO写口方式来输出波形,模拟485的字节格式和请求数据帧格式,实验采集的电度表型号是DDS711,485通信参数为:2400比特,8数据位,1校验位,1停止位,1起始位。















若485端口收到的请求信号波形时序得当、电度表地址正确,电度表则立马回应,并按照请求信号内容返回一个数据信号帧。







   我的实验使用同一个GPIO口完成收与发。因电度表的端口加了485接口芯片,由A、B两线平衡对外,我特别使用电阻法简易完成 “平衡-不平衡 ”变换,直接与ESP8266相连(此法不大常规也不咋专业,但实验却证明很为靠谱。或该说是个曾经没被留意的“举世创意”。决没有诋毁正规成熟485接口规范的意思,只是不需要远程传输和共模抗扰的特定情况下的特定招数罢)。
   用中断方式检测起始位的下降沿,然后开始按约定周率读数,你见到的蓝色窄脉冲是特意在另一个GPIO口加入的时标,这可是我不吝透漏的精妙调试机巧,可以加到任意位置来实时了解代码的生效时刻与作用位序,这里是加在读GPIO口的代码位置,调试时你将直观动态的看到读口时机与欲读波形的相对位有所游离,如果校准游离于波宽中部则读数误差容限就调到最佳了,不仅如此还可以依据时标脉冲直读波形数据,如前4个字节为“0xFE”前导码,然后是“0x68”地址帧起始符、“0x64,0,04,0x00,0x00,0x01,0x00”地址码等等等类比读出,很有乐趣、很醒脑是不是?    你若还是个懵懂的门外汉,兴许看了我的帖子,效法我的机巧,将从此有机缘一跃成为类似我这样的门边边汉。
   还可以说一些,但是得有响应才不白费。看看先。












IMG_20160526_121349.jpg (145.93 KB, 下载次数: 184)

IMG_20160526_121349.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2016-6-3 14:47 | 只看该作者
很棒的作品 楼主能分享一下制作资料吗?
回复

使用道具 举报

板凳
ID:117761 发表于 2016-6-3 14:49 | 只看该作者
我最近也在玩ESP826模块,便宜 方便,楼主的这个波形采集软件的名字是?逻辑分析仪吗?
回复

使用道具 举报

地板
ID:117823 发表于 2016-6-4 01:48 来自手机 | 只看该作者
这个很有价值呀,不过自己不是搞软件的呀。
回复

使用道具 举报

5#
ID:134790 发表于 2016-7-24 14:10 | 只看该作者
楼主高手,手机app是怎么搞的,自己开发的吗?
回复

使用道具 举报

6#
ID:128134 发表于 2016-7-27 16:24 | 只看该作者
conghaisheng 发表于 2016-7-24 14:10
楼主高手,手机app是怎么搞的,自己开发的吗?

目测是用E4A做的手机APP
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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