
有一次我厌倦了读取水表的读数。 可以在柜台附近安放一块磁铁,然后对此平静下来,但是我发现这条路不像运动手。
我的道路艰难而华丽。 但是结果是,该设备通过Wi-Fi将水的读数传输到手机。 简单直观地使用和配置至少适用于一名学生,至少
适用于老年人。 并且熟悉单词“ Arduino”-也很容易制造。 该设备可以使用电池运行四年(比起与您的持久关系更长)。 这也是具有此类特征的第一个开放项目。
我写出了工厂的类似物,它们很少,还可以。
因此,我们有一些钱,但有一个很大而诚实的愿望,即在不违反《刑法》的情况下简化我们的生活。 这样一来,您的220V,服务器和一堆按钮都不会出现! 我们在Blynk应用程序或类似服务中查看智能手机上的读数。
现在坐在椅子上,多吃些这些柔软的法国面包,喝点茶。 欣赏美丽的照片,并听听我关于创建独立设备时应考虑的事项的故事。 但首先,简要介绍一下Waterius。
要求条件
- 带线计数器(UPD2:任何
输出“干触点” ) - 带有网络的Wi-Fi路由器
特点
- 电源:3节AA电池
- 工作时间4年以上
- 2水表
- 一个按钮即可配置
- 非易失性存储器,用于指示和网络设置
Wi-Fi每日传输
- 当前读数
- 每天耗水量
- 电源电压
- 电邮 字母(正文和标题可以更改)
实现了对TCP服务器和Blynk应用程序的支持。 添加
HTTP ,
MQTT ,Modbus TCP,Cayenne,IFTTT等 (这里是展示您的创意天才的地方)。
UPD2:富有创造力的天才亮相,但HTTPS,MQTT
客制化
单击“ Waterius”按钮后,它将打开Wi-Fi接入点。 连接,填写表格,向东鞠躬三遍,并向
WiFiManager开发人员说“谢谢”。 你可以在精神上。

娱乐电子
无线电元素的散射,用于Waterius的组装

在计数脉冲时达到微安消耗单位的唯一方法是使用经济的微控制器,而不是您想的那样。 Waterius心脏-Attiny85微控制器(模拟-MSP430,STM8L)。 双手放在腰部上方时,任何Arduino板的缝合都没有问题。 Attiny85从内部发生器以1 MHz的频率运行并计数脉冲,并定期检查2个输入是否短路和按钮。 休眠电流
在3V时为4μA 。 一个童话。
作为Wi-Fi,我使用ESP8266-01。 工作期间消耗75mA,脉冲高达250mA。 两个微控制器在i2c总线上进行通信。
气象站的
项目证实了选择的正确性。 ESP8266一直在做梦:EN引脚通过一个电阻拉至GND。 消耗电流小于10μA(我遇到的实例为0μA)。 每天一次,Attiny85发出HIGH信号,ESP8266唤醒,从Attiny85接收读数,连接到家庭Wi-Fi并在约4秒钟内发送数据-根据英国科学家的研究,这比您通常手动访问这些计数器要快得多。
图为良好的ESP,功耗跃升7-11μA。 通常数字为19-23μA。其他类型的睡眠对Waterius无效,至少在褪黑激素的声音上撒上褪黑激素:通过外部复位立即唤醒的无限深度睡眠消耗20μA电流,适合频繁数据发送。 最经济的选择:完全关闭ESP8266,但您需要的是害怕静电的场效应晶体管。
设置按钮位于SCL线上。 所有Attiny85引脚都忙! 因此,Waterius不支持那慕尔仪表的输出,也没有泄漏传感器。
LED连接到ESP的TX引脚,并在ESP运行时点亮。 插入TTL-USB适配器以查看日志(尽管有趣!)。 在开发之初,我认为要指示错误,您需要使LED闪烁,但是您可以进行管理-这只会使代码复杂化。
如果在3到10秒钟后成功连接到Wi-Fi路由器,则LED指示灯将熄灭,并且如果继续点亮,请重新将手机重新连接至Waterius。 先进的技术,纳米技术,NASA的成就,中国古代的教s。
我们每个人都知道:低功率设备的一个特点是它们容易受到电磁干扰。 因此,我求助于熟悉的电子工程师,并学习了
文学 (+最美丽的
村田课程)。 ESP和Attiny上的所有引脚均被拉至电源或GND。 已安装功率电容器。 仪表的“脏”地通过一个300欧姆的电阻连接到“干净的”地,而输出本身通过3k3电阻连接。 每个人都会如此!
房屋
我们拿一个塑料瓶...一个玩笑。 我为4节AA电池使用了一个隔层。 在连接器的盖子上的LED和按钮侧面开了一个孔。

您可以使用接线盒(如果是3D打印机和其他萨满教,请尝试一下)。
在
github中是用于LUT的单层板和用于工厂生产的两层板。 Waterius甚至可以由小学生制成! 是的,如果他没有悬浮滑板并且从不旋转微调器。
理想的板不能立即工作。 第一个原型如下所示:

但是构建的第四个版本几乎“完美”:

我无法抗拒,并订购了一包Resonite的木板。 太高了!

营养学
在Waterius中,有一个
3V MCP1700稳定器,其最低消耗非常低(几微安)。 三节AA 1.5V碱性电池几乎可以完全
放电至3.2V。此外,Attiny85将具有稳定的电压(并且
频率不会
浮动 ,这很嗡嗡,尽管在这个项目中这并不重要)。
该电路将在没有两节AA电池稳定器的情况下工作。 Attiny85应该购买V版本(功率高达1.8V)。 ESP可在高达2.5V的电压下“在Internet上”工作。 我们将能够使用40%的电池电量(不要相信,请参阅
A. Nadezhin的测试)。 如果您购买两节AA 1.5V 3 Ah锂电池,Waterius将在低温下工作长达10年,在那里-您看-我们将建立共产主义。
缺少工具使我无法准确地衡量Waterius的消耗量。 他在家里工作了45天,每30分钟发送一次读数(以加快放电速度)。 电源电压从4.68V降至4.51V下降了0.17V(UPD:100天4.38V,UPD2:313天3.9V)。 如果这种情况继续下去,电池将持续1.5年。 每天发送一次读数的经济性是原来的3倍,因此需要4年的工作。 是的,我了解自放电电池。
劲量数据表和包装上的保存期限称其不牢固。
这是最好奇的电池消耗和组件成本的计算(
Google表格 )。
程序员详细信息(针对那些不累的人)
不适合在中断上执行脉冲计数,因为 簧片开关关闭时(区域〜3L),水可以关闭,电流将流过上拉电阻。 需要防止接触反弹:微电路或代码延迟。 我每250毫秒执行一次定期轮询,并仅通过反复关闭来增加(一个漂亮的词,对吗?)值。 无需焊接,尽管如果您确实愿意,也可以。
为了防止Attiny重载,我将所有值存储在其EEPROM存储器中。 为了超过100k条目的限制,我为当前单元格编写了一个带有环形标记的
环形缓冲区 。 现在,我安静地入睡,这就是我希望您能得到的。 该代码提供了用于调试的日志记录。 将TTL-USB连接到第二个仪表连接器。
资料汇出
起初我写了Telegram机器人,但是Roskomnadzor阻止了Telegram。 我不得不放弃这个决定,以免启动代理服务器而不是一帆风顺。 事实证明,使用Blynk是最佳选择(无所畏惧的开发人员正在努力使用锁)。 这是
项目的
QR码 。 除了他之外,Cayenne项目还有一个电话应用程序。
未实施自动发送到Mosvodokanal的操作,因为 非营利项目,但我们的工作年限是多少? 还是你的。 我没有办法维护服务器并“合法化”发送程序,但是您突然向朋友询问...我将很高兴您的帮助和自由的想法。
莫斯科人通过SMS发送证词,这意味着Web服务器足以接收Waterius数据和带有SMS的页面(
github )。 使用莫斯科国家服务的Fiddler计划的莫斯科专家应该对我
的发送水读数的
Python脚本感兴趣。
发展历程
众所周知,创建新产品的主要障碍之一就是完美主义。 无需检查消费者是否需要就无需进行新功能。 简单的代码更易于开发。
通往完美主义的道路在于
- 通过Internet升级ESP和Attiny固件
- UPD2:
支持HTTPS或加密 - 一个服务器,用户可以在其中下载其脚本以发送水读数。
- 使用STM8L / MSP430(它们更经济,引脚更多)
- UPD2:连接后
可视检查是否与电表接触 - 电子邮件发送期限的指示 字母
- UPD2:
对 Namur 输出的计数器支持 - 泄漏传感器(UPD2:复位后完成)
- 起重机控制
- 电表支持
致谢
感谢
Ivan Kovalenko和Ivan Ganzha在Aigul,E。Lapin的电气工程方面的建议 为了正确的生活和父亲的方法,因为我不仅可以编程,还可以焊接,还可以给您-请注意!

我将很高兴收到任何建议,请求和批评!
预热烙铁!
Github项目UPD2 05/07/2019:感谢所有为项目提供帮助的人!