1.EdgeX实战 Ubuntu18.04搭建运行环境

news2025/2/28 17:28:50

文章目录

      • 前言:
      • 1、搭建Ubuntu18.04服务器平台
      • 2、安装docker和docker-compose
      • 3、运行EdgeX
      • 4、使用浏览器访问EdgeX

前言:

想着把之前arduino和树莓派搭建的物联网平台迁移到EdgeX上来,原因有二:

  1. 不想去造轮子,自己从零开始写一个物联网的框架,第一是能力有限,第二时费时费力,而且效果不一定能很好;
  2. EdgeX属于开源平台,社区生态较好,并且有很多的文档可以参考,这就会在后面的使用过程中有很多的指导;
    先看运行效果:
    在这里插入图片描述

1、搭建Ubuntu18.04服务器平台

可以直接安装到计算机上,也可以使用虚拟机。我个人因为还需要使用Ubuntu18.04做UnrealEngine的编译,编译必须要在真机上真显卡上运行,所以我直接使用的真实主机来运行Ubuntu18.04,选择的桌面版的。

这里不过多介绍如何搭建Ubuntu平台,不管是安装到虚拟机,真机或者是双系统,网上的教程都是一大把,这里不过多介绍。

2、安装docker和docker-compose

这里直接把我安装的过程全部粘贴到下面:

zhou@zhou-YangTianM4000s-46:~$ sudo mkdir -p /etc/apt/keyrings
zhou@zhou-YangTianM4000s-46:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
gpg: WARNING: unsafe ownership on homedir '/home/zhou/.gnupg'
zhou@zhou-YangTianM4000s-46:~$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginer-compose-pluginlinux/ubuntu   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
zhou@zhou-YangTianM4000s-46:~$ sudo apt-get update

sudo apt install snap
sudo apt install docker
sudo apt install docker.io
zhou@zhou-YangTianM4000s-46:~$ docker -v
Docker version 20.10.7, build 20.10.7-0ubuntu5~18.04.3
zhou@zhou-YangTianM4000s-46:~$ docker-compose -v

Command 'docker-compose' not found, but can be installed with:

sudo snap install docker          # version 20.10.17, or
sudo apt  install docker-compose

See 'snap info docker' for additional versions.

zhou@zhou-YangTianM4000s-46:~$ sudo apt install docker-compose
zhou@zhou-YangTianM4000s-46:~$ docker-compose -v
docker-compose version 1.17.1, build unknown

3、运行EdgeX

下载好docker和docker-compose后,需要完成如下两步工作就可以将EdgeX运行起来,分别如下:

  1. 下载最新的docker-compose文件,这个可以到github工程中,因为我的电脑是intel的cpu,所以需要选择x86的文件,文件地址为:https://raw.githubusercontent.com/edgexfoundry/developer-scripts/master/releases/geneva/compose-files/docker-compose-geneva-redis-no-secty.yml 这里需要将该文件下载或者直接把内容复制到ubuntu上的docker-compose.yml文件中;
  2. 进入docker-compose.yml文件所在目录,打开终端,运行docker-compose up命令
sudo gpasswd -a ${USER} docker
sudo su
su zhou

docker-compose up -d

zhou@zhou-YangTianM4000s-46:~/EdgeX$ docker-compose ps
                Name                              Command               State                                                            Ports                                                          
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
edgex-app-service-configurable-rules   /app-service-configurable  ...   Up      48095/tcp, 127.0.0.1:48100->48100/tcp                                                                                   
edgex-core-command                     /core-command -cp=consul.h ...   Up      127.0.0.1:48082->48082/tcp                                                                                              
edgex-core-consul                      edgex-consul-entrypoint.sh ...   Up      8300/tcp, 8301/tcp, 8301/udp, 8302/tcp, 8302/udp, 127.0.0.1:8400->8400/tcp, 127.0.0.1:8500->8500/tcp, 8600/tcp, 8600/udp
edgex-core-data                        /core-data -cp=consul.http ...   Up      127.0.0.1:48080->48080/tcp, 127.0.0.1:5563->5563/tcp                                                                    
edgex-core-metadata                    /core-metadata -cp=consul. ...   Up      127.0.0.1:48081->48081/tcp                                                                                              
edgex-device-rest                      /device-rest-go --cp=consu ...   Up      127.0.0.1:49986->49986/tcp                                                                                              
edgex-device-virtual                   /device-virtual --cp=consu ...   Up      127.0.0.1:49990->49990/tcp                                                                                              
edgex-kuiper                           /usr/bin/docker-entrypoint ...   Up      127.0.0.1:20498->20498/tcp, 127.0.0.1:48075->48075/tcp, 9081/tcp                                                        
edgex-redis                            docker-entrypoint.sh redis ...   Up      127.0.0.1:6379->6379/tcp                                                                                                
edgex-support-notifications            /support-notifications -cp ...   Up      127.0.0.1:48060->48060/tcp                                                                                              
edgex-support-scheduler                /support-scheduler -cp=con ...   Up      127.0.0.1:48085->48085/tcp                                                                                              
edgex-sys-mgmt-agent                   /sys-mgmt-agent -cp=consul ...   Up      127.0.0.1:48090->48090/tcp

4、使用浏览器访问EdgeX

EdgeX的端口是8500,可以直接使用Ubuntu自带的火狐浏览器输入http://localhost:8500,运行效果如下所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/24471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

影响 SEO 的排名优化的因素

我们在做网站SEO运营的时候,经常会遇到没有排名的情况。即使我们每天保持原创内容的更新和发布,也没有用。这时候就要马上检查网站存在哪些问题,及时解决,让我们的日常努力尽快盈利。以下因素按米贸搜排序,影响SEO排名…

凡亿教育嘉立创宠粉福利,9.9元秒杀PCB多层板设计实战特训班

层林浸染,秋意渐浓 随着双11活动的落幕 意味着工程师最忙碌的时候即将结束 然而在这多事之秋,还是项目高峰期 想必很多工程师都很少过好双11吧 这可不行!!! 别人家有的,我们家的工程师都要有!为…

pytest学习和使用10-Pytest中的测试用例如何跳过执行?

10-Pytest中的测试用例如何跳过执行?1 引入2 Unittest中的用例跳过3 pytest.mark.skip4 pytest.skip()5 pytest.mark.skipif()6 跳过标记7 pytest.importorskip1 引入 有时候我们需要对某些指定的用例进行跳过,或者用例执行中进行跳过,在Uni…

高项 成本管理论文

4个过程 1,规划成本:为规划、管理、花费和控制项口成本而制定政策、程序和文档的过程。 2,估算成本:对完成项目活动所需资金进行近似估算的过程。 3,制定预算:汇总所有单个活动或工作包的估算成本&…

【面试题】JavaScript面试题详细总结(一)

js基础部分 01 值类型与引用类型 1.1 问法 js判断数据类型?js值类型与引用类型有哪些?值类型与引用类型的区别? 1.2 介绍 JavaScript存储数据两个区域:栈和堆 栈:通常空间是固定的(占据空间小、大小固定&…

MySQL基础|数据库存储时间段,数字从指定值递增AUTO_INCREMENT【详细版,建议收藏】

今天,在写SQL语句存储时间时遇到了一些问题,最后成功解决了 mysql基础一、时间字段的格式限制(一)精确到秒的表达1、错误的表达2、解决方式如下3、查看创建的表(二)存储一个时间段1、错误的表达语句2、解决…

一个优秀的程序员应该养成哪些好的习惯?

文章目录一、写代码前先想好思路,先规划框架,再到局部实现二、注重代码风格三、注重代码执行效率四、掌握一些编码原则五、解决问题时,对于原理性的问题,不要面向搜索引擎编程。六、注重基础知识的学习,不忙碌跟风新技…

分享美容美发会员管理系统功能的特点_分享美容美发会员管理系统的制作

人们越来越关心美发,美发行业发展迅速,小程序可以连接在线场景,许多美发院也开发了会员卡管理系统。那么一个实用的美发会员管理系统怎么制作呢?它有什么功能?我们一起来看看~(干货满满,耐心看完…

艾美捷Immunochemistry FAM FLICA Poly Caspase检测方案

Caspases在细胞凋亡和炎症中发挥重要作用。ICT的FLICA检测试剂盒被研究人员用于通过培养的细胞和组织中的胱天蛋白酶活性来定量凋亡。FAM FLICA Poly Caspase探针允许研究人员评估胱天蛋白酶的激活。 用艾美捷Immunochemistry FAM-FLICA Poly caspase检测试剂盒检测活性半胱天冬…

2022年信息学部物联网工程学院学生科协机器学习科普

什么是机器学习 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人…

【安全学习】记一次内网环境渗透

注意: 本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习目的,如果列出的技术用于其他任何目标&#xff…

讲讲 Redis 缓存更新一致性,看了都说好!

当执行写操作后,需要保证从缓存读取到的数据与数据库中持久化的数据是一致的,因此需要对缓存进行更新。 因为涉及到数据库和缓存两步操作,难以保证更新的原子性。 在设计更新策略时,我们需要考虑多个方面的问题: 对系统吞吐量的影…

那些测试行业的细分岗位,你知道多少?薪资又如何?

软件测试是个需求多,就业机会大的职业。目前,我国具备软件测试能力的人员数量和市场需求相差巨大,巨大的市场空缺,使软件测试工程师从初级到高级,只需要 1 年甚至更短的时间来完成。所以作为一名软件测试工程师&#x…

【北亚数据恢复】不认盘的移动硬盘恢复数据案例解决方案

【案例一】 一块西数移动硬盘不小心摔了,插到电脑上就不认盘,之后没在其他的任何操作。这是比较典型的硬盘故障类型:故障原因就是移动硬盘磁头损坏。 北亚数据恢复工程师在用户同意的前提下开盘,对移动硬盘开盘换磁头。&#xff0…

8.5 Spring解决循环依赖的机理(AOP)

8.5 Spring解决循环依赖的机理(AOP) MyAspect Aspect public class MyAspect {After(value "execution(* com.cjf.bean.B.*(..))")public void myAfter(){System.out.println("最终通知的功能.........");} }SpringBean.xml <aop:aspectj-autoproxy&g…

Unity游戏Mod/插件制作教程03 - 插件实例1: HelloWorld

准备工作 作为编程类的教程&#xff0c;果然第一个需要来一个传统项目——HelloWolrd。 在开始之前&#xff0c;我先贴一个链接&#xff0c;这是BepInex官方的开发手册 https://bepinex.github.io/bepinex_docs/v5.0/articles/dev_guide/index.html 有什么问题也可以翻阅官方的…

论文阅读【6】RRN:LSTM论文阅读报告(1)

lstm类似于Simple_RNN,但是又比他复杂很多.我是参考这个视频的老师讲解的,这个老师讲解的非常好.https://www.bilibili.com/video/BV1FP4y1Z7Fj?p4&vd_source0a7fa919fba05ffcb79b57040ef74756 lstm的最重要的设计就是那一条传输带,即为向量CtC_tCt​,过去的信息通过他传送…

跨程序共享数据:Android四大组件之内容提供器

跨程序共享数据&#xff1a;Android四大组件之内容提供器前言七、跨程序共享数据&#xff1a;Android四大组件之内容提供器7.1 内容提供器&#xff08;Content Provider&#xff09;简介7.2 运行时权限&#xff08;软件不能为所欲为&#xff0c;想要什么权限&#xff0c;还得主…

【project 】软件使用

project软件使用 1.如何为某任务或资源创建日历 创建新日历 工具->更改工作时间->新建->定义日历名称&#xff0c;选择“新建基准日历”->根据各承建商的日历创建相应的日历 使用新日历 拷贝各承建商的各项任务到指定的项目计划中&#xff0c;然后&#xff…

基于特征选择的二元蜻蜓算法(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…