『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: cooklee

[经验分享] 通过ngrok实现公网连接ha

[复制链接]

13

主题

182

帖子

1716

积分

金牌会员

Rank: 6Rank: 6

积分
1716
金钱
1534
HASS币
0
发表于 2017-8-3 10:55:14 | 显示全部楼层
cooklee 发表于 2017-8-3 10:52
目前是这样的 我基本不重启树莓派 所以我一般都是screen -S sunny然后在screen出来的新窗口执行sudo ./su ...

比较麻烦啊,我也没有解决这个问题,目前我是:
setsid sunny clientid xxxxx>/dev/null
每次开机执行一次
回复

使用道具 举报

5

主题

73

帖子

241

积分

论坛分享达人

编码狂魔

积分
241
金钱
168
HASS币
0
 楼主| 发表于 2017-8-3 11:02:55 | 显示全部楼层
lmdf 发表于 2017-8-3 10:55
比较麻烦啊,我也没有解决这个问题,目前我是:
setsid sunny clientid xxxxx>/dev/null
每次开机执行一 ...

我今晚回去研究一下 把他加到系统服务应该就好了
回复

使用道具 举报

30

主题

997

帖子

4149

积分

论坛元老

Rank: 8Rank: 8

积分
4149
金钱
3147
HASS币
0

活跃会员

发表于 2017-8-3 11:11:24 | 显示全部楼层
老司机,谢谢分享
回复

使用道具 举报

13

主题

182

帖子

1716

积分

金牌会员

Rank: 6Rank: 6

积分
1716
金钱
1534
HASS币
0
发表于 2017-8-3 11:16:44 | 显示全部楼层
cooklee 发表于 2017-8-3 11:02
我今晚回去研究一下 把他加到系统服务应该就好了

好的,成功了分享一下
回复

使用道具 举报

5

主题

73

帖子

241

积分

论坛分享达人

编码狂魔

积分
241
金钱
168
HASS币
0
 楼主| 发表于 2017-8-3 12:06:22 | 显示全部楼层
lmdf 发表于 2017-8-3 11:16
好的,成功了分享一下

ok 搞完了一定分享
回复

使用道具 举报

39

主题

749

帖子

4833

积分

论坛元老

Freddy.

Rank: 8Rank: 8

积分
4833
金钱
4059
HASS币
0

最佳新人卓越贡献

发表于 2017-8-3 14:25:55 | 显示全部楼层
cooklee 发表于 2017-8-3 09:42
我的路由器没有公网地址。。。后来不是弄了个ECS么,用他的公网IP做转发,但是ECS就是太贵了。。。 ...

我直接找客服要的,立马给了
回复

使用道具 举报

5

主题

73

帖子

241

积分

论坛分享达人

编码狂魔

积分
241
金钱
168
HASS币
0
 楼主| 发表于 2017-8-3 21:24:23 | 显示全部楼层
南柯醉一梦丶 发表于 2017-8-3 14:25
我直接找客服要的,立马给了

6666666666666
回复

使用道具 举报

6

主题

72

帖子

404

积分

论坛分享达人

积分
404
金钱
332
HASS币
0
发表于 2017-8-4 01:38:00 | 显示全部楼层
Hassio同求如何加入开机启动
回复

使用道具 举报

5

主题

73

帖子

241

积分

论坛分享达人

编码狂魔

积分
241
金钱
168
HASS币
0
 楼主| 发表于 2017-8-4 20:12:43 | 显示全部楼层
设置开机启动:
第一种方法:
1. 我的sunny文件位置位于/home/homeassistant/.homeassistant下,所以在这个目录下面新建一个名为"sunny.sh"的启动shell脚本,内容如下,保存
cd /home/homeassistant/.homeassistant #此处更改为你自己的sunny客户端的文件路径
nohup ./sunny clientid your id >/dev/null 2>&1  #your id改成自己的id,多个id用逗号(半角)隔开

2. 下面把这个启动脚本制作成系统服务,在/etc/init.d目录下新建服务,其实就是新建一个为"sunny"的文件,代码如下,复制,粘贴,保存:
#!/bin/sh
#chkconfig:2345 70 30
#description:sunny

sunny_path=/home/homeassistant/.homeassistant #此处更改为你自己的启动脚本的文件路径
case "$1" in
    start)
        echo "start ngrok-sunny service.."
        sh ${sunny_path}/sunny.sh
        ;;
    *)
    exit 1
    ;;
esac

3. 赋予刚刚创建的"sunny"文件以及"sunny.sh"文件至少755的权限,你想都设777我也没意见,代码如下:

sudo chmod 755 /etc/init.d/sunny
sudo chmod 777 /home/homeassistant/.homeassistant/sunny.sh

4. 接下来注册ngrok-sunny的自启动服务,命令如下:
cd /etc/init.d
sudo update-rc.d sunny defaults
sudo update-rc.d start 70 2 3 4 5

注意,如果提示找不到程序,使用sudo apt-get install sysv-rc-conf自行安装,安装前建议先更新系统,sudo apt-get update,如果还是不行,可以尝试使用
sudo chkconfig --add  sunny
命令
5. 测试服务是否能启动成功,命令如下:
sudo service sunny start

6. 检查自启动的服务,命令如下:
sudo sysv-rc-conf

在出现的界面中,检查sunny是否2345全部选中了,没有选中的话移动光标到2345处,空格选中,重启,打完收工
第二种方法:
如果老铁们第一种方法行不通,可以试试第二种方法,我这里两种都可以实现
1. 我的sunny文件位置位于/home/homeassistant/.homeassistant下,所以在这个目录下面新建一个名为"sunny.sh"的启动shell脚本,内容如下,保存
cd /home/homeassistant/.homeassistant #此处更改为你自己的sunny客户端的文件路径
nohup ./sunny clientid your id >/dev/null 2>&1  #your id改成自己的id,多个id用逗号(半角)隔开

2. 赋予上面文件777的权限

sudo chmod 777 /home/homeassistant/.homeassistant/sunny.sh

3. 接着把sunny启动脚本添加到开机启动中。打开 /etc/rc.local,在exit 0的上一行加上如下代码:
/home/homeassistant/.homeassistant/sunny.sh start

4. 重启树莓派,打完收工~
回复

使用道具 举报

5

主题

73

帖子

241

积分

论坛分享达人

编码狂魔

积分
241
金钱
168
HASS币
0
 楼主| 发表于 2017-8-4 20:14:02 | 显示全部楼层
EabeyTong 发表于 2017-8-4 01:38
Hassio同求如何加入开机启动

我写在回复里了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 11:39 , Processed in 0.095257 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表