使用 Docker 安装Node-Red Container开发App 藉由IBM Weather Company Data 服务取得世界各地气象资料
近日 IBM 与 [The Weather Company] 宣布缔结开创性的全球战略联盟,将把大规模的天气数据服务平台迁移至IBM云计算平台 [Weather Company Data for IBM] 。以下范例在Window 环境安装 Docker,再至 Docker hub 下载 node-red-docker 映像档,启动 Container 后,在 node-red 窗口环境下开发 A
使用 Docker 安装Node-Red Container开发App 藉由 Bluemix 所含 Weather Company Data for IBM 服务取得世界各地气象资料
作者:陳兆麟
Email:chenlin2@ms9.hinet.net
Docker公司已于2016/7/29正式推出全新的 Docker for Windows 版本,这个版本是个原生 Windows 应用程序,不再需要借助 VirtualBox、Docker Toolbox、boot2docker 或其它工具就可以执行,只要你的 Windows 操作系统是Windows 10 专业版或企业版 (64-bit) 即可安装;新版 Docker for Windows 大幅简化安装与设定的过程,降低使用 Docker 的门坎,搭配 Kitematic 可视化的操作接口,更让你连一行指令都不用输入,就可以顺利下载、启动、停止、删除容器,大幅降低使用容器的门坎。User 只要至 docker hub 下载所需要的 images 檔 (内含App + OS),启动 Container 后就可执行应用程序;这比以往在 linux操作系统下安装应用程序好太多了(因user 若不熟悉 linux就很容易安装失败, 这也就是玩linux 会有挫折感的原因)。近日 IBM 与 [The Weather Company] 宣布缔结开创性的全球战略联盟,将把大规模的天气数据服务平台迁移至IBM云计算平台 [Weather Company Data for IBM] 。以下范例在Window 环境安装 Docker,再至 Docker hub 下载 node-red-docker 映像档,启动 Container 后,在 node-red 窗口环境下开发 App,藉由 Bluemix services 所提供的 [Weather Company Data for IBM] 服务读取全世界各地的气温。
開發環境:Win7 (64 bit) ,Docker Toolbox,Bluemix ,Node-red
1.参考附录 (1) 在 Win7安装 Docker Toolbox.
(Win 10 可直接安装 Docker 请参考附录2 )
2.桌面点选 (Docker Quickstart Terminal) 名稱
$ docker-machine ls (Docker Quickstart Terminal接口执行,确认虚拟机default 已安装)
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Running tcp://192.168.99.101:2376 v1.10.3
$ docker-machine env default
export DOCKER_TLS_VERIFY=”1”
export DOCKER_HOST=”tcp://192.168.99.100:2376”
export DOCKER_CERT_PATH=”C:\Users\slim1.docker\machine\machines\default”
export DOCKER_MACHINE_NAME=”default”
Run this command to configure your shell:
eval (“C:\Program Files\Docker Toolbox\docker-machine.exe” env default)
$ docker-machine ls (确定虚拟机已经启动)
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.3
3.使用 putty (见附录 3)登录虚拟机器(ip:192.168.99.100 username=docker password=tcuser)
//至 docker hub 下载安装 nodered/node-red-docker images
//并建立启动 docker-nodered container
$docker run -it -p 1880:1880 --
name docker-nodered nodered/node-red-docker
4. 再次以 putty 开起新窗口登录虚拟机器观察 images & container 是否已安装
$docker images
$docker ps
5. 浏览器输入 http://192.168.99.100:1880 显示 Node-Red 工作窗口
6. 进入 docker-nodered container 命令列
$ docker exec -it docker-nodered /bin/bash
$cd /data
$npm install node-red-bluemix-nodes (安装 Weather node)
$npm install node-red-contrib-ibm-watson-iot (安装 waston IoT node)
$npm install node-red-contrib-scx-ibmiotapp (安装 ibmiot node)
$exit (离开 docker-nodered container 命令列)
$docker stop docker-nodered (重新启动 docker-nodered)
$docker start docker-nodered
7. node-red工作窗口左侧调色盘将新增以下节点
8. 进入IBM Bluemix: https://console.ng.bluemix.net/ 点选 Sign Up 注册后登录 (30天试用期免费) 将 username 及 password 记录
建立 Organization 名称
建立 Space , Organization, Space Region (US South)
9. 点选型录 (CATALOG) =>选择 [Weather Company Data for IBM] 服务
点选 [CREATE] (若前项 Region 不为US South,程序执行时会认证失败)
点选 [Service Credentials]
###记录 username, password
###10. 点选型录 (CATALOG) =>选择 [Internet of thing platform] 服务
点选 [create]
11. 启动服务
点选 [Launch dashboard]
12.点选 [device]
点选 [Add Device]
13.点选 [ Create device type ]
点选 [ Create device type ]
14.填选 Name = node-red
[next] ->[create]
15.选择 [device type] node-red ->Next DeviceID= node-red-device-1 填入
16.点选右下角 Next 至结束 Add 将取得以下类似数据 (请记录)
17. 建立Access key (点选 ACCESS) 点选 [API Keys]
记录 API key 及 Authentication Token
18.确定 docker-nodered container已执行
$docker ps
19. 若docker-nodered container尚未启动
$docker ps -a
CONTAINER ID IMAGE ………….. STATUS NAMES
5b2f6837bc45 nodered/node-red-docker ……. Exited (137) docker-nodered
$docker start docker-nodered
20. 在 node-red 工作区开发 flow:输入经纬度后由 [Weather Company Data for IBM] 服务输出当地温度。
21. 点选 [import]->[Clipboard]
22. 下载附录 6之 temp.json 贴入 import nodes
23.汇入后flow显示如下
24. 修改 GeoCode 填入指定经纬度 64.963051,-19.020835
25.修改 Receive from Watson IoT 填入步骤(17) 所得 API key,API Token
26.修改 Get Wather Observations填入步骤(9) 所得username,password
27.修改 Receive CMD填入步骤 (16) 所得org,device Type ID,Auth Token
“markdown” “width:600px;heigth:200px”)
28.修改 Send to Watson IoT填入步骤(16) 所得org,device Type ID,Auth Token
29. 修改Send CMD填入步骤 (17) API key,API Token
30. 修改Check Temperature 设定温度门坎 25C
31.测试:冰岛 (64.963051,-19.020835)
GeoCode填入指定经纬度64.963051,-19.020835,点选右上角[Deploy], 点选 GeoCode 前端方块,将经纬度送出,由 debug 看出回应 13C
32.测试:福建省福州市 (26.062105,119.300213)
GeoCode填入指定经纬度26.062105,119.300213,点选右上角[Deploy],点选 GeoCode 前端方块,将经纬度送出,由 debug 看出回应 29C
附錄
- Win7 安装Docker Toolbox:
https://www.docker.com/products/docker-toolbox
http://knight-.iteye.com/blog/2254627
http://rominirani.com/2015/08/15/docker-toolbox-setup-windows/
https://getcarina.com/docs/troubleshooting/troubleshooting-windows-docker-vm-startup/
http://dockone.io/article/594 - Win 10 安装Docker
http://blog.miniasp.com/post/2016/08/01/Docker-for-Windows-1-12-Released.aspx - putty安装及使用:
http://www.ascc.sinica.edu.tw/putty - bluemix 全球系统维护现况
https://developer.ibm.com/bluemix/support/#status - Node-red 初学手册
http://www.slideshare.net/JosephChang8/bluemix-nodered-part-i - temp.json
https://1drv.ms/u/s!AkBmzWP0h-VxbRVVYKxokrArvYo
參考文獻:
1.https://developer.ibm.com/recipes/tutorials/nodered-on-docker-using-local-services-and-ibm-weather-data/
2.https://developer.ibm.com/recipes/tutorials/nodered-on-docker-using-local-data-and-watson-apis/
3.https://developer.ibm.com/dwblog/2016/how-the-weather-company-delivers-the-worlds-weather/
4.http://weathernews.com/tw/c/company/
5.https://www.google.com.tw/maps
6.https://hub.docker.com/
7.http://www.ithome.com.tw/news/103247
8.http://blog.miniasp.com/post/2016/08/01/Docker-for-Windows-1-12-Released.aspx
9.http://mis101bird.js.org/v2i1/
10.http://blog.miniasp.com/post/2016/08/01/Docker-for-Windows-1-12-Released.aspx
11.http://www.ithome.com.tw/news/103247
12.https://1drv.ms/f/s!AkBmzWP0h-Vxbr7h1uTNsTMcPWI
13.https://1drv.ms/b/s!AkBmzWP0h-VxazOBOsVz8nGMLpM
14.https://1drv.ms/b/s!AkBmzWP0h-VxbN_7DLHsQwBH7Ac
15.https://www.youtube.com/watch?v=24JAF9Eu1mk&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=74
16.https://www.youtube.com/watch?v=wSmJ-rwUo8I&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=73
17.https://www.youtube.com/watch?v=SOsn6MvGH60&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=72
更多推荐
所有评论(0)