| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Edgexfoundry自动化安装制作与操作详解中文手册 -> 正文阅读 |
|
[系统运维]Edgexfoundry自动化安装制作与操作详解中文手册 |
Edgexfoundry自动化安装与操作详解 目录 图片太多,无法上传,原版含图片的,请联系古桥教育 QQ:15599633 本文通过安装包的方式,快速安装edgexfoundry,体验edgex功能。 版本:基于edgexfoundry fuji 1.1.0 与官方版本对比:
增加了kafka导出插件(通过app-functions-sdk),将接收到的event导出到kafka 增加了将图片event,保存到图片文件 Rule Engine,增加了通知功能
DeviceService:增加了设备操作支持图像显示 Rule Engine增加了通知功能,当规则触发时,同时可以发通知 Rule Engine?解决了创建规则不同profile,command重名混乱问题 export 模块mqtt导出显示大数量会中断问题 export 模块mqtt导出显示echart图形不显示问题,并增加了平均数显示 export 增加注册导出端时,Filters (optional)无法选择问题
下载安装文件包: edgex-fuji_standard_1.1.0.tar.gz??(标准版) 或 edgex-fuji_expert_1.1.0.tar.gz(专业版,含kafka与图片保存功能) 里面含有安装sh文件、配置文件与镜像,解压后目录类似如下: tar zxvf edgex-fuji_standard_1.1.0.tar.gz?(标准版) tar zxvf edgex-fuji_expert_1.1.0.tar.gz?(专业版) 并进入到edgex-fuji目录增加sh执行权限: cd ./edgex-fuji chmod -R +x ./bin 打开解压后目录下的host文件,将其中的IP改为你的真实的物理机IP(前后不要用空格) 1)进入安装目录,如下: cd edgex-fuji/bin 2)修改可执行权限: chmod -R +x * 3)执行安装脚本: ./?install-edgex.sh 如下图,输入“Y”进行安装,输入“n”则退出安装 如下图,输入“Y”会重新安装docker与docker-compose,输入“n”则不安装docker与docker-compose(此时确保本机已经有docker与docker-compose) 如下图,在安装docker与docker-compose 如下图,自动装载镜像: 输入命令:docker version 输入命令:docker-compose version 执行:docker images 进入安装目录,如下: cd edgex-fuji/bin 执行启动脚本 提供两个版本的启动,可以任选一种
./start-edgex.sh?mongo 若清除consul缓存与数据库启动,则用: ./start-edgex.sh?mongo y ?(需要root用户身份)
./start-edgex.sh?redis 若清除consul缓存与数据库启动,则用: ./start-edgex.sh?redis y ??(需要root用户身份) 以Redis版启动为例,启动界面如下图:? 在客户机浏览器输入如下地址:http://192.168.75.141:8500 (192.168.75.141改为你的真实IP) 上图Node health列全为绿色,表示edgex服务启动成功 进入安装目录,如下: edgex-fuji/bin 执行启动脚本,提供两个版本的启动,根据之前启动的版本选择
./stop-edgex.sh?mongo
./stop-edgex.sh?redis 版本指:mongo 或 redis 服务名:见docker-compose-mongo.yml?或 docker-compose-redis.yml
stop-one-sevice.sh?版本 服务名 start-one-sevice.sh?版本 服务名 restart-one-sevice.sh?版本 服务名 在客户机浏览输入:http://192.168.75.141:4000? (192.168.75.141改为你的真实IP) 输入:admin/admin 用户名与密登录 进入主界面如下 设置gateway 此设备演示灯光开关功能,根据Swicth的值(false,true两种) 当设备属性Switch值为false时,属性Image为黑色关灯图片,反之则为黄色亮灯图片 启动设备服务: ./start-one-sevice.sh redis device-simple 如下图依次点击 当点send按钮时,会根据Method列get 或 set方法操作device-simple设备,展示或设置设备的值 可能的问题 在获取属性值时,返回failed或显示不了图版时,说明设备工作异常,此时需重启此设备服务: ./stop-one-sevice.sh redis device-simple ./start-one-sevice.sh redis device-simple 或者 ./restart-one-sevice.sh redis device-simple 操作后,刷新edgex-ui界面,重新偿试 启动设备服务: ./start-one-sevice.sh redis device-virtual 此设备服务共有三个设备,即温湿度、马达转速功能、boolean类数据操作 说明: 当EnableRandomization_Temperature?值设为true时,设置的Temperature属性值不起作用,由设备随机产生一个值;否则有效,始终返回指定的属性值 可能的问题 在不能正常获取属性值时,返回failed时,说明设备工作异常,此时需重启此设备服务: 先删除,后创建 ./stop-one-sevice.sh?redis?device-virtual ./start-one-sevice.sh?redis?device-virtual 或者 ./restart-one-sevice.sh?redis?device-virtual 操作后,刷新edgex-ui界面,重新偿试 此设备服务演示操作modbus设备,即读写modbus设备的属性值,本例使用了Modbus Slave模似器模拟一台modbus设备,modbus两种通讯连接方式 操作设备 启动设备 进入edgex-fuji/bin目录,如下所示,启动设备: ./start-one-service.sh?redis device-modbus Tcp通讯 修改设备地址,改为device-modbus设备服务能访问到的模拟设备: 操作设备 将operationMode的值设为2 查看模拟器的值已改了2 获取值,界面上get时,值也是2,相吻合 RTU串口通讯 查看串口参数 ? 查看虚拟机所在的串口情况(若不虚拟机,用的是物理主机,则不需要下面操作): 命令:dmesg | grep tty? 如果操作失败,可能下是的设备服务没有启动成功,需重启modbus设备服务 可能的问题 在获取属性值时,返回failed或显示不了图版时,说明设备工作异常,此时需重启此设备服务: ./stop-one-sevice.sh?redis?device-modbus ./start-one-sevice.sh?redis?device- modbus 或者 ./restart-one-sevice.sh?redis?device- modbus 此演示通过mock模拟mqtt设备,接受device-mqtt的指令收发数据,并设备可主动向device-mqtt设备发送数据。 启动设备 进入edgex-fuji/bin目录,如下所示,启动设备: ./start-one-service.sh?redis device-mqtt 由于机子性能问题,演示此例时,建议停止其实设备服务,避免消息拥堵。 操作设备 后台容器显示: Service向设备发命令: 设备响消数据: 可能的问题 在不能正常获取属性值时,返回failed时,说明设备工作异常,此时需重启此设备服务: 先删除,后创建 ./stop-one-sevice.sh?redis?device-mqtt ./start-one-sevice.sh redis device-mqtt 或者 ./restart-one-sevice.sh redis device-mqtt 启动mqtt broker ./start-one-sevice.sh mongo edgex-mosquitto 注册客户端 下图画圈的对方必须如图所示 如下图关闭返回: 会看到不断有数据导出到配置的mqtt broker上了 拖到下方,并能看到设备属性动态图像 可以使用portainer进入容器上去查看: 启动portainer: ./start-one-sevice.sh redis portainer 登录进去:http://192.168.75.141:9000 创建一个不少于8个字串的密码 输入命令: mosquitto_sub -h localhost -p 1883 -t test -u "mqttuser" -P "123456" 如下图: 注意事项: 不演示时,需要退出用户登录,或直接关闭浏览器,否则后台一直在导出该浏览器,可以观看edgex-ui后台 注册restful导出端 本次示例导出的目的服务器IP 查看导出情况 参考导出功能中的“导出为restful”章节,通过规则引擎触发一条通知,查看通知信息是否通知到目的地址:http://192.168.0.104:9000/recviedata 下面可以看到edgex发出的请求,说明数据已成功导出来了 可能的问题: 确保monitor运行的主机通讯端口是否被防火墙关闭了 可采用nc –zv hostname/ip port方式测试联通性 本次演示采用了app-service-configurable方式接收core-data的event,并push到5566端,规则引擎从此端口接收event(另外一种方式是从distro 服务push到5567端口,这个需要在consul中配置,修改规则引擎的event接收端口) 启动规则引擎与app-service-configurable服务: ./start-one-sevice.sh redis rulesengine 如下图,创建两个服务,一个是app-service-configurable,另一个是rulesengine(规则引擎) 登录edgex-ui创建规则 如下图,创建一条规则为:当温度大于40度时,将其设回到30度 创建成功如下图: 将设备温度设置高于40度 设置成功如下图: 然后发送get指令,可以看到设备的温度已置为30了 下图是规则引擎后台打印结果: 如下原因可能导致规则无法触电发:
注册通知接收方 通知注册成功,如下: 触发通知 现用规则引擎来演示触发一条通知 规则如下,当设备温度大于30度时,发送通知,并设置为25度 现在我们去操作设备,将其温度设置为大于30度,如下图设为31度 Get设备属性,如下: 很快就收到了QQ 邮件提醒了: 通知后台也有打印日志出来,没有错误 注册restful导出端 使用postman进行注册restful通知端 可在edgex-ui上可以查看到注册成功: 查看通知 同上面邮件通知类型,通过规则引擎触发一条通知,使用eclipse中的monitor工具,配置如下: 下面可以看到edgex发出的通知restful,成功接收到了 此功能演示device-simple设备服务定时发现的图片event,将其按时间戳保存起来。 ./start-one-sevice.sh redis app-service-imagesave 如下图: 进入到如下目录,查看导出的图片: cd /var/lib/docker/volumes/composefiles_images/_data 提醒:不用时,记得关于此服务,因为device-simple运行时,它会持续保存图片 关于服务方法: ./stop-one-sevice.sh redis app-service-imagesave 该功能演示,将edgex的event导出到kafak broker,方便数据进一步业务处理 ./start-one-sevice.sh redis app-service-kafkaexport 通过portainer工具,进入kafka broker容器查看消息导出情况,如下图: (若portainer没有启动,可通过./start-one-sevice.sh redis portainer命令拉起来) 在里面执行如下命令查看从edgex导出来的kafka消息: kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic edgexKafkaTopic 从下图可看出导出到kafka的event消息: 停止kafka服务方法: ./stop-one-sevice.sh redis app-service-kafkaexport 卸载会退回到edgex安装之前的状态 若需卸载docker 与 docker-compose,需要用root用户操作 进入edgex-fuji/bin目录,执行如下命令: ./uninstall-edgex.sh 解决办法: 修改kafkahost文件为正确的IP 执行./resetip.sh 设备get /set为failed 偿试如下办法:
牢记,修改configuration.yml无效时,应考虑去consul UI 看配置
需要在app-service-kafkaexport服务中增加hosts域名解析 注意:需在容器创建前就需要注入域名解析,不可启动后进入容器修改/etc/hosts 确保configseed启动完后,其它Core support export模块启动无后后顺序 ================================全文结束======================================= |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:29:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |