水表读数:ESP8266 + Android

现在许多人都有水表。大多数人都面临着从这些仪表读取读数并及时交货的问题。我也不例外。从我那里拿取证词很方便,但是在这里,我经常忘记拿走他们,并在最不合时宜的时刻记住了他们。决定自动进行读取过程,以便您可以随时查看它们。谁在乎如何在我的手机左侧获得照片,在猫的照护下。

引言


为实现这个想法看完之后来找我这个文章。在维修过程中,我立即设置了脉冲计数器。基于ESP-03的设备的第一个版本已制作完成。该代码是用LUA编写的。数据也被传输到Thingspeak.com

第一版


使用2个月后,发现了以下缺点:

  1. 没有指示灯指示操作,因为模块挂了几次,所以很重要
  2. 设置的复杂性,因为设置在代码中
  3. 为了供电,需要带有miniUSB连接器的电线。我只有索尼Playstation的
  4. 不喜欢在Thingspeak.com上查看结果
  5. 实现的相对复杂度。

因此,决定制作第二个版本,它将满足以下要求:

  1. MicroUSB电源连接器
  2. 通过WiFi连接到设备来执行配置
  3. 工作指示
  4. 方便查看信息
  5. 易于重复
  6. 美观
  7. 成本低

手续费


电路板非常简单。它基于相同的ESP-03。esp8266.ru网站为我提供了连接的主要功能



冷,热-RJ9插座LED1-
用于指示板的操作(设置模式-持续,错误-频繁闪烁,正常操作-每秒闪烁一次)
LED2-指示电源
R3,R4-330欧姆
R1,R2,R5,R6 ,R7-6.8kOhm C1-33mkF
钽电容器; C2-0.1mkF
陶瓷电容器; LM1117-
用于将5V转换为3.3V; J1-
跳线用于ESP-03
BTN 闪烁-用于选择板操作模式

增加了一个miniUSB连接器,用于刷新模块和录制脚本。为了供电,单独添加了另一个microUSB连接器,而没有将RX和TX引脚连接到该连接器(未在图中显示)。这是由于以下事实:如果通过连接了RX和TX的miniUSB连接器为模块供电,则由于某种原因模块会冻结。我尝试拉高RX和TX,但没有任何帮助。因此,我决定留下它,除了我的microUSB电缆很多。

组件的尺寸使其易于使用LUT方法制作电路板,这是用于调试脚本的。后来,我从中文订购了该板的制造调整了板子的尺寸以适合现有情况。

安装前的照片:

图片


之后的照片:



韧体


我使用在线构造函数收集了固件。这样就可以仅使用必要的模块生成NodeMCU固件,从而可以增加可用内存量。我没有遇到内存不足的问题,因此,大约30%的可用空间用于脚本和辅助文件。我使用nodemcu-flasher上传了固件。我使用ESPlorer编写和填充脚本

脉冲计数器的操作类似于按下按钮。传递某些值后,触点将关闭并打开。我的计数器在数字7处关闭了触点,在数字2处打开了。我将计数器挂在GPIO12,GPIO13端口上,并通过电源上拉将其接地(使用了内部电阻器)。因此,当端口将其值更改为0时,我们可以假设浪费了10升水。

该设备可以在2种模式下运行:设置模式和读取模式。要在通电时切换到设置模式,请按住BTN按钮。这需要2秒钟。在这种模式下,ESP开始作为访问点运行,并且是一个简单的Web服务器。出现一个可访问的ESP网络-???????,而不是字符?将是id esp。要进行配置,您需要连接到该网络,然后在浏览器中转到1.1.1.1。出现以下页面:



如果在加电过程中未将按钮夹紧,则开始读取模式。在这种模式下,每秒检查GPIO12和GPIO13端口的状态。如果某处出现0,则相应的值增加。最初,我进行了基于中断的检查,但结果证明此方法不可靠(ESP定期挂起)。每分钟都会尝试将数据发送到服务器(如果有更改)。对于每个计数器,将传输2个值:当前计数器读数和自上次数据传输以来的变化量。

Android应用


正如我所说,在Thingspeak.com上,我不满意阅读这些读数。我决定编写一个Android应用程序。结果是一个允许您执行以下操作的应用程序:

  • 按小时,天,月构建消耗量图
  • 离线访问数据
  • 添加指标小部件

Thingspeak.com有一个API,可让您收集数据。使用此API,应用程序在每次启动时或在更新小部件之前都会请求最新数据并将其保存到本地数据库。她的进一步工作已经在进行中。向应用程序添加了2种类型的小部件:作为计数器和消耗图。事实证明很方便。

应用程序截图


我曾想实现自动抄表,但没有找到现成的API。可以分析官方申请,但并不可靠。对于莫斯科,有一个EMP我在那里注册并可以使用他们的API,但它只允许您查看给出的读数,这对我来说并不有趣。

结论


除外壳外,该设备的成本约为450卢布。其中一些组件是在知名商店购买的。如果您从中国人那里拿走所有东西,那么费用可以减少到大约370卢布。此版本已4个月没有挂起或失败过。生成的设备易于重复和修改。在他的帮助下,我得知马桶正在缓慢但必定会流水。

有用的链接:

Source: https://habr.com/ru/post/zh-CN395459/


All Articles