Please enable Javascript to view the contents

EdgeX Foundry 心得 之一 -- 初体验

 ·  ☕ 4 分钟

今年公司要做关于边缘网关相关的一些项目, 经过讨论最终决定使用EdgeX Foundry这套边缘网关框架

使用它的原因 不外乎 出自大厂(应该最初是戴尔发起的一个项目),文档相对全, 提交更新及时, 在2019年使用GO语言重构了整个项目(我感觉这是一个伟大的决定也是一个无比艰难的决定)

使得整个项目的系统资源占用下降了近十倍

但是在初期研究的过程中, 也遇到了很多的问题, 物联网方面国内虽然有许多大厂都在做了, 像阿里,华为,百度,小米等都有自己的生态, 但是开放度都不高,更有的要结合他们自己的云(虽然好像不是强硬的)

国内社区有, 但是非常不活跃, 能看到的都是2018年, 还是java的时候的一些社区blog,博客资源也非常稀少, 大多数的作者, 仅仅停留在demo的层面上做了详细或者不够详细的 讲解

其中写的比较好的 目前来看是在2020年1月19号发布的链接地址如下 https://www.hangge.com/blog/cache/detail_2341.html 此文的作者把最基础的部分非常详尽的讲述清楚,在此也非常感谢此文的作者带领我进入

了Edgex的大门,但是仍然对代码开发的部分没有说, 在网上也几乎没有找到相对应的资料。

虽然官网的资料非常齐全, 但是一点一点的扣, 也是非常麻烦的也需要慢慢的去理解,所以有了写这个系列bolg的想法, 在文中我不会把官方的一些架构图放出来

甚至我也没有强调EdgeX架构层次的内容,架构图这中东西,在我这个层次来看, 没理解的时候看了和没看一样, 之后开发了再看那个架构图才觉得思路是清晰的

本系列注重的是开发而不是概念,当然有些时候一些必要的概念也会呈现出来

先说名, 我不是高手, 在云云的平庸的程序员中的一个,混口饭吃而已, 偶然写点东西, 也算是对自己稍微有点交代吧 ,文中的所有理解都出自个人,大多数是官方网站获得的,如有错误请指正,

好了言归正传开始体验一下这个算是新生的边缘网关框架

先列出官方文档地址:https://docs.edgexfoundry.org/2.0

访问稍微有点慢,建议大家可以克隆下 https://github.com/edgexfoundry/edgex-docs 官方代码库中的文档项目,自己启动个nginx服务器,在本地运行会快很多

还有对github访问慢的同学, 可以在 gitee.com 里面导入github的项目,这样快很多,我自己就这样弄的的, 放出我自己的地址

1
git clone https://gitee.com/azhw/edgex-docs.git

之后我都用github的 地址出现, 大多数用到的我都转到我自己的gitee仓库中了,可以找找

既然是初体验, 就先跑起来看看吧,本系列中所有的分支都是使用的fuji的发布,clone到master的同学自己checkout到fuji分支上

建议win平台的同学装个Ubuntu的虚拟机,至于原因, 好像工控系统的都用Ubuntu, 官方文档里面的许多命令也都用Ubuntu为例,在之后编译的make命令, win系统里面好像挺麻烦的

我在写文章的时候也新建了一个UbuntuServer版的虚拟机,

docke换源之类的别忘了, 要不比蜗牛还慢,

1
2
3
4
5
6
git clone  https://github.com/edgexfoundry/developer-scripts 
cd developer-scripts/releases/fuji/compose-files
#path是你自己指定的一个目录,可以检查一下device-virtual的部分是否打开了
cp docker-compose-fuji-no-secty.yml path/docker-compose.yml
cd path
sudo docker-compose up -d

然后就是各种下,启动完成之后,

我们有直观感受的就是 consul控制台 ip:8500 ip:4000

先访问 ip:8500

如下显示

最后会有几个不成功的

原因我也不清楚, 但是目前还用不到,看服务名, 应该是和安全有关的一些服务

接下来是ip:4000 的一个ui界面

登录用户名和密码都是admin

首先是要创建一个 Gateway, 要不什么都干不了

有三个参数 Name Description Address 前两个随便写,就是对边缘网关的一个标记, 最后的地址一定要写启动docker容器的服务器的ip(至少是内网可访问)

创建成功后, 别忘记选定最前面的单选按钮,之后就可以随便点点了

如果正常的话, 在DeviceService中会看到一下内容前提是启动时device-virtual服务在docker-compose.yml文件中不是被注释掉的

分享

Koala An
作者
Koala An
一个大自然的搬运工