go介绍
go安装
-
下载源码
-
解压后有一个go目录
-
将go目录mv到/usr/local
-
将/usr/local/go/bin加入到环境变量,vi /etc/profile
环境变量
-
GOROOT: 设置成/usr/local/go即可
-
GOPATH: 设置一个go项目的的工作目录。
go install
/go get
和 go的工具等会用到GOPATH环境变量.GOPATH是作为编译后二进制的存放目的地和import包时的搜索路径 (其实也是你的工作目录, 你可以在src下创建你自己的go源文件, 然后开始工作)。
- GOPATH之下主要包含三个目录: bin、pkg、src
- bin目录主要存放可执行文件; pkg目录存放编译好的库文件, 主要是*.a文件; src目录下主要存放go的源文件
下载并编译rttys
在执行go get -u github.com/zhaojh329/rttys
的时候(依赖GOPATH),go get命令会先下载然后自动的进行编译,但是这个go get过程必须要有GOPATH,在GOPATH目录下会有三个文件夹:bin、src、pkg。
GOPATH=$HOME/rttys `go get -u github.com/zhaojh329/rttys`
-
认证
./rttys -gen-token Please set a password:****** Your token is: 3390d2cb2766ab6fff7dbe49b24eeabf
-
将rttys被systemd管理
扫描二维码关注公众号,回复: 13484598 查看本文章sudo mv rttys /usr/local/bin/ sudo mkdir /etc/rttys sudo cp rttys.conf /etc/rttys/ vi /etc/systemd/system/rttys.service
加入/etc/systemd/system/rttys.service内容如下:
[Unit] Description=rttys After=network.target [Service] ExecStart=/usr/local/bin/rttys -conf /etc/rttys/rttys.conf TimeoutStopSec=5s RestartSec=2 Restart=always [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl enable rttys sudo systemctl start rttys 运行后会提示两个端口 5912:是device的端口,运行rtty时需要指定。 5913:是web服务器的端口
-
访问http://95.169.20.162:5913
上面的服务器是我的公网服务器。token为
-t 3390d2cb2766ab6fff7dbe49b24eeabf
。
设备上运行rtty
sudo rtty -I 'My-device-ID' -h '95.169.20.162' -p 5912 -a -v -d 'My Device Description' -t 3390d2cb2766ab6fff7dbe49b24eeabf
其中:我-t 3390d2cb2766ab6fff7dbe49b24eeabf
是token,和/etc/rttys/rttys.conf中的token一样。
rtty这个客户端程序,可能会有崩掉的可能,所以如果是嵌入式设备的话最好是永久在线,我们最好还是用systemd来管理。
vi /etc/systemd/system/rtty.service
。
[Unit]
Description=rttys
After=network.target
[Service]
ExecStart=rtty -I 'My-device-ID' -h '95.169.20.162' -p 5912 -a -v -d 'My Device Description' -t 3390d2cb2766ab6fff7dbe49b24eeabf
TimeoutStopSec=5s
RestartSec=2
Restart=always
[Install]
WantedBy=multi-user.target
执行远程命令
{"devid": "test", "username": "test", "password": "test", "cmd": "echo", "params": ["hello rtty"]}
curl -k http://95.169.20.162:5913/cmd -d '{"devid":"My-device-ID","username":"vk","password":"123456","sid":"7300da82837f58b7f4a634316af8fa85","cmd":"echo","params":["vk"]}'
http://95.169.20.162:5912/cmd?token=bcd7041aa790904f110db52a79beb696