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