使用Harbor+Auzre IOT Edge构建智能边界(2)

Azure上创建IOT Hub服务

  1. 登录到Azure的管理portal,选择新建,物联网,创建IOT Hub:

  2. 创建完成后,选择IOT edge,新建一个IOT Edge的设备:

  3. 创建完成后,点击设备,获取设备ID,设备密钥,连接字符串等等信息:

边界设备部署

  1. 实际上任何可以安装和运行docker的设备都可以作为边界设备来管理,在这个测试案例中,我们选择在Azure上部署一台Ubuntu 1604的虚拟机作为边界设备进行管理,创建过程和harbor服务器一样,不再赘述。
  2. 登录到IOT Edge设备,安装docker环境,安装pip,然后安装IOT Edge运行时:

sudo apt-get install python-pip

sudo pip install --upgrade pip

  1. 接下来我们将设备注册并连接到IOT Hub,需要用到之前创建设备时连接字符串:

    sudo iotedgectl setup --connection-string "HostName=myiothubdemo.azure-devices.cn;DeviceId=myiotedge;SharedAccessKey=p45q791E7KAaompZ5+HoyxAD6vfmNJMeR9OgznerWaI=" --nopass

    启动IOT Edge的运行时,本质上是一个docker的容器,可以使用docker ps来查看状态:

    sudo iotedgectl start

  2. 登录到容器注册表,需要在你的edge虚拟机上安装证书,然后使用docker login:

    sudo mkdir -p /etc/docker/certs.d/stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/

    sudo cp ca.crt /etc/docker/certs.d/stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/

    docker login stevenrepo.chinanorth.cloudapp.chinacloudapi.cn

  3. 添加注册表凭据到IOT Edge边缘设备,注册表服务器就是harbor服务器:

    sudo iotedgectl login --address stevenrepo.chinanorth.cloudapp.chinacloudapi.cn --username admin ---password PASSWORD

构建并发布你的IOT Edge端应用

我们来开发IOT Edge端应用基本的流程是:

  1. 本地开发构建edge端应用
  2. 使用Dockerfile打包成docker image
  3. 使用Docker tag命令标记你的image
  4. 推送image到你的私有容器注册表
  5. 通过IOT Hub在你的边界设备上部署应用

程序开发和使用Dockerfile打包的部分略去,以后有时间再讨论,本例通过在开发机上pull down演示的镜像microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview并将其推送到harbor私有容器注册表中,然后部署到物联网边界设备。

  1. 使用docker pull将你要部署的镜像拉到本地来:

    docker pull microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview

  2. 使用docker标记这个镜像:

    docker tag microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/myrepo/azureiotedge-simulated-temperature-sensor:2.0

注意:stevenrepo.chinanorth.cloudapp.chinacloudapi.cn是你的harbor服务器地址;myrepo是harbor上你的项目名称;后面是image:tag。

  1. 推送标记过的镜像到私有容器注册表:

    docker push stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/myrepo/azureiotedge-simulated-temperature-sensor:2.0

  1. 配置你的IOT Hub上的设备部署,将你的应用部署到物联网边界设备,在Azure管理界面上,进入IOT Hub的IOT Edge设备管理,点击"Set Modules":

点击"添加",添加IOT Edge module,其中name你可以自己起个模块名字,Image URI是你私有容器注册表中镜像地址,例如stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/myrepo/azureiotedge-simulated-temperature-sensor:2.0,点击保存,下一步,最后submit。


大约等待1分钟左右时间,可以看到你的模块mysensor已经部署成功,并处于"running"状态,说明你的容器已经被推送到了边界设备:

  1. 登录到你的边界设备,检查当前的Edge agent日志以及状态:

docker ps

查看edge agent日志,sudo docker logs edgeAgent,可以看到部署执行的命令:

查看我们部署的边界程序,可以看到他在持续不断的产生模拟数据,正常工作:

  1. 通过之前blog介绍的可以使用visual studio code免费的IOT Hub插件进行监控和管理,设置连接字符串后,我们可以看到当前部署的module,以及module发送到云端的消息:

问题故障排查

Azure IOT Edge在中国处于preview阶段,难免会又一些问题,出现问题时除了仔细检查配置,提交支持case之外,也可以自己做一些troubleshooting工作,因为edge端本身就是一个docker运行环境,很多相关的命令都可以来使用:

  1. 日志查看:无论是你的容器还时edge的运行时,都可以通过docker logs来查看问题,例如:

    sudo docker ps

    sudo docker logs -f edgeAgent

    sudo docker logs -f YOURCONTAINER

  2. 关于界面部署出现"Agent configuration format is invalid"错误

    在有些情况下,在界面部署会出现长期pending的情况,检查edgeAgent的日志会发现:

    解决办法:使用Azure CLI进行部署:

#设置环境为Azure 中国

az cloud set -n AzureChinaCloud

#登录

az login

azure cli必须是2.0.24以上版本才可以,az –version可以获得当前版本

添加IOT的扩展

az extension add --name azure-cli-iot-ext

下载例子配置文件: https://github.com/kingliantop/azurelabs/blob/master/IOTEdge/config.json

命令行执行部署即可:

az iot hub apply-configuration --device-id myedgedevice --hub-name myiotdemo --content ./config.json

原文地址:https://www.cnblogs.com/cloudapps/p/9085656.html

时间: 2024-10-14 03:04:50

使用Harbor+Auzre IOT Edge构建智能边界(2)的相关文章

使用Harbor+Auzre IOT Edge构建智能边界

在之前的文章中,我介绍了如何使用Azure Container Registry, IOT Edge, IOT Hub来构建智能边界: 然而在中国的Azure上面,ACR还没有落地,IOT Edge处于预览阶段,那么我们如何来构建IOT Edge环境昵?在中国部署和海外Azure上部署又有什么不同昵?本文介绍如何使用开源的容器注册表Harbor和Azure IOT Edge构建边缘智能环境. 我们使用开源软件Harbor作为分发和保存我们docker image的私有容器注册服务器.Harbor

DNS分离解析与构建智能DNS服务器

一 构建DNS分离解析 方法一 : [[email protected] ~]# vim /etc/named.conf [[email protected] ~]# cd /var/named/ [[email protected] named]# vim crushlinux.zheng.wan [[email protected] named]# chgrp named crushlinux.zheng.*   //授予权限 [[email protected] named]# syste

使用微软的(how-old.net)构建智能门店管理系统

现在是大数据时代,每个企业都要对自己的客户有全面的认识,这样才能最准确的分析客户,做出相应的决策.在实体的门店中,对于客户的管理还是比较低级,很多客户对于企业来说是哑终端,即对于企业来说,完全不知道客户的信息,不知道客户的年龄,性别,收入,爱好等. 智能门店客户信息统计具有以下几个功能: 自动统计客流,统计每天客流量数据 抓拍客户的人像图片,是微软的系统统计客户年龄,性别 根据微软返回的图片的json数据,识别是新老客户 基础设施: 现在各个商场门店都安装了监控系统,但是这样系统仅仅是监控,能做

基于 HTML5 WebGL 构建智能数字化城市 3D 全景

前言 自 2011 年我国城镇化率首次突破 50% 以来,<新型城镇化发展规划>将智慧城市列为我国城市发展的三大目标之一,并提出到 2020 年,建成一批特色鲜明的智慧城市.截至现今,全国 95% 的副省级以上城市.76% 的地级以上城市,总计约 500 多个城市提出或在建智慧城市. 基于这样的背景,本系统采用 Hightopo 的  HT for Web  产品来构造轻量化的 智慧城市 3D 可视化场景,通过三个角度的转换,更清晰让我们感知到 5G 时代下数字化智能城市的魅力 预览地址:HT

微软智能云再创新高,Tech Summit 2018三喜临门

2018年10月24日上海开幕的微软Tech Summit 2018迎来了三重好礼:一是微软智能云业务在刚刚公布的2019财年第一财季报中实现了24%的增长.达86亿美元,其中Azure收入增长76%:二是Wedbush分析师Daniel Ives在最新报告中称,受益于云业务,微软"将成为下一个万亿美元市值的俱乐部成员":三是微软Tech Summit 2018宣布Dynamics 365将于明年春季落地中国市场. Wedbush的最新调查发现,企业正在加速购买公共和混合云,这意味着至

第10章 智能交通

10.1智能交通概述 10.1.1传统交通与智能交通   10.1.2智能交通的定义 智能交通在世界各地迅速推进,已成为现代交通的重要标志,然而,对于这个专用名词,国际上至今没有一个明确的定义.在美.欧.日的ITS推进组织的网页或有关资料中,我们看到分别有如下的叙述. “美国智能运输协会”(ITS America网址为型:i!望:Q蟹):ITS是由一些技术组成的,这些技术包括信息处理.通信.控制和电子技术.交通事故.拥挤使我们为生活.为损失的 生产率和浪费的能源付出了昂贵的代价.ITS可以通过新

《国家智能制造标准体系建设指南(2018年版)》发布(附全文)

<国家智能制造标准体系建设指南(2018年版)>发布(附全文) [导读]工业和信息化部.国家标准化管理委员会日前印发<国家智能制造标准体系建设指南(2018年版)> ,明确提出到2018年,累计制修订150项以上智能制造标准,基本覆盖基础共性标准和关键技术标准.到2019年,累计制修订300项以上智能制造标准,全面覆盖基础共性标准和关键技术标准,逐步建立起较为完善的智能制造标准体系.建设智能制造标准试验验证平台,提升公共服务能力,提高标准应用水平和国际化水平.工业和信息化部 国家标

2018 年 IoT 那些事儿

本文作者:murphyzhang.xmy.fen @腾讯安全云鼎实验室 2018年,是 IoT 高速发展的一年,从空调到电灯,从打印机到智能电视,从路由器到监控摄像头统统都开始上网.随着5G网络的发展,我们身边的 IoT 设备会越来越多.与此同时,IoT 的安全问题也慢慢显露出来. 腾讯安全云鼎实验室对 IoT 安全进行了长期关注,本文通过云鼎实验室听风威胁感知平台收集的 IoT 安全情报进行分析,从IoT 的发展现状.IoT 攻击的常见设备.IoT 攻击的主要地区和 IoT 恶意软件的传播方式

网易发起“疾风”智造IoT联盟,深化“互联网+先进制造业”发展

7月26日,2019网易云创峰会在杭州拉开序幕,本次峰会以“连接•洞察•进化”为主题,汇聚行业领袖.技术大咖及业界代表,探讨技术演进与行业应用趋势,研商生态合作升级.共赢未来的道路.上午的主论坛中,网易杭州研究院.网易严选IoT事业部.恩智浦半导体(NXP)公司.博世(BOSCH)公司.上海博泰PATEO公司.深圳高新兴物联科技有限公司.上海同麦自动化系统技术有限公司.杭州乐舜科技有限公司.杭州物源科技有限公司和清华大学技术研究中心等9大机构宣告成立“疾风”IoT智造联盟,提供智能工厂.家居生活