• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Gct012
V2EX  ›  程序员

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

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

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