如何使用物联网低代码平台进行服务管理?

物联网低代码平台基于微服务架构设计,AIRIOT 物联网低代码平台具有系统维护功能,其中包括服务管理,服务管理包括开发服务、添加服务和服务操作。各个功能模块以服务的形式创建、部署、运行,主要服务包括数据接口、后台计算、驱动等。
服务管理
开发服务
开发环境搭建
接口服务、任务(计算)服务和驱动程序开发前均需先搭建开发环境,上节前端已安装好 NodeJS 和 Visual Studio Code,后端开发只需安装相应 Node SDK 即可,安装命令为“npm i -D @gtiot/sdk-nodejs”。在安装 Node SDK 前需先创建项目,创建方法同前端开发。以接口服务开发为例,这里创建一个文件夹“interface”,并用 VS Code 打开,然后输入命令“npm i -D @gtiot/sdk-nodejs”安装 Node SDK,最后输入命令“npm init”创建项目。接口服务开发环境示例如图 9-14 所示。依次展开 node_modules 目录和 @gtiot\sdk-nodejs 目录,可以看到 example 目录,example 目录下为后端开发例程,包括驱动开发、接口服务开发和任务(计算)服务开发,读者可参考例程开发相应服务。

图 125
此外需安装一个简单的打包工具 ncc,可以把一个 node 项目打包成单个的 js 文件,安装命令为“npm i -g @zeit/ncc”。
接口服务开发
示例代码
在 interface 目录下创建 src 目录,并将 example/service 目录下 main.js 文件和 Dockerfile 文件复制至 src 目录下,打开 main.js,修改导包目录,修改后程序如下所示。首先导入程序包,然后新建类 TestService,并继承 Service 类,包含 init、start、stop 等函数,任务的启动、停止通过此类完成的,最后实例化并开始运行任务。
https://www.yuque.com/yangzi-c46cf/zpudqx/gas6l4?inner=cOWIs
本地运行
进入 src 目录,输入命令“node main.js”在本地运行 main.js 脚本,执行结果如图 9-15 所示,打开浏览器,在地址栏输入本地地址和端口“127.0.0.1:8080/”,打开接口服务页面,如图 9-16 所示,显示“Hello World!”,即程序第 33 行“app.http.get('/', (req, res) => res.send('Hello World!'))”的作用。用户可根据实际需求,开发相应接口服务。

图 126 执行结果

图 127 接口服务页面
应用开发
打包文件
按键盘组合键<Ctrl>+<C>结束脚本,输入打包指令“ncc build main.js”将 main.js 打包,打包后文件目录如图 9-17 所示,打包后 src 目录下出现 dist 目录,该目录中 index.js 即 main.js 打包后文件。
修改 Dockerfile
打开 Dockerfile 文件,修改拷贝的文件名,修改 Dickerfile 如图 9-18 所示。

图 128 打包后文件目录

图 129 修改 Dockerfile
后台编译文件
文件拷贝:将上述 index.js 和 Dockerfile 文件拷贝至系统后台任意目录下。
编译镜像:输入编译命令“docker build -t demointerface:v0.0.0 .”编译文件,其中“demointerface:v0.0.0”为接口服务名和版本,其后的‘.’表示编译至当前目录,编译镜像结果如图 9-19 所示。

图 130 编译镜像结果
保存镜像:输入保存命令“docker save -o demointerface.tar demointerface:v0.0.0”,保存镜像,其中“demointerface.tar”为保存镜像名,“demointerface:v0.0.0”为接口服务名和版本,应与第 2) 步一致。保存镜像结果如图 9-20 所示,当前目录下出现 demointerface.tar 镜像文件。

图 131 保存镜像结果
服务部署
将 demointerface.tar 镜像文件复制至本地,进入 AIRIOT 中台,通过“服务管理”à“添加服务”将开发的接口服务部署至平台,添加服务如图 9-21 所示,信息完成后并上传镜像后,单击保存。查看服务日志如图 9-22 所示,表名服务已启动。
至此,完成一个简单的接口服务开发和部署。

图 132 添加服务

图 133 服务日志
添加服务
按照以上标准搭建开发环境并进行接口的开发,开发完成以后生成对应的服务并打包成为 DOCKER 镜像,打开平台服务管理,点击上传镜像,上传 DOCKER 镜像。

图 134
打开表单创建,按照服务信息创建表单。

图 135
服务操作
上传服务完成以后,用户可以通过在线升级或者离线升级修改自己的服务版本(区别:在线升级为在线拉取,离线升级可以通过导入用户包修改)。

图 136
点击修改参数,可以修改服务程序的配置文件,配置页面如下:

图 137
打开查看日志,可以查看服务的运行日志,截图如下:

图 138
试用产品:申请试用|AIRIOT 让物联网项目更简单
评论