Edegex Foundry docker和源码安装
edgex文档下载
https://github.com/edgexfoundry/edgex-docs/branches/all
在线文档查看
首先要安装python3环境
然后后安装 打开超级终端
#pip3 install mkdocs
#mkdocs serve
在浏览器中输入 http://127.0.0.1:8000/edgex-docs/2.3/ 即可打开在线文档
edgex入门可以参考 https://blog.csdn.net/bxjie/article/details/113860800
1.docker安装
1.1 安装docker
#curl -fsSL https://get.docker.com -o get-docker.sh
#chmod 777 get-docker.sh
#sudo sh get-docker.sh
修改 docker 的镜像可以提高下载速度
vim /etc/docker/daemon.json
{
"registry-mirrors" : [
"http://registry.docker-cn.com"
],
"insecure-registries" : [
"registry.docker-cn.com"
]
}
systemctl restart docker
1.2 docker-compose 安装
docker-compose是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose ,您可以使用 YML 文件来配置应用程
序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务
https://github.com/docker/compose/releases 下载最新的版本 docker-compose-linux-x86_64
#mv docker-compose-linux-x86_64 /usr/sbin/docker-compose
#chmod 777 /usr/sbin/docker-compose
1.3 安装edgex
从 https://github.com/edgexfoundry/edgex-compose/下载需要安装的edgex版本 我这里下载2.3 版本
docker-compose -f docker-compose-no-secty.yml up -d
安装完成后 执行#docker ps 查看edgex哪些服务运行在docker中
docker 安装edgex 自动EdgeX GUI 管理界面
浏览器输入 http://localhost:4000/
2. 源码安装
golang 学习可以参考 https://www.bookstack.cn/read/golang_development_notes/zh-preface.md
2.1 搭建golang环境
下载最新版本的golang https://go.dev/dl/go1.23.1.linux-amd64.tar.gz
#tar go1.23.1.linux-amd64.tar.gz -C /opt
在/etc/profile
export GOROOT=/opt/go
export GOPATH=/opt/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
2.2 安装redis-server
edgex 默认是以redis 总线进行消息通信的
sudo apt install redis-server
2.3 安装 zeromq
有些服务需要zeromq进行通信
sudo apt-get install libzmq3-dev
也可以下载最新的源码编译安装
#./configure
#make -j4
# Build and install(root permission only)
#make install
2.4 安装consul
consul是注册服务用的,我将consul安装运行到docker中
创建 my_consul.yml 文件 文件内容如下
networks:
edgex-network:
driver: bridge
services:
consul:
command: agent -ui -bootstrap -server -client 0.0.0.0
container_name: edgex-core-consul
hostname: edgex-core-consul
image: consul:1.10.10
networks:
edgex-network: {}
ports:
- 127.0.0.1:8500:8500/tcp
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: root:root
volumes:
- consul-config:/consul/config:z
- consul-data:/consul/data:z
volumes:
consul-config: {}
consul-data: {}
执行下面命令 安装consul
docker-compose -f my_consul.yml up -d
查看容器内运行的consul
#docker ps
749f5d2c50f9 consul:1.10.10 "docker-entrypoint.s…" 15 minutes ago Up 12 minutes 8300-8302/tcp, 8301-8302/udp, 8600/tcp, 8600/udp, 127.0.0.1:8500->8500/tcp edgex-core-consul
2.5 下载编译及编译 edgex-go
下载2.3.0 版本https://github.com/edgexfoundry/edgex-go/archive/refs/tags/v2.3.0.tar.gz
#apt-get install cmake make
#apt-get install build-essential
#apt-get install pkg-config
#tar xfz edgex-go-2.3.0.tar.gz
#cd edgex-go-2.3.0
#make build //这个命令执行后 首先会执行 go mod tidy 下载依赖,过程可能很慢 建议更改代理export GOPROXY=https://goproxy.cn,direct
2.6 edgex-go运行
参考环境变量设置 https://blog.csdn.net/wwyyxx26/article/details/125479295
设置下面两个环境变量 已非安全模式下运行,安全模式有许多繁琐的配置
因为 主机名为localhost 可能会与 docker中的consul有冲突, 将源码中所有res/configuration.toml 文件中的
Host = "localhost"
ServerBindAddr = ""
更改为
Host = "192.168.3.185"
ServerBindAddr = "192.168.3.185"
其中192.168.3.185 是有线网卡的IP
创建启动脚本 startEdgex.sh
export GOROOT=/opt/go
export GOPATH=/opt/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export EDGEX_USE_REGISTRY=true
export EDGEX_SECURITY_SECRET_STORE=false
cd ./cmd/core-data
#./core-data &
go run main.go &
cd ../core-metadata
#./core-metadata &
go run main.go &
cd ../core-command
#./core-command &
go run main.go &
cd ../support-notifications
#./support-notifications &
go run main.go &
cd ../support-scheduler
#./support-scheduler &
go run main.go &
cd ../sys-mgmt-agent
#./sys-mgmt-agent &
go run main.go &
然后启动 chmod 777 startEdgex.sh
#./startEdgex.sh
也可以直接运行编程生成的二进制文件,取消上面的屏蔽
2.7 安装edgex-ui-go(可选)
2.7.1 docker安装 创建my-edgex-ui-go.yml
networks:
edgex-network:
driver: bridge
services:
ui:
container_name: edgex-ui-go
environment:
EDGEX_SECURITY_SECRET_STORE: "false"
hostname: edgex-ui-go
image: edgexfoundry/edgex-ui:2.2.0
networks:
edgex-network: {}
ports:
- 4000:4000/tcp
read_only: true
restart: always
security_opt:
- no-new-privileges:true
user: 2002:2001
#docker-compose -f my-edgex-ui-go.yml up -d
2.7.2 源码安装
https://github.com/edgexfoundry/edgex-ui-go/archive/refs/tags/v2.3.0.tar.gz
解压后执行下面语句
#make build
#cd bin && ./edgex-ui-go-launch.sh &
在浏览器中输入 127.0.0.1:4000 就可以看到控制面板,包含所有的服务 和规则引擎 第一次登陆需要token,研究中
相关文章:

Edegex Foundry docker和源码安装
edgex文档下载 https://github.com/edgexfoundry/edgex-docs/branches/all 在线文档查看 首先要安装python3环境 然后后安装 打开超级终端 #pip3 install mkdocs #mkdocs serve 在浏览器中输入 http://127.0.0.1:8000/edgex-docs/2.3/ 即可打开在线文档 edgex入门可以参考…...

阿里P8和P9级别有何要求
阿里巴巴的P8和P9级别,代表着公司的资深技术专家或管理者岗位,要求候选人具有丰富的职业经历、深厚的技术能力以及出色的领导力。以下是对P8和P9级别的要求、考察点以及准备建议的详细分析。 P8 级别要求 1. 职业经历: 8年以上的工作经验&a…...

【目标检测数据集】锯子数据集1107张VOC+YOLO格式
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1107 标注数量(xml文件个数):1107 标注数量(txt文件个数):1107 标注…...

移动产业处理器接口(MIPI)协议是什么?
未来汽车的宏伟愿景备受瞩目,特别是驱动这些汽车的技术更是成为焦点。如今,传感器对于汽车视觉和安全技术的下一阶段至关重要,因为驾驶员和乘客都依赖于它们。这些传感器能够支持众多应用,这些应用往往基于人工智能(AI…...

OpenAI o1:隐含在训练与推理间的动态泛化与流形分布
随着OpenAI o1发布,进一步激发了产业与学术各界对AGI的期待以及new scaling law下的探索热情,也看到来自社区和专业机构对o1的阐释,但总感觉还差点什么,因此决定以自己的角度分篇幅梳理下,并分享给大伙: O…...

沉浸式体验和评测Meta最新超级大语言模型405B
2024年7月23日, 亚马逊云科技的AI模型托管平台Amazon Bedrock正式上线了Meta推出的超级参数量大语言模型 - Llama 3.1模型,小李哥也迫不及待去体验和试用了该模型,那这么多参数量的AI模型究竟强在哪里呢?Llama 3.1模型是Meta&…...

Python 课程10-单元测试
前言 在现代软件开发中,单元测试 已成为一种必不可少的实践。通过测试,我们可以确保每个功能模块在开发和修改过程中按预期工作,从而减少软件缺陷,提高代码质量。而测试驱动开发(TDD) 则进一步将测试作为开…...

【嵌入式硬件开发基础】Arduino板常用外设及应用:MPU6050空间运动传感器(简介,类库函数,卡尔曼滤波),继电器(原理介绍,含应用实例/代码)
当一个人不能拥有的时候,他唯一能做的便是不要忘记。 🎯作者主页: 追光者♂🔥 🌸个人简介: 📝[1] CSDN 博客专家📝 🏆[2] 人工智能领域优质创作者🏆 🌟[3] 2022年度博客之星人工智能领域TOP4🌟 🌿[4] 2023年城市之星领跑者TOP1(哈尔滨…...

Pandas Series对象创建,属性,索引及运算详解
目录 Series对象创建 实例化参数 index参数 选用array-like创建Series对象 list ndarray 显示索引与隐式索引 选用dict创建Series对象 不指定索引 指定索引 选用标量创建Series对象 使用标量创建的广播机制 Series属性 name size shape index values Series索…...
优化算法(一)—遗传算法(Genetic Algorithm)附MATLAB程序
遗传算法(Genetic Algorithm, GA)是一种启发式搜索算法,用于寻找复杂优化问题的近似解。它模拟了自然选择和遗传学中的进化过程,主要用于解决那些传统算法难以处理的问题。 遗传算法的基本步骤: 初始化种群࿰…...

高等数学 2.3 高阶导数
一般地,函数 y f ( x ) y f(x) yf(x) 的导数 y ′ f ′ ( x ) y\ f\ (x) y ′f ′(x) 仍然是 x x x 的函数。我们把 y ′ f ′ ( x ) y\ f\ (x) y ′f ′(x) 的导数叫做函数 y f ( x ) y f(x) yf(x) 的二阶导数,记作 y ′ ′ y\ y ′…...

app抓包 chrome://inspect/#devices
一、前言: 1.首先不支持flutter框架,可支持ionic、taro 2.初次需要翻墙 3.app为debug包,非release 二、具体步骤 1.谷歌浏览器地址:chrome://inspect/#devices qq浏览器地址:qqbrowser://inspect/#devi…...

SAP自动化-ME12批量更新某行价格
Python源码 #-Begin-----------------------------------------------------------------#-Includes-------------------------------------------------------------- import sys, win32com.client import os#-Sub Main----------------------------------------------------…...

数据库系统 第58节 概述源码示例
深入探讨数据库技术,我们将通过具体的源代码示例来进一步解释数据库分区、复制、集群和镜像等高级特性。 数据库分区的源代码示例 哈希分区 在PostgreSQL中,可以使用哈希分区来创建一个分区表: CREATE TABLE measurements (city_id …...

软件设计师——程序设计语言
目录 低级语言和高级语言 编译程序和解释程序 正规式,词法分析的一个工具 有限自动机 编辑 上下文无关法 编辑 中后缀表示法 杂题 编辑 低级语言和高级语言 编译程序和解释程序 计算机只能理解由0、1序列构成的机器语言,因此高级程序设计…...

【在Linux世界中追寻伟大的One Piece】五种IO模型和阻塞IO
目录 1 -> 五种IO模型 1.1 -> 阻塞IO(Blocking IO) 1.2 -> 非阻塞IO(Non-blocking IO) 1.3 -> 信号驱动IO(Signal-Driven IO) 1.4 -> IO多路转接(IO Multiplexing) 1.5 -> 异步IO(Asynchronous IO) 2 -> 高级IO概念 2.1 -> 同步通信VS异步通信…...

nginx实现权重机制(nginx基础配置二)
在上一篇文章中我们已经完成了对轮询机制的测试,详情请看轮询机制。 接下来我们进行权重机制的测试 一、conf配置 upstream backServer{ server 127.0.0.1:8080 weight2; server 127.0.0.1:8081 weight1; } server { listen 80; server_name upstream.boyatop.cn…...

华为的仓颉和ArkTS这两门语言有什么区别
先贴下官网: ArkTs官网 仓颉官网 ArkTS的官网介绍说,ArkTS是TypeScript的进一步强化版本,简单来说就是包含了TS的风格,但是做了一些改进。 了解TypeScript的朋友都应该知道,其实TypeScript就是JavaScript的改进版本&…...

(SERIES10)DM逻辑备份还原
1 概念 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻…...

Java零基础-StringBuilder类详解
哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互…...

免费爬虫软件“HyperlinkCollector超链采集器v0.1”
HyperlinkCollector超链采集器单机版v0.1 软件采用python的pyside2和selenium开发,暂时只支持window环境,抓取方式支持普通程序抓取和selenium模拟浏览器抓取。软件遵守robots协议。 首先下载后解压缩,然后运行app目录下的HyperlinkCollector.exe 运行…...

OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案
在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给您…...

k8s(kubernetes)的PV / PVC / StorageClass(理论+实践)
NFS总是不支持PVC扩容 先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。所有Pod使用存储只有一个原则&…...

前端Excel热成像数据展示及插值算法
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏:《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️生活的理想,就是为了理想的生活! 目录 📘 前言 📘一、热成像数…...

VBA_NZ系列工具NZ01: VBA二维码应用技术
我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…...

小明震惊OpenAI 的新模型 01
在硅谷的中心,繁忙的咖啡馆和创业中心周围,年轻的软件工程师小明坐在他的办公桌前,面露困惑。科技界一直在盛传一项新的AI突破,但他持怀疑态度,不敢抱太大希望。他认为AI泡沫即将破灭,炒作列车即将出轨&…...

Clickhouse使用笔记
clickhouse官方文档:https://clickhouse.com/docs/zh/sql-reference/data-types/decimal 一,建表 create table acitivity_user_record ( id String DEFAULT generateUUIDv4(), -- 主键自增 activityId String, userId String, userName Nullable(Strin…...

基于高通主板的ARM架构服务器
一、ARM架构服务器的崛起 (一)市场需求推动 消费市场寒冬,全球消费电子需求下行,服务器成半导体核心动力之一。Arm 加速布局服务器领域,如 9 月推出 Neoverse V2。长久以来,x86 架构主导服务器市场&#…...

AV1 Bitstream Decoding Process Specification--[2]:符号和缩写术语
原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码器…...

【Python爬虫系列】_022.异步文件操作aiofiles
课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈...