网关搭建
更新时间:2018-10-19 11:16:07
1. 前期准备
1.1 账号注册
注册工业互联网平台的账号。
1.2 安装Docker
在本地下载并安装docker环境,更多信息见附录I——Docker使用说明。
2. 云端网关产品创建
2.1 登录云端产品管理界面
- 登录工业互联网平台,若没注册请先注册。
2.2 新建网关产品
2.3 新建网关设备
2.4 查看网关信息
在网关详情页会显示三元组信息(ProductKey、DeviceName、DeviceSecret),请妥善保存,后续需要在本地网关上配置这些信息。
ProductKey: productKey是物联网套件为产品颁发的唯一标识。这个参数很重要,需要用户保管好,在设备认证以及通信中都会用到;
DeviceName:用户注册设备时,自定义生成的设备编号,可以基于该编号与设备通信,保证产品维度内的唯一性。这个参数很重要,需要用户保管好,在设备认证以及通信中都会用到;
DeviceSecret:物联网为设备颁发的设备密钥,和deviceName成对出现。这个参数很重要,需要用户保管好,在设备认证会用到。
3. 本地环境搭建
3.1 运行docker
sudo docker run -p $(local_port):9999 -itd --name linkedge -v $(local_dir_path):/docker_host_share $(image_path) /bin/bash
$(local_port): 本地控制台端口
$(local_dir_path): 本地共享目录路径
$(image_path): 镜像地址,请以最终发布的镜像为准。
镜像地址为:registry.cn-hangzhou.aliyuncs.com/linkindustry/linkedge:v1.2.1
假设本地控制台端口为1234
,本地共享目录路径为/home/iiot
,则docker的启动命令如下:
sudo docker run -p 1234:9999 -itd --name linkedge -v /home/iiot:/docker_host_share registry.cn-hangzhou.aliyuncs.com/linkindustry/linkedge:v1.2.1 /bin/bash
注:
$(var)
表示var为变量,在实际使用时需要把$(var)
替换为var
具体的值
运行docker后默认会自动启动LinkEdge。LinkEdge启动后可以在本机浏览器中打开本地控制台 https://127.0.0.1:$(local_port)/login
;其中127.0.0.1
为本机IP,\$(local\_port)
为本地端口,默认账户admin,默认密码admin1234。
更多本地控制台的信息见本地控制台使用文档。
3.2 进入docker容器
docker运行成功后,在本机终端中执行下面的命令即可以进入docker容器。
docker exec -it linkedge /bin/bash
docker容器中的/LinkEdge
目录就是我们的网关镜像。
4. 本地网关配置
接下来,我们需要把网关实体和云端创建的网关绑定起来。
4.1 配置网关三元组
打开Link Edge网关本地控制台界面https://127.0.0.1:$(local_port)
,进入网关管理界面,配置网关三元组(将云端网关信息页上的三元组复制下来即可)
4.2 本地状态查看
进入网关管理界面,查看网关状态
4.3 云端状态查看
云端状态查看,进入Link Edge云平台设备管理界面,查看网关状态
附I:Docker使用说明
Docker相关术语
镜像:Docker 镜像是用于创建 Docker 容器的模板
容器:容器是独立运行的一个或一组应用
仓库:用来保存镜像,可以理解为代码控制中的代码仓库
一个仓库中包含多个镜像,以镜像为模板可创建出多个容器,每个容器是独立运行的一个或者一组应用。 容器是镜像的实例,镜像是容器的模板 。
Docker常用命令
创建容器
docker create [OPTIONS] IMAGE [COMMAND] [ARG...] # 创建一个新的容器但不启动它 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] # 创建一个新的容器并运行一个命令
样例展示: docker create -it --name feifei.ivan reg.docker.alibaba-inc.com/aliot-linkedge/linkedge-centos:v0.8.7 /bin/bash docker run -it --name feifei.ivan reg.docker.alibaba-inc.com/aliot-linkedge/linkedge-centos:v0.8.7 /bin/bash
进入容器(容器已启动)
docker exec -it <container name/id> # 不会像attach方式因为退出,导致整个容器退出。 docker container start/stop/restart <container name/id> # 开启/停止/重启
删除容器
docker container rm <id> # 从此机器中移除指定的容器【删除容器时,容器必须是停止状态,否则会报如下错误】 docker container kill <id> # 强制关闭指定的容器
查询容器
docker container ls # 列出所有运行的容器 docker container ls -a # 列出所有的容器
docker ps # 查看我们正在运行的容器 docker ps -l # 查询最后一次创建的容器
docker port <container name/id> <port> # 查看容器端口的映射情况 docker inspect <container name/id> # 查看docker的底层信息, 它会返回一个JSON文件记录着docker容器的配置和状态信息
删除镜像
docker image rm <image id> # 从机器中移除指定镜像
查询镜像
docker image ls -a # 列出机器上所有镜像 docker search httpd # 通过 docker search 命令搜索 httpd 来寻找适合我们的镜像
附II:LinkEdge网关常用命令
进入LinkEdge网关容器,执行以下命令:
cd /LinkEdge/gateway/build/script
启动/重启LinkEdge网关:
./iot_gateway_start.sh
停止LinkEdge网关:
iot_gateway_stop.sh
查看LinkEdge网关状态:
iot_gateway_status.sh