我的文章标题
迫于物业来修理因漏雨(顶楼)而损害的墙面。在清理工作完成后试图使用小蛋空气净化器监测室内空气质量。 才知道这个公司在2020年已经倒闭了。app当然也无法使用。作为一个程序员(不是),我该做些什么了。
好在虽然一直没用,开机后它还是能自动连接到家里的无线网。在路由器上随便抓一下包:
发现设备试图往三个地方做连接。一是在刚通电时(插电源即联网)查询一次dns,网址是api.iqegg.com(这个网站已经不存在了)。二是向这个网址的80端口以http协议get消息,三是向这个网址的1883端口以我看不懂的方式连接。
首先在路由器上将这个网址随便的重定向到家里的php服务器,然后随便写一个dev-interface.php,将这些数据记录一下。随便猜一下这些数据的含义,再随便写个页面呈现一下:
考虑到小蛋每半分钟就上报一次这些数据,最后再给这个页面加一个半分钟的自动刷新。现在可以在网页上看到运行状态了。
随便想了想,既然机器是明文传输数据,app该不会也是明文传输数据吧?随便百度了一下,果然在漏洞网找到了相关资料。随便写个interface.php,现在app也能看到状态了。
考虑到还有个1883端口问题。而且在漏洞网上提到了设备利用mqtt方式控制。随便搭一个mqtt服务器,瞬间看到了设备注册。
花了亿点时间调试,app可以控制了。当然整套环境还有很多不完善的地方,比如没有统计数据(历史数据),温度和湿度没有校准,个别信息粗暴的返回一个固定值(比如app右上角的地区)等。
顺便吐槽一下变量取值,就一个0,要用到5个不同的说法。这得是啥低级程序员才能干出的事。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
piku
校验提示文案
一颗苍耳
校验提示文案
大硕小果果
校验提示文案
大硕小果果
校验提示文案
大硕小果果
校验提示文案
大硕小果果
校验提示文案
一颗苍耳
校验提示文案
piku
校验提示文案