如何搭建智能家居系统并通过内网穿透实现远程控制家中设备

文章目录

  • 前言
  • 1. 安装Home Assistant
  • 2. 配置Home Assistant
  • 3. 安装cpolar内网穿透
    • 3.1 windows系统
    • 3.2 Linux系统
    • 3.3 macOS系统
  • 4. 映射Home Assistant端口
  • 5. 公网访问Home Assistant
  • 6. 固定公网地址
    • 6.1 保留一个固定二级子域名
    • 6.2 配置固定二级子域名

前言

Home Assistant(以下简称HA)是个开源的智能家居平台,也叫家庭助手,就像一个软件,比如我们的QQ软件,微信软件。

Home Assistant把家中的智能家居设备整合到HA中,它能够接入的设备非常的多比如大名鼎鼎的小米、博联、易微联、飞利浦、特斯拉…,也可以接入软件,让后让各个品牌之间的设备可以联网。

一个设备,在没接入HA之前,它是个单一设备,只能在自己的生态里面联动,一旦接入到HA上,它就活了,它可以在所有接入的平台里面自己联动,实现各种各样的自动化。

下面介绍Home Assistant 面板+cpolar内网穿透实现在外随时随地远程访问。

1. 安装Home Assistant

这里使用vmwhere 虚拟机进行安装,通过Home Assistant官网的下载链接下载,下载后解压。

vmdk文件:https://www.home-assistant.io/installation/linux#install-home-assistant-container

image-20230329140034810

然后创建一个虚拟机

image-20230329140523751

选择自定义虚拟机

image-20230329140559237

直接下一步

image-20230329140626938

选择稍后安装操作系统

image-20230329140651521

然后选择Linux,版本选择4.x内核64位

image-20230329140916527

设置一下虚拟机名称,然后下面安装的位置可以自己选择,也可以默认

image-20230329141109224

处理器可以选择1个,内核选择两个,这里配置的数量越多,消耗电脑性能越大,可根据本机配置设置

image-20230329141558147

按照官网的要求,需2G以上,这里选择3G

image-20230329141741615

选择NET网络模式

image-20230329141838721

直接下一步

image-20230329141927176

磁盘类型可以默认,也可以选择SATA

image-20230329142125999

这里需要选择现有磁盘

image-20230329142241934

这里选择我们上面官网下载的.vmdk文件

image-20230329142336733

然后选择保持现有格式

image-20230329142435852

最后,点击完成即可

image-20230329142505378

安装成功后启动虚拟机,启动完成后我们可以看到局域网ip地址和端口信息,8123就是管理面板的端口

image-20230329142908172

2. 配置Home Assistant

启动虚拟机后,我们在浏览器上,输入Home Assistant的局域网ip地址加上8123的端口号,就可以看到管理面板

image-20230329143213764

首次访问登陆,需要创建账户,填写相关用户名密码,创建账户

image-20230329143436938

地区选择,可以手动定位,也可以选择自动检测

image-20230329143740404

接下来默认点击下一步即可

image-20230329143904127

然后点击完成,这里提示添加智能设备,可以先点击完成,后面自己设置

image-20230329144017846

然后就进入了控制面板界面

image-20230329144126684

3. 安装cpolar内网穿透

在局域网下的浏览器访问成功后,我们接下来用cpolar内网穿透将其映射到公网上,实现在公网环境下也可以远程访问家里的HA,不需要公网IP,也无需设置路由器。

cpolar官网:https://www.cpolar.com/

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

3.1 windows系统

在cpolar官网下载安装包后,双击安装包一路默认安装即可。

3.2 Linux系统

cpolar支持一键自动安装脚本,详细请参考文章教程

  • Linux安装cpolar内网穿透

3.3 macOS系统

可通过homebrew安装,可参考文章教程

  • macOS安装cpolar内网穿透

20230130105715

4. 映射Home Assistant端口

cpolar安装成功后,在浏览器上访问本地9200端口,访问cpolar web UI管理界面【http://localhost:9200】,使用cpolar账号登录。

20230130105810

点击左侧仪表盘的隧道管理——创建隧道,创建一个http隧道,指向8123端口 ,即Home Assistant的端口

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:home assistant 局域网ip+端口
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20230329151644131

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网地址,然后复制地址

image-20230329151724274

5. 公网访问Home Assistant

打开浏览器,使用刚刚获取的公网地址进行连接访问,此时会出现一个400的错误,如果没有的话,可以跳过此步骤

image-20230330113646549

我们查看日志,看一下提示具体错误,点击左下角配置,点击系统

image-20230330115658528

可以看到日志,点击日志

image-20230330130245362

打开日志后,我们可以看到这么一个问题,大致意思是:从192.168.191.1收到来自反向代理的请求,但HTTP集成未针对反向代理进行设置,所以我们需要修改一下配置文件

image-20230330130645997

解决方法:打开面板,找到左下角配置,点击加载项

image-20230330113824049

去商店下载一个文件编辑器,我们需要修改一个配置文件

image-20230330113845841

找到File editor 文件编辑器

image-20230330113950556

点击安装这个File editor

image-20230330114133188

安装成功后点击启动

image-20230330114417659

然后为了方便下次使用,可以勾选一个在侧边栏显示

image-20230330114525062

开启后,我们从侧边栏即可进入,然后点击左上角文件目录

image-20230330114704791

找到并且点击configuration.yaml的文件,点击一下即可

image-20230330114807991

在文件上添加如下配置,下面ip地址就是我们上面查看日志提示的那个ip地址:

http:use_x_forwarded_for: truetrusted_proxies:- 192.168.191.1

image-20230330131216892

然后我们打开虚拟机关机,重启虚拟机,接着再次输入公网地址访问,即可成功

image-20230330131548575

6. 固定公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。

6.1 保留一个固定二级子域名

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20230330132159756

保留成功后复制保留的二级子域名地址

image-20230330132218331

6.2 配置固定二级子域名

访问http://127.0.0.1:9200/,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的Home Assistant隧道,点击右侧的编辑

image-20230330131957337

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新

image-20230330132252714

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来

image-20230330132345392

然后使用固定https地址打开浏览器访问,同样访问成功,且域名不会发生变化.

image-20230330132444605

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/83854.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重要通知:9月1日起,微信小程序须完成备案后才可上架

微信官方通知 近日,工信部发布了《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,8月9日,微信公众平台也发布了“关于开展微信小程序备案的通知”: 一、备案必要性 在中华人民共和国境内从事互联网信息服务的移动互…

机器学习深度学习——NLP实战(自然语言推断——注意力机制实现)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——NLP实战(自然语言推断——数据集) 📚订阅专栏:机器学习&…

自制编程语言基于c语言实验记录之二:总结三四五六七章之编译类定义

博客前言 由于本书第六七章是编译脚本语言sparrow生成指令、虚拟机运行指令的核心章节,需要连在一起理解,同时三四五章都是六七章的铺垫,所以专门写多篇博客来记录六七章。 同时本书相比《操作系统真相还原》缺少具体例子很难梳理项目整体代…

万界星空科技/免费MES系统/免费质量检测系统

质量管理也是万界星空科技免费MES中的一个重要组成部分,旨在帮助制造企业实现全面的质量管理。该系统涵盖了供应商来料、生产过程、质量检验、数据分析等各个环节,为企业提供了一站式的质量管理解决方案。 1. 实时质量监控 质量管理能够实时监控生产过程…

EasyPOI 实战总结

EasyPOI实战总结 简介 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法 使用EasyPOI 环境搭建 # 1.引入相关依…

c++--动态规划回文串问题

1.回文子串 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示…

C++:构造方法(函数);拷贝(复制)构造函数:浅拷贝、深拷贝;析构函数。

1.构造方法(函数) 构造方法是一种特殊的成员方法,与其他成员方法不同: 构造方法的名字必须与类名相同; 无类型、可有参数、可重载 会自动生成,可自定义 一般形式:类名(形参); 例: Stu(int age); 当用户没自定义构造方法时&…

iOS App逆向之:iOS应用砸壳技术

在iOS逆向,有一项关键的技术叫做“iOS砸壳”(iOS App Decryption)。自iOS 5版本以来,苹果引入了应用程序加密机制,使得大部分应用都需要进行砸壳操作才能进行逆向分析。因此作为开发者、逆向工程师和安全研究人员都需要…

器件介绍TMP1826NGRR、TMP1826DGKR、TMP1827NGRR、TMP1075NDRLR数字温度传感器

一、TMP1826 具有 2Kb EEPROM 的 1-Wire、0.2C 精度温度传感器 器件介绍 TMP1826 是一款高精度、1-Wire 兼容的数字输出温度传感器,具有集成的 2Kb EEPROM 和 –55C 至150C 的宽工作温度范围。TMP1826 在 10C 至45C 的温度范围内提供 0.1C(典型值&#…

关于css 的选择器和 css变量

css 选择器 常用的选择器 1. 后代选择器:也就是我们常见的空格选择器,选择的对象为该元素下的所有子元素 。例如,选择所有 元素下的 元素 div p{font-size:14px}2. 子元素选择器 ‘>’ 选择某元素下的直接子元素。例如,选择所…

LLM-Rec:基于提示大语言模型的个性化推荐

1. 基本信息 论文题目:LLM-Rec: Personalized Recommendation via Prompting Large Language Models 作者:Hanjia Lyu, Song Jiang, Hanqing Zeng, Yinglong Xia, Jiebo Luo 机构:University of Rochester, University of California Los Angeles, Meta AI, University of Ro…

6.基于二阶锥规划的主动配电网最优潮流求解

matlab代码: 6.基于二阶锥规划的主动配电网最优潮流求解 参考文献:主动配电网多源协同运行优化研究_乔珊 摘要:最优潮流研究在配 电网规划运行 中不可或缺 , 且在大量分布式能源接入 的主动配 电网环境下尤 为重要 。传统的启发…