婴儿床摆动设备的界面-从密钥卡到网络



自从我写了第一有关婴儿床摇动装置的文章以来,已经过去了一年多的时间在这段时间里,我开发了一个带有屏幕的新控制面板,然后开发了该设备的Web界面。如果您有兴趣了解更多信息,欢迎加入cat。



在开始时-关于设备本身的几句话,是先前系列的简短摘要。

因此,该设备旨在通过摆锤机构摆动婴儿床。婴儿床的固定部分安装有内部装有电磁体和电子设备的驱动单元。钕磁铁固定在运动部件上。永磁体在电磁体上方飞行时会感应出一个EMF,其形状决定了将同一电磁体连接到电源的力矩。因此,电磁体在正确的时间推动永磁体,从而推动婴儿床的可移动部分。在不给电磁体供电的同时,它还充当婴儿床可移动部分的位置传感器。

图片

我为自己制作了该设备的第一份副本。事实证明,这类设备可以出售,三年多来,我一直在取得不同程度的成功。现在,通过俄罗斯最大的儿童家具制造商之一,小批量生产了该设备的四种型号。

在用于摇动婴儿床的设备的第一模型中,这样的遥控器用作控制面板。上面有四个按钮,具有“开始”,“停止”,“更强”和“更弱”的功能。因此,使用此遥控器,您可以开始和停止挥杆,以及更改其强度-选择六个可能的水平之一。密钥卡的工作频率为433 MHz,并且没有反馈。



一段时间后,开发了设备的简化版本(0型),通常没有控制面板。他们用手摇摇婴儿床-它继续无限期地摆动。已停止-摇摆停止。

在开发下一个第二个秋千设备模型(模型2)时,主要任务是添加一个晕车计时器并从孩子的哭声中开始摇摆。事实证明这是一个问题。

事实是,摆动时间必须以小时和分钟为单位进行设置。麦克风灵敏度也可以通过某种方式设置。但是,所有这一切都需要一个界面,带有四个按钮的“盲”遥控器显然是不够的。

当然,首先想到的是对设备外壳进行一些说明。放一些LED和/或小显示屏。借助此小型遥控器,也可以进行控制。但是,该解决方案的缺点是该设备通常安装在婴儿床后壁靠墙的某个难以接近的地方。在这种情况下,有关案件的指示将根本不可见。

因此,决定制造一个带有显示器的控制面板。不到一年的开发时间-带有遥控器的设备已经准备就绪!



控制台内部是ATMega32A,显示屏是诺基亚1202的屏幕,收发器是NRF24L01 +。外壳是现成的标准,键盘是薄膜。通过遥控器,您可以设置晕车时间,麦克风灵敏度,摆动强度以及开始和停止过程。对于同一房间中多张床的情况,由于NRF24L01 +可以轻松实现此目的,因此可以更改控制通道。

控制台和设备之间经常保持对话。这样做是为了获得反馈-设备的当前状态显示在屏幕上,即是否正在进行摆动过程(如果是,遥控器上的婴儿床图像也在摆动),还需要抽多少时间,晕车强度和麦克风灵敏度的当前设置是什么?为了使控制面板中的电池不会很快耗尽,提供了一种睡眠模式-如果半小时内没有人按遥控器上的按钮,则遥控器将“入睡”。

在“ Model 2”的开发和发布之后,尽管产量很少,但我仍在考虑改进摆动装置。我想,如果您可以通过手机控制设备,那就太好了!或通过平板电脑。例如,当我睡觉时,我在旁边放了一部手机。有一个闹钟和邮件,​​您可以在睡前阅读一些东西。当然,许多年轻的父母也会这样做。为什么在摆动设备上使用单独的遥控器-通用的东西-智能手机或平板电脑!我想让他成为控制面板。

现代智能手机有多少合适的无线电接口?蓝牙和Wi-Fi。起初,我考虑过通过蓝牙控制摆动装置。从专业人士的角度来看-从设备侧面轻松实现。您可以使用模块-“桥接”蓝牙UART,这就是问题所在。

的确,从智能手机的角度来看-持续存在的问题。

要始终将蓝牙保持在手机上是一个坏主意。此外,对于每个操作系统,您都必须编写自己的软件,这些至少是两个应用程序-适用于Android和iPhone。但是Windows Phone下也有一些电话。。。在深入研究该主题之后,我发现iPhone无法解决任何问题,似乎存在一些限制。好吧,即使一切顺利。必须先编写应用程序。然后在适当的商店中发布。然后,需要保持它们处于良好的工作状态,以纠正错误并响应用户评论。问题是我从来没有做过任何事情,对我来说,这是一片“一片一片游击队的黑暗森林”,对于这部分工作,您需要雇用一个知识渊博的人。并且不雇用任何人,而是在计划支持方面不断与他合作。好吧,或者自己学一切。事实证明,它有点贵,而且技术上也很丑陋。因此,蓝牙消失了。

然后我发现了ESP8266的存在。

是的,这里已经有很多关于这些模块的文章,此外,在它们上还有一个很棒的俄语论坛。不到一年前,很长一段时间以来,我一直在考虑为我的应用程序使用此模块,因此我无法对其功能形成看法。现在,从新来者到同一论坛的问题来看,我看到许多人不知道该模块(芯片)的功能。

这里要说明的重要一点是,ESP8266最初是“配备”了非常“原始”和“笨拙”的中文SDK,因此该芯片无法用于解决真正的“战斗”任务。因此,当然可以播放LED并使其闪烁,但无法稳定地进行操作。

但是,在过去的一年中,情况发生了根本变化。在专门针对该芯片的俄语论坛上,其参与者之一实施了一个项目-“在ESP8266上开发小型Web服务器的'库'。”一个不起眼的隐姓埋名昵称为pvvx的人几乎是单手为ESP8266创建的固件,它使您可以充分展示该芯片的功能。该项目的源代码可供公众访问,作者允许您随意使用它们,包括用于商业目的。而且,pvvx继续用新功能来补充程序集,并且非常重要的是,它在论坛上很活跃,并且不厌倦(很可能)为初学者(也不是初学者)提供建议。

因此,我不怕麻烦,出色的工作,(除其他事项外)有可能为任何设备提供成熟,稳定的Web界面。芯片和固件的功能不限于此应用程序,但我需要解决这个问题。

使用ESP8266的优势显而易见,此外,目前尚无价格和功能可比的其他选项。

的确,ESP8266模块的价格约为170卢布,您可以通过设备控制界面来组织Web服务器,这样您就完全可以在任何操作系统下都不编写任何程序,只需要创建一个Web界面即可。该模块既可以作为接入点也可以作为站点运行,也可以同时在这两种模式下运行。例如,通过将模块作为接入点连接,可以配置其通信参数,然后根据需要将模块作为站点连接到家庭Wi-Fi网络。程序集(如作者所称的“转储”)具有可从Web界面使用的许多设置(超过250个)。

当然,ESP8266还有其他固件,但是它们都不具有像pvvx那样的功能,稳定性和工作质量(这是我对工作的主观意见)。

基于此固件,为婴儿床摇摆设备开发了Web界面。 Web部件本身的编写方式使站点可以在具有不同大小和分辨率的各种屏幕上正确显示。

图片图片图片

当然,该设备的硬件必须重做(实际上-再做一次)。现在,摆动算法在Attiny441微控制器上实现,并通过UART与ESP8266交互。使用ST1S10提供3.3伏电源。选件板有错误(通过表面安装固定):



因此,现在将“ Wi-Fi”和网络界面“绑定”到任何东西变得比以往任何时候都更加容易。同时,系统将运行稳定,组件成本仅为250卢布(如果您计算整个绑定,不仅是ESP8266模块本身)。

因此,出现了用于摇动婴儿床的设备的Web界面。

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


All Articles