来自旧智能手机的智能家居或家庭自动化的反模式

亲爱的读者您好! 另一个有关中间链接管理器如何从架子上陈旧的腺体上吹灰尘的故事是如何做到的,这使各方面的专业人士都感到痛苦。 ¡但是,好吧,朋友!



我承认,这一次我想做正确的一切。 从架子上拿了Raspbery Pi。 这个派与我在自动割草机中已经使用的派相同: 一个帖子链接和另一个帖子链接 。 他带上了蚊子,一切都应该在mqtt上完成,但您将不会再跑了。 割伤下,耙,自行车,焊接不良,完美主义者的地狱。

图片

这一切都是出于补充我的Noorik项目的愿望而开始的。 简而言之-这是GSM模块打开门的DIY解决方案。
要打开门,仅需闭合板上的某些触点即可。

图片

用esp8266代替arduino并使用打开按钮制作了Web界面。 原来很有趣,但是后来我想要一个用于打开滑动门,分段车库门和大门的界面。

当我开始绘制我的所有心愿单时,事实证明我需要相同的东西:

  1. 锅炉控制系统
  2. 安全系统
  3. 监控摄像头的移动接口
  4. 房屋和街道上的温度数据

后端


Malinka工作正常,但是下次打开它时,它只是停止打开。 电源LED首先点亮,然后在3-5秒内平稳关闭,电源插座附近的元件(多保险丝T075)非常热。 在这里,人们已经渴望使用mqtt,blackger来邀请妓女和其他美食。



没关系,他的命运的好处是等待另一个病人。 橙色pi到工作室为零。 我对中国思想的奇迹没有感到多少痛苦-将生活充实到这么小的馅饼中,这超出了我的力量。 我在官方站点和左侧站点上下载了固件,我从手中购买了固件并交换了加密货币。 我想我只是碰到了一个有缺陷的样本。



我意识到命运本身将我推到了自行车制造的怀抱中,为了掩饰我的喜悦,我全身心投入到这项活动中。



首先,我决定使用智能手机作为主机(经纪人,服务器)。 您知道这些旧事物不会消失。 我用了它,我的妻子,女儿,然后这个智能手机上的吹雪机控制了我的机器人 ,我试图把它淹死在河里 (我从未到达过莫斯科河,但是这根管子在我的家乡帕赫拉省沙沙作响了)。 她在这里-三星Galaxy S3的新生活。

在智能手机上安装了Palapa Web服务器和FTP服务器。 在只有三个表的MySQL数据库中,这个想法很简单:值,日志,规则。

  • 在值表中,键/值对。
  • 日志表显示值更改的历史记录。
  • 在规则表中,用于更改某些单元格的规则取决于其他单元格中的值。

所有这些服务器场都提供一个php脚本,该脚本通过http请求从数据库写入或输出数据,还提供计划的规则。
我什至不了解一个人想要看到的编程级别,但是我准备向您展示代码-写入LAN。

前端




我承认自己不要向我扔石头。 我使用了Bootstrap。 是的,有罪。
最初的想法是通过Phonegap将其包装起来并获得完整的应用程序。 我会说更多,我只是这样做了,但是最终,在线版本却变得更加高效。 我和妻子在电话上只是在桌面上创建了一个快捷方式,以在内部ip上打开所需的页面。

每个元素都响应单击事件,并且通过对服务器的请求检查ajax的状态,并在必要时进行更改。 这非常方便,因为您会看到规则已生效或其他用户所做的所有更改。
实际上,代码按需没有问题。

ESP-8266




我尝试了不同的模块和纯ESP-8266。 结果,事实证明,LOLIN V3模块是最方便的选择。



使用开关电源的电源。



门模块需要一个继电器,我担心会触发接触式继电器。 结果,固态和接触式都可以工作。 问题在于,即使没有标签,也会触发大量模块。



当打开模块时,会发生短期打开,这会在打开电源时导致非自愿打开。 通过在声明输出类型之前将其拉为零并声明状态来解决该问题。

digitalWrite(rele, 1); digitalWrite(rele2, 1); pinMode(rele, OUTPUT); pinMode(rele2, OUTPUT); 

结果,车库组件的模块如下所示。 用于检测运动的PIR传感器轻轻地咬入天然皮肤。



在锅炉房中,我的锅炉非常简单,毫无复杂的自动化问题。



此外,每个回路都为一个单独的泵提供服务。



与机器串联时,用于控制泵和锅炉的继电器已打开。



轻轻地将整个经济推向高潮。



韧体


我决定将Arduino IDE用于固件,以免与nodemcu和lua混淆。 在互联网上,尤其是在GT上,为初学者提供了大量信息。
在我看来,有趣的是,连接到wifi的功能。 事实是,在我家中有4个wifi网络,可以添加。 为了不严格设置网络名称,我们首先扫描可用的网络。

SetupWiFi()代码
 void setupWiFi() { WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); while(WiFi.status() != WL_CONNECTED) { int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) Serial.println("no networks found"); else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { Serial.println(""); Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); j=0; ssid=WiFi.SSID(i); Serial.print("Connecting"); ssid.toCharArray(charBuf, 50); WiFi.begin(charBuf,WIFI_PASS); while(WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); j++; if(j>20){ break; } } if((WiFi.status() == WL_CONNECTED)){ break; } } } } Serial.println("Connected"); Serial.println(WiFi.localIP()); } 


当锅炉房的自动模式打开时,将根据时间表检查外部温度和冷却液温度。

  • 在低于14 * C的温度下,打开一楼的温暖地板。
  • 在低于4 * C的温度下,所有电路都打开。

根据管道的横截面和室外温度,根据表格选择冷却液的温度。 当达到所需的室温时,锅炉将关闭。 对所有对象施加一定的磁滞以平滑过渡值。

安全系统的工作更加轻松。 该表中有一个规则,当安全系统打开时,如果在PIR传感器之一上检测到移动,则通过服务之一的API发送SMS。

计划


  • 在远程服务器上创建在线版本,并同步更改以实现远程控制的可能性。
  • 在汽车中显示来自GSM / GPS信标的数据;
  • 当我们的汽车出现在特定区域时,打开大门;
  • 连接到远程控制系统;

通过照片投票。 接下来要执行哪个项目?


在构造销钉上完成Delta 3D打印机


单反相机稳定器


谢谢您的关注。 和你在一起的是SlavaGik。

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


All Articles