云社区 博客 博客详情
云社区 博客 博客详情

HDC.Cloud | 【IoT最佳实践】基于软件开发平台和ECS搭建IoT应用服务器(上)

我是卤蛋 发表于 2020-02-03 10:50:52 02-03 10:50
我是卤蛋 发表于 2020-02-03 10:50:52 2020/02/03
3
2

【摘要】 基于物联网平台API或SDK开发应用,需要搭建应用服务器,本文为您详细介绍,如何基于华为云软件开发平台和弹性云服务器ECS搭建IoT应用服务器。

《我的物联网成长记4-如何开发物联网应用》中讲到,基于物联网平台API或SDK开发应用,需要搭建应用服务器,本文为您详细介绍,如何基于华为云软件开发平台和弹性云服务器ECS搭建IoT应用服务器,下期为您介绍《如何调试应用服务器》。

----------------构建应用----------------

  1. 开发中心中,选择应用 > 应用在线开发 ,点击“立即前往”

    1580700255188743.png        

  2. 在软件开发平台(DevCloud)首页,点击“新建项目”

    1580700364908444.png        

  3. “新建项目”窗口中,项目模板选择“Scrum”,并配置项目信息,点击“确定”

    项目名称:QuickStart
           

    spacer.gif1580700365532434.png        

  4. 在新建的项目中选择代码 > 代码托管 可进入代码仓库列表。软件开发平台提供三种新建代码仓库的方式:

    a. 点击新建 > 普通新建,新建一个空白的代码仓库。

    b. 点击新建 > 导入外部仓库,将外部Git或者SVN代码仓库导入软件开发平台。

    c. 点击新建 > 按模版新建,使用模版新建一个代码仓库。本示例中使用这种方式。

    1580700365254203.png        

    搜索“iot”,点击“Huawei_IoT_Demo”,点击“下一步”。

    1580700365174841.png        

    完成各项参数配置后,点击“确定”。配置说明:

  • 请输入代码仓库名称:根据规划进行填写,以“QuickStart”为例

  • 选择.gitignore:Java

  • 其余参数:保持默认即可

    1580700367844941.png
           

5. 单击新创建的仓库名称,进入该代码仓库。

1580700366273225.png

spacer.gif若您想要定制应用,可以使用Git工具将代码拉到本地修改后再重新提交至代码仓库。

业务代码位于src > main > java > com > huawei目录下,几个关键参数的修改方法如下:

  • 其中“IP”为应用服务器的弹性IP(请查看参考:创建ECS主机组),无法通过业务代码修改。

  • “8080”为Spring应用的启动端口,可在src > main > resources > application.properties文件中修改“server.port”的值。

  • “/receive-data”为映射地址,可在业务代码目录下controller > CollectDeviceData.java文件中修改“PostMapping”的值。

  • 物联网平台应用接入地址:请修改业务代码目录下utils > Constants.java文件中的常量“NORTH_IP”和“BASE_URL”。

  • 应用服务器接收推送消息的地址:该样例接收推送的地址格式为“http://IP:8080/receive-data”

注:本文档后续的操作均基于未修改的代码样例。

6. 选择构建&发布 > 编译构建

1580700366371807.png

spacer.gif7. 在“编译构建”中,点击“新建任务”

1580700367795768.png

8. 在新建编译构建任务 > 基本信息中,配置任务名称,以“QuickStart”为例,点击“下一步”

1580700367336609.png

9. 在新建编译构建任务 > 选择源代码中,配置各项参数,点击“下一步”。配置说明:

  • 源码源:DevCloud

  • 源码仓库:与创建的代码仓库名称一致,以“QuickStart”为例

  • 分支:master

spacer.gif1580700367606427.png

10. 在新建编译构建任务 > 选择构建模板中,选择“Maven”,点击“确定”

1580700367751973.pngspacer.gif

11. 在构建步骤 > Maven构建中,配置“步骤显示名称”“工具版本”,此处以默认配置为例。

1580700368599833.pngspacer.gif

12. 在构建步骤 > 上传软件包到软件发布库中,配置各项参数,此处以默认配置为例,点击“新建”

spacer.gif1580700368701859.png

13. 点击“执行”

1580700369609837.png

spacer.gif等待工程完成构建。

1580700369163764.pngspacer.gif

14. 在工具栏选择“部署”,点击“新建任务”

1580700369297047.png

15. 在新建部署任务 > 基本信息中,配置任务名称,此处以默认配置为例,点击“下一步”

1580700369722513.png

16.在新建部署任务 > 选择部署模板中,选择“SpringBoot应用部署”,点击“确定”

1580700370754092.png

17. 在部署步骤 > 停止SpringBoot服务中,配置各项参数:

如果是第一次部署该应用,则可以在“控制选项”中去勾选“启用”

  • 步骤显示名称:以默认值为例

  • 主机组:如果无可用主机组,则点击“新建”完成创建主机组后,再进行选择。操作详见参考:创建ECS主机组

  • 服务操作类型:停止服务

  • 服务对应的绝对路径:若之前已部署过该应用,填写该应用在主机上的实际路径,以“/home/huawei-0.0.1-SNAPSHOT.jar”为例

    1580700370906899.png
           

18. 在部署步骤 > 安装JDK中,配置各项参数:

如果主机上已经安装JDK,则可以在“控制选项”中去勾选“启用”

  • 步骤显示名称:以默认值为例

  • 主机组:如果无可用主机组,则点击“创建主机组”完成创建后,再进行选择。操作详见参考:创建主机组

  • jdk版本:根据需要选择jdk版本

  • jdk安装路径:填写jdk在主机的安装路径,以“/usr/local/jdk”为例

    1580700370164030.png
           

19. 在部署步骤 > 选择部署来源中,配置各项参数:

本指导基于在DevCloud构建的任务来进行部署。

  • 步骤显示名称:以默认值为例

  • 选择源类型:构建任务

  • 请选择构建任务:选择已经在DevCloud构建的任务,以“QuickStart”为例

  • 构建序号:配置已选择构建任务的序号,以“Latest”为例

  • 下载到主机的部署目录:构建任务生成的软件部署到主机的路径,以“/home”为例

    1580700372823111.png
           


20. 在部署步骤 > 启动SpringBoot服务中,配置各项参数:

  • 步骤显示名称:以默认值为例

  • 主机组:如果无可用主机组,则点击“创建主机组”完成创建后,再进行选择。操作详见参考:创建主机组

  • 服务操作类型:启动服务

  • 服务对应的绝对路径:由19设置的部署目录(例如“/home”)加上12设置的构建包名称(例如“huawei-0.0.1-SNAPSHOT.jar”)决定,例如“/home/huawei-0.0.1-SNAPSHOT.jar”

  • 其余参数保持默认。

    1580700371712888.png        

21. 在部署步骤 > URL健康测试中,配置各项参数,点击“保存并执行”

  • 步骤显示名称:以默认值为例

  • 主机组:如果无可用主机组,则点击“创建主机组”完成创建后,再进行选择。操作详见参考:创建主机组

  • 等待时间:进行URL路径测试前的等待时间,以“3”为例

  • 测试路径:填写测试服务状态的URL地址

    1580700372932246.png
           

22. 等待软件在主机部署成功。

1580700372227525.png

----------------参考:创建ECS主机组----------------

1. 点击“新建”。

1580700372801594.png

2. 在新建主机组界面中配置主机组基本信息,点击“保存”。配置说明:

  • 主机组名称:根据规划进行填写,以“iot”为例

  • 操作系统:根据主机操作系统进行配置,以“linux”为例

1580700372530235.png

3. 在新创建的主机组中,点击“添加主机”。

1580700373903011.png

4. 在“添加主机”窗口中,配置主机信息,点击“添加”。各项参数请根据主机系统的实际信息进行配置。

如果没有主机或弹性IP,请参照界面提示购买虚拟机和弹性IP。

1580700373699613.png

添加成功后,将在主机组中显示新添加的主机条目。


最后,让我们宣传一下:

3月27-28日,华为物联网平台在华为开发者大会静候您的光临。

华为开发者大会2020(Cloud)是华为面向ICT(信息与通信)领域全球开发者的年度顶级旗舰活动。大会旨在搭建一个全球性的交流和实践平台,开放华为30年积累的ICT技术和能力,以“鲲鹏+昇腾”硬核双引擎,为开发者提供澎湃动力,改变世界,变不可能为可能。

我们期待与你共创计算新时代

在一起,梦飞扬!

1583829665894051.jpg

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 2
点赞
分享文章到微博
分享文章到朋友圈

评论 (3)


疾风知劲草

1楼2020-02-03 14:27:41

胡英俊啦啦啦

2楼2020-03-31 14:22:04
你好,为什么我搜不到Huawei_IoT_Demo的代码模板啊?

胡英俊啦啦啦

3楼2020-04-03 20:09:17
请问服务的绝对路径怎么找啊
0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消