sudo apt-get install python-pip python
sudo pip install --upgrade pip git
sudo iotedgectl setup --connection-string "HostName=myiothubdemo.azure-devices.cn;DeviceId=myiotedge;SharedAccessKey=p45q791E7KAaompZ5+HoyxAD6vfmNJMeR9OgznerWaI=" --nopass github
启动IOT Edge的运行时,本质上是一个docker的容器,可使用docker ps来查看状态: docker
sudo iotedgectl start json
sudo mkdir -p /etc/docker/certs.d/stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/ api
sudo cp ca.crt /etc/docker/certs.d/stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/ 服务器
docker login stevenrepo.chinanorth.cloudapp.chinacloudapi.cn 并发
sudo iotedgectl login --address stevenrepo.chinanorth.cloudapp.chinacloudapi.cn --username admin ---password PASSWORD app
咱们来开发IOT Edge端应用基本的流程是: 测试
程序开发和使用Dockerfile打包的部分略去,之后有时间再讨论,本例经过在开发机上pull down演示的镜像microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview并将其推送到harbor私有容器注册表中,而后部署到物联网边界设备。
docker pull microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview
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。
docker push stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/myrepo/azureiotedge-simulated-temperature-sensor:2.0
点击"添加",添加IOT Edge module,其中name你能够本身起个模块名字,Image URI是你私有容器注册表中镜像地址,例如stevenrepo.chinanorth.cloudapp.chinacloudapi.cn/myrepo/azureiotedge-simulated-temperature-sensor:2.0,点击保存,下一步,最后submit。
大约等待1分钟左右时间,能够看到你的模块mysensor已经部署成功,并处于"running"状态,说明你的容器已经被推送到了边界设备:
docker ps
查看edge agent日志,sudo docker logs edgeAgent,能够看到部署执行的命令:
查看咱们部署的边界程序,能够看到他在持续不断的产生模拟数据,正常工做:
Azure IOT Edge在中国处于preview阶段,不免会又一些问题,出现问题时除了仔细检查配置,提交支持case以外,也能够本身作一些troubleshooting工做,由于edge端自己就是一个docker运行环境,不少相关的命令均可以来使用:
sudo docker ps
sudo docker logs -f edgeAgent
sudo docker logs -f YOURCONTAINER
在有些状况下,在界面部署会出现长期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