通过Mtrf64 + esp8266 + MQTT Buddy Android应用程序绕过Noolite路由器

挑战赛


绕过Noolite路由器并快速,有效地控制Noolite照明,而无需使用家庭服务器。 全球分散化和在家用设备和Internet事物中全面使用云解决方案。 什么?

大家好!

再说一遍,我带着韧皮鞋,讲述了如何克服昂贵的Noolite路由器,开始控制照明并且不再打扰焊接板,控制器的故事,总的来说,我想打开/安装该应用程序,并且无需额外的操作即可正常工作。 是的...每个人都在写它,但是很少有人这样做,因为通常所有决定都取决于复杂的指令。 现在,我将向您展示:)-朋友们,大家好!

购买noolite照明装置的每个人都遇到以下问题。 让我们简单明了:

1.我卡住了,好! 然后呢? 如何管理时髦的区块,并且它们还带有加密和反馈( 文章
2.是的...他们想要一个以太网网关...用于xxx绿色...管理-确定! 那应用程序呢? 是的...?! 好前锋
3.我开始进行管理-但这有点贵...照明,我想要一些很酷的东西,我还想要脚本-但是我在哪里可以得到它们? (最后这篇文章对方案来说是一个巨大的奖励!)您还需要一台家用服务器:(-最后的所有这些都导致成本,并且已经...预算不高。

这些(或类似的)项目也限制了用户扩展家庭自动化。

任务很明确:我们需要简化生活并使其变得方便-现在让我们尝试通过使用激进方法来解决问题。 我们删除家庭服务器,删除noolite以太网网关。

(Noolite团队的笑声)
有照明控制单元和...用户。
(该字段中应该有一个用户的图片:)带有Noolite块)

要开始管理这些模块,我们需要首先考虑使用的技术,然后了解哪种硬件将帮助我们实现这一目标。

最近,一种数据传输协议非常流行:MQTT-是的,它是一个很酷且非常方便的数据传输协议。 我们和一个变态爱好者团队一起,开发了针对该协议的应用程序,该应用程序可帮助Android用户(在向市场交付产品的过程中,iOS和Windows Phone均已构建)。 链接到本文末尾的应用程序,不要认为它是PR;)-哦-这是PR:D-但是我们需要一个好的应用程序来帮助我们使世界变得凉爽。 MQTT很酷-是的!

我们采用MQTT协议-太好了。 有一个应用程序-很好。 现在注意:回填问题:)-哪种硬件支持MQTT? -是的,他们都用一个声音说:当然是ESP 8266。

进一步煮罗宋汤,搅拌添加的成分,访问noolite网站,并查看其与通讯模块的一般内容……噢!

因此,它们具有用于与这些块进行通信的模块。 我们只需要异国情调。 怎么了 是的,因为我们没有家庭服务器,所以只有块和“分散”的概念。 哦...我期待着争吵和尖叫-哦,好吧,我的头因果报应-让我们继续吧!

我们在站点上看到-我们看到-2个模块:MTRF64 USB和MTRF64-因此,一个USB,第二个只是UART。 好吧,他们找到了一个解决方案:)-由于计算机和电源的USB电压低于5V-Uart先生本人甚至采用3.3V电压都非常漂亮。

我们有什么?
1.阻止Noolite SLF-1-300(带有反馈和加密的阻止)
图片
(图片noolite SLF-1-300)

2. MTRF64 UART模块(由于缺少用于USB的芯片,其成本比USB低!简化为“基本”状态;))
图片
(图片MTRF64 UART)

3. ESP8266模块
图片
(图片ESP8266)

3.使用MQTT(MQTT好友)的应用程序
图片
(图片)

录影带


现在,您需要简化您的生活,并为您提供灵魂代码。 谁想坐下来写很多代码,尤其是使用MTRF64时,您必须爬进码头,那里有很多有用的东西( 链接 )-但是我们需要快速而有效地进行操作。 来自我们团队的开源-欢迎:D> GitHub

我们还需要准备“ ESP8266”(由谁“烧掉”),知道这并不困难,只需2分钟,一切都会为您服务。

准备好出发!


-您可以从站点( https://nodemcu-build.com )下载固件,也可以直接从github存储库获取固件,该存储库随附了所有代码

-烧录ESP8266指令:

sudo python esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 {your_nodemcu_firmware.bin} 

-检查esp8266是否以/ dev / ttyUSB0连接
-我们确认已将{your_nodemcu_firmware.bin}替换为固件名称
-如果没有esptool( 在此处下载;))
-拿走ESP8266开发板-烧完,“烧”到最大!

现在,注意,我们获取并下载完成的代码 :正在运行。

填写代码之前请先阅读!
- 用login \ pass替换您的wifi路由器数据,并用login and pass替换您的MQTT代理。 该代码使用来自cloudmqtt.com的免费MQTT代理。 我们的团队已经筹集了免费经纪人,您可以使用它:mqtt.ximxim.com(mqtt \ mqtt)

链接到GitHub存储库: mqtt_buddy-mtrf64-noolite-esp8266-该代码由Dmitry Karaba开发(我非常感谢他!)。
该代码专门从我们公司XIM,INC的封闭存储库中重新加载到了公开的公共区域以免费下载。

请务必将数据替换为
 -- Credentials SSID = "YOUR SSID NAME" PASSWORD = "YOUR PASSWORD" MQTT_SERVER = "m21.cloudmqtt.com" MQTT_SERVER_PORT = 16487 MQTT_USER = "noo" MQTT_PASS = "noo" 


通过ESPLORER工具在ESP8266上填充代码。

现在我们连接esp8266开发板+ MTRF64。
esp8266 D7 rx-MTRF64 TX
esp8266 D8 TX-MTRF64 TX
esp8266接地-MTRF64接地
esp8266 3V3-MTRF64 3V3

图片
(连接照片)

将代码上传到esp8266-重新启动后,您将无法访问它并更改某些内容(代码)-必须重新编写固件。 怎么了 因为,esp8266自动切换到UART9600连接并开始与MTRF64模块通信。 该代码使用通过d7 \ d8引脚的替代uart连接,主要的RX,TX引脚可以自由工作。 您可以轻松地为“中断”向uart9600的过渡以与MTRF64进行通信建立条件,因为这不是我们的目标和主要任务。


我们做了什么以及它如何运作


mtrf64模块通过UART与esp8266连接,而esp8266又通过您的路由器在线并连接到MQTT自由代理。 另一方面,您作为用户,还通过移动应用程序连接到该云代理,并开始向MQTT通道发送命令,这些通道又被即时“反汇编”,并根据命令通过UART MTRF64模块进行传输! 是的 这就是我们变酷和预算的方式! 是的 当您意识到自己已经建立了适用于您的技术的清晰逻辑链时,这真是太酷了。 谢谢;)

录影带


管理学


进一步说明:我们是否已连接,下一步是什么? 如何管理;)-一切都很简单! 我们将MQTT Buddy应用程序与Google Play合并(在文章结尾处链接),并在此处添加MQTT代理-例如,mqttcloud.com。 现在添加一个新按钮,将Noolite块绑定到MTRF64-成为朋友!

与MTRF64通信的命令
Dmitry Karaba是MTRF64的esp8266代码的开发人员,制作了以下格式的MQTT命令以与模块通信。

  -- mqtt_buddy/noolight/<int:channel> -- mqtt_buddy/noolight/<int:channel>/<XX-XX-XX-XX:address> -- mqtt_buddy/noolight/<int:channel>/bind -- mqtt_buddy/noolight/<int:channel>/unbind -- mqtt_buddy/noolight/<int:channel>/devices 

从MQTT主题中,您可以看到可以直接使用通道以及特定设备的地址,从而可以将所有设备绑定到一个通道,但可以在特定地址使用每个设备。 绑定时可以在主题mqtt_buddy / sys中找到该地址,该模块将以连接的设备的地址作为响应。

向MQTT Buddy添加一个按钮(或在paho的最后使用您的MQTT客户端,控制台,python)。 在MQTT Buddy中-单击“ +”-输入按钮和主题的名称。

向MQTT Buddy添加控件按钮
mqtt_buddy / noolight / 0和数据:“打开,关闭或切换”

并选中一个框:发布-这样,当您单击按钮时-我们可以将命令发送到mqtt主题。

图片


录影带


我们添加了一个按钮,现在我们执行标准块绑定:单击该块,然后在应用程序中单击绑定按钮,然后查看该块如何连接到模块,SLF块上的闪烁指示灯将熄灭。

如果您想了解更多信息-您可以阅读以下主题中的消息:mqtt_buddy / sys-块中的所有信息都到达该位置-每次,所有17个字节的数据都可以在其中找到块的地址以及技术库中发生的事情...

录影带


绑定之后,我们创建一个新按钮来管理带有主题的这些块。

通过MQTT Buddy中的MQTT主题进行块管理
mqtt_buddy / noolight / 0和数据:“打开,关闭或切换”

在应用程序设置中,选中以下框:开关\保留\发布-现在,单击按钮时,命令将发送至主题“ mqtt_buddy / noolight / 0”-esp8266将接收此数据并解析该主题,并将必要的命令发送至MTRF64 noolite模块,然后将发生奇迹。您无需复杂动作就能将其转化为现实的技术奇迹。

如果您已经熟悉esp8266并且已至少刷新过一次,则刷新和管理第一个块将花费您大约5分钟。

====================撕下==============================

按文章链接到硬件和软件


-MTRF 64块
-ESP8266开发板-全球速卖通\无线电市场\在线商店
-MQTT Buddy Android应用程序 (iOS \ Windows Phone在适应中)
-mqtt.ximxim.com-我们的网站-我们在esp​​8266上展示了一个更大的风扇;)-非常感谢您的积极评价,我们试图使IOT更加真实,智能自动化团队Smart Automation Team> XIM,Inc.。

忘了自拍杆
好吧...我忘了在家中的自拍杆,不得不迅速重做办公室吸尘器;)

图片

============== MQTT Buddy Bon脚本==========================

由于我们的系统是分散式的,并且没有家庭服务器-谁来运行脚本? 是的-可以,是的-作者使用了此功能。 它如何运作以及在何处? 在我们的MQTT Buddy应用程序中。 一切都非常简单:添加一个MQTT代理并进入它,然后在顶部有一个手表形式的按钮-这是脚本。

将脚本添加到MQTT Buddy
当您单击时-我们添加了脚本,并且如果您的代理在Internet上可用-然后在正确的时间(注意,考虑了时区,您无需担心和考虑它-只需告诉系统您想要什么时间以及将什么发送给您需要的主题) -通过QOS = 1 MQTT协议进行100%测试)。 我们已尽可能地简化了为用户提供的服务,因此他们不会考虑技术部分并且不会打扰,而只是说“我想要什么” :)-并且它起作用。

图片

这是一项真正有效的服务。 如果有人想获得免费的MQTT Buddy代码以实现PRO功能-您可以在网站mqtt.ximxim.com上订阅该表格:))-还有一个可通过网络访问的展示厅。 仅此而已! 起飞!

祝您有美好的一天,心情愉快,感谢您的反馈,正面的反馈和良好的批评! 善待

您的自动化者Alex B.

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


All Articles