有没有懂智能家居开发的大神可以指导下的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Gct012
V2EX    程序员

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

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

    如果在可以流量的情况下使用. 那就只能研究抓包了. 是面板定时给服务器发信息给数据.还是你打开 app,服务器才找面板要数据.
    Gct012
        4
    Gct012  
    OP
       291 天前 via Android
    @M003 可以用流量的,不是局域网呢。我看这个 app 感觉像是个人开发的,我的想法是找老板要一下这个温控器的一些技术资料,看看是不是可以自己对接一下。这样比抓包和反编译可能效率高一些
    yihy8023
        5
    yihy8023  
       291 天前
    抓包 app 分析下用什么方式实现的,比如 ESP32 、米家 miot 、tuya 涂鸦等等。集成智家家居模组的概率挺大的,如果是这样就可以在提取到 ip 、鉴权等信息后,直接接入到 Home Assistant 里面。
    Ackvincent
        6
    Ackvincent  
       290 天前
    地暖面板是控制壁挂炉还是分水器的? 直接买一套好用的控制器不久结了,搞硬件比软件更简单高效。
    zhangeric
        7
    zhangeric  
       290 天前
    感觉应该是 app 服务器网络不行.
    hwb
        8
    hwb  
       290 天前
    直接抓包就好了,之前搞过一个智能插座,他甚至没有权限控制的,都是明文传输。我直接抓了接口自己写脚本去模拟请求,忘了通过巴法云还是哪个平台,用小爱同学去控制
    Gct012
        9
    Gct012  
    OP
       290 天前
    @Ackvincent 我的是电地暖,其实很简单,就是通过温控器检测温度来控制打开和关闭,没其他功能了,所以才想着自己弄一下
    Gct012
        10
    Gct012  
    OP
       290 天前
    @yihy8023 @hwb 那我这边还有个疑惑就是我的理解 app 只能通知后台,然后后台服务下发指令给到温控器(我自己理解的不知道对不对),我猜目前响应慢是因为后台服务或者网络比较慢,这个通过抓包能解决嘛?
    ljl024
        11
    ljl024  
       290 天前
    如果是水地暖的话,一般面板就是个温控开关,可以考虑换个灵活性更好的,直接接入 HA 或者米家的这类平台,然后用自动化流程去控制
    yihy8023
        12
    yihy8023  
       290 天前
    @Gct012 你这种电地暖的,应该可以把面板换成支持米家的,直接加到米家就行。淘宝上搜一下。
    wisej
        13
    wisej  
       290 天前
    @Gct012 你的温控器与外部通过蓝牙/wifi 通信的?
    “这个通过抓包能解决嘛?” 只要协议逆向出来当然可以。指令从你本地发出不走 app 服务器
    Ackvincent
        14
    Ackvincent  
       290 天前
    @Gct012 那更简单 直接换控制器,甚至一个米价插座配合温度传感器就能搞定。还搞什么协议,浪费时间。
    XXWHCA
        15
    XXWHCA  
       290 天前
    换支持米家的面板最简单,地暖面板通常只有 3 根线,控制分水器电磁阀,接上就行了
    LXGMAX
        16
    LXGMAX  
       290 天前
    抓包多费神,直接线拉出来接别的控制器
    Gct012
        17
    Gct012  
    OP
       290 天前
    @wisej 对,我就是想指令不走 App 服务器,那温控器和外部是通过 wifi 通信的,这块我不太懂,您指的是抓温控器的包对吧?我只会手机 App 的抓包,有什么工具吗?
    isSamle
        18
    isSamle  
       290 天前
    1. 地暖、电热之类的不建议魔改,存在安全隐患,如果故障导致出现意外情况,可能会因为这个原因不予赔偿
    2. 推测业务逻辑是:手机 APP 指令→后台服务器→地暖板子
    3. 纯开发方法(个人理解可以尝试的方向、没试过):给家里路由加下拦截,看下能不能看到指向这个地暖的请求,然后修改本地的域名解析,将这些请求全部替换成自己的
    4. 找会硬件的,改一下控制器,如果能不能改成接收红外信号之类的遥控器指令,然后加个开发板实现代码发送指令
    IvanLi127
        19
    IvanLi127  
       290 天前
    先抓包看看情况吧。我觉得最好情况就是他明文走的 MQTT 协议连运营方的服务器,本地把 IP 劫持到本地服务器上,就能愉快玩耍了。
    Gct012
        20
    Gct012  
    OP
       290 天前
    @IvanLi127 还有个问题就是我的路由器是小米的,我看了一圈后台界面,有什么办法可以抓温控器和路由器之间的包么...
    IvanLi127
        21
    IvanLi127  
       290 天前
    @Gct012 #20 这就是八仙过海,各显神通了,得自己动手研究研究了,一种方法是电脑开热点,跑 wireshark 抓。
    Gct012
        22
    Gct012  
    OP
       290 天前
    @IvanLi127 对啊,有道理,感谢大神!
    chen05
        23
    chen05  
       290 天前
    有直接米家替换的模块吧
    cqrg
        24
    cqrg  
       289 天前
    抓包,获取 api ,然后用 esp32 跑个 esphome 接入 HA
    hwb
        25
    hwb  
       288 天前
    @Gct012 不知道啊,你得具体看接口了,有的是通过 mttq ,有的是直接走的接口。抓不到包就去解 Android 包,也是很简单,看不懂就丢 cursor 给你找。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     861 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:11 PVG 05:11 LAX 14:11 JFK 17:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86