V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Gct012
V2EX  ›  程序员

有没有懂智能家居开发的大神可以指导下的

  •  
  •   Gct012 · 2 天前 via Android · 1990 次点击
    我目前家里的地暖有一个温控面板,可以通过手机 app 远程控制( wifi ),但是这个 app 感觉有点粗糙,经常性会出现预设的配置加载不出来,手机上的设置无法在短时间内下达到温控器上这些情况(应该是后台服务网络较差)。因为这个温控器逻辑非常简单所以想自己弄一个 app 替换当前这个,后台服务器有白嫖的云主机。我之前没做过这个方向的开发(只能做一些基础的 java 和前端开发),想问下需要掌握哪些技能以及可行性
    25 条回复    2024-12-25 09:10:51 +08:00
    Tink
        1
    Tink  
       2 天前
    抓包逆向伪造请求
    crac
        2
    crac  
       2 天前 via iPhone
    既然考虑到替换,那就先把 app 扒出来反编译看看?
    M003
        3
    M003  
       2 天前
    远程是只能在 WIFI 情况下? 如果这样,是不是没后台呢? 局域网通信呢?

    如果在可以流量的情况下使用. 那就只能研究抓包了. 是面板定时给服务器发信息给数据.还是你打开 app,服务器才找面板要数据.
    Gct012
        4
    Gct012  
    OP
       2 天前 via Android
    @M003 可以用流量的,不是局域网呢。我看这个 app 感觉像是个人开发的,我的想法是找老板要一下这个温控器的一些技术资料,看看是不是可以自己对接一下。这样比抓包和反编译可能效率高一些
    yihy8023
        5
    yihy8023  
       2 天前
    抓包 app 分析下用什么方式实现的,比如 ESP32 、米家 miot 、tuya 涂鸦等等。集成智家家居模组的概率挺大的,如果是这样就可以在提取到 ip 、鉴权等信息后,直接接入到 Home Assistant 里面。
    Ackvincent
        6
    Ackvincent  
       2 天前
    地暖面板是控制壁挂炉还是分水器的? 直接买一套好用的控制器不久结了,搞硬件比软件更简单高效。
    zhangeric
        7
    zhangeric  
       2 天前
    感觉应该是 app 服务器网络不行.
    hwb
        8
    hwb  
       2 天前
    直接抓包就好了,之前搞过一个智能插座,他甚至没有权限控制的,都是明文传输。我直接抓了接口自己写脚本去模拟请求,忘了通过巴法云还是哪个平台,用小爱同学去控制
    Gct012
        9
    Gct012  
    OP
       2 天前
    @Ackvincent 我的是电地暖,其实很简单,就是通过温控器检测温度来控制打开和关闭,没其他功能了,所以才想着自己弄一下
    Gct012
        10
    Gct012  
    OP
       2 天前
    @yihy8023 @hwb 那我这边还有个疑惑就是我的理解 app 只能通知后台,然后后台服务下发指令给到温控器(我自己理解的不知道对不对),我猜目前响应慢是因为后台服务或者网络比较慢,这个通过抓包能解决嘛?
    ljl024
        11
    ljl024  
       2 天前
    如果是水地暖的话,一般面板就是个温控开关,可以考虑换个灵活性更好的,直接接入 HA 或者米家的这类平台,然后用自动化流程去控制
    yihy8023
        12
    yihy8023  
       2 天前
    @Gct012 你这种电地暖的,应该可以把面板换成支持米家的,直接加到米家就行。淘宝上搜一下。
    wisej
        13
    wisej  
       2 天前
    @Gct012 你的温控器与外部通过蓝牙/wifi 通信的?
    “这个通过抓包能解决嘛?” 只要协议逆向出来当然可以。指令从你本地发出不走 app 服务器
    Ackvincent
        14
    Ackvincent  
       2 天前
    @Gct012 那更简单 直接换控制器,甚至一个米价插座配合温度传感器就能搞定。还搞什么协议,浪费时间。
    XXWHCA
        15
    XXWHCA  
       2 天前
    换支持米家的面板最简单,地暖面板通常只有 3 根线,控制分水器电磁阀,接上就行了
    LXGMAX
        16
    LXGMAX  
       2 天前
    抓包多费神,直接线拉出来接别的控制器
    Gct012
        17
    Gct012  
    OP
       2 天前
    @wisej 对,我就是想指令不走 App 服务器,那温控器和外部是通过 wifi 通信的,这块我不太懂,您指的是抓温控器的包对吧?我只会手机 App 的抓包,有什么工具吗?
    isSamle
        18
    isSamle  
       2 天前
    1. 地暖、电热之类的不建议魔改,存在安全隐患,如果故障导致出现意外情况,可能会因为这个原因不予赔偿
    2. 推测业务逻辑是:手机 APP 指令→后台服务器→地暖板子
    3. 纯开发方法(个人理解可以尝试的方向、没试过):给家里路由加下拦截,看下能不能看到指向这个地暖的请求,然后修改本地的域名解析,将这些请求全部替换成自己的
    4. 找会硬件的,改一下控制器,如果能不能改成接收红外信号之类的遥控器指令,然后加个开发板实现代码发送指令
    IvanLi127
        19
    IvanLi127  
       2 天前
    先抓包看看情况吧。我觉得最好情况就是他明文走的 MQTT 协议连运营方的服务器,本地把 IP 劫持到本地服务器上,就能愉快玩耍了。
    Gct012
        20
    Gct012  
    OP
       1 天前
    @IvanLi127 还有个问题就是我的路由器是小米的,我看了一圈后台界面,有什么办法可以抓温控器和路由器之间的包么...
    IvanLi127
        21
    IvanLi127  
       1 天前
    @Gct012 #20 这就是八仙过海,各显神通了,得自己动手研究研究了,一种方法是电脑开热点,跑 wireshark 抓。
    Gct012
        22
    Gct012  
    OP
       1 天前
    @IvanLi127 对啊,有道理,感谢大神!
    chen05
        23
    chen05  
       1 天前
    有直接米家替换的模块吧
    cqrg
        24
    cqrg  
       1 天前
    抓包,获取 api ,然后用 esp32 跑个 esphome 接入 HA
    hwb
        25
    hwb  
       6 小时 41 分钟前
    @Gct012 不知道啊,你得具体看接口了,有的是通过 mttq ,有的是直接走的接口。抓不到包就去解 Android 包,也是很简单,看不懂就丢 cursor 给你找。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5344 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.