产品开发背景

软件架构设计立足于目标用户的需求和背景,脱离用户需求和背景的软件架构设计都是空谈。

Fox-Edge的主要目标用户,是大中型企业客户,以及跟它们关联的上下游服务企业。

对这些用户来说, 人力成本高于物料成本 ,他们的技术栈以JAVA为主 ,更关注是否 开源 ,自己的开发人员能够快速掌握开源代码, 形成 自主可控

所以Fox-Edge的开发语言选择的是JAVA,这些用户大概率也不会接受跟自己不对标的其他开发语言。

根据用户需求和背景,Fox-Edge在设计阶段,选择的开发语言为JAVA,边缘端设备的硬件最低规格为 4G内存32G存储空间

但是,在Fox-Edge在推广过程中,很多中小企业用户也对Fox-Edge的诸多特性展示了自己的兴趣,也有意愿将Fox-Edge应用到自己的物联网项目之中。

对这些用户来说, 物料成本高于人力成本 ,他们更关注的是在 价格低廉的硬件平台 上,有个可以 拿来即用的软件平台

根据用户需求和背景,Fox-Edge决定推出一个Native版本,大幅度降低物料成本的门槛,来解决这个问题。

在设计阶段,选择的开发语言为GO,边缘端设备的硬件最低规格为 512M内存8G存储空间

文档链接

产品约束条件

任何方案都具有两面性,组合版同样如何,它存在如下局限性

目前只提供ARM64版本的下载

如果你想使用MYSQL数据库,请参照JAVA版本的初始化MYSQL环节,请在fox-edge.ini将database配置为mysql

如果你已经充分了解了上面的约束条件,那么就可以使用Fox-Edge的Native版了

事前准备工作

硬件环境
  准备一台ARM的嵌入式设备,最小配置(512M内存、8G存储空间)。
  
  下面以【软方】嵌入式工控机 为范例进行安装,这款设备的CPU为RK2611A,512M内存、4G存储空间。
  
  提醒:
  1、操作系统和通用软件的安装和配置
  ARM设备通常为嵌入式设备,其操作系统通常是生产厂家以固件的形式随机附送,往往不具有通用性。
  各种通用软件的安装,谨遵生产厂家的指导。遇到问题,请及时找生产厂家的技术人员支持解决。
  比如灵狐在选购友善R5C设备后,在安装通用软件和环境配置阶段,也同样遇到过刷机和安装的问题。
  

该产品优点主要是自带比较多的接口,功耗低,更适合工业场景使用。

如果只是作为前期的技术验证和产品的学习,也可以使用香橙派Zero2W这类开发板进行安装

操作系统
 【软方】
  Linux操作系统
  
  友情提示:跟商家选购主机的时候,要求商家出厂预装ubuntu 22.0的固件。
  
 【香橙派】
  Linux操作系统
  请参考厂家的刷机教程,刷机为ubuntu 22.0
  
  如果是其他发行版本的Linux操作系统,请自行查阅对应Linux版本的redis和nginx的安装教程

基础软件
  1、Redis:6.0以上版本
  2、nginx:1.18以上版本

基础软件安装

Fox-Edge下载

请到灵狐云端的页面下载Fox-Edge最新的初始安装包,默认的账号/密码:Fox-Edge-Public/12345678

Fox-Edge 启动

组件下载安装

1、初始状态

从 仓库管理>服务模块配置,可以看到,新安装的Fox-Edge只有gateway-service和manager-service两个内核服务
image

2、下载服务

从 仓库管理>服务模块仓库,可以看到在灵狐技术网站的中央仓库提供的服务列表。

  #先下载下列服务
  1、channel-simulator-native
  这是一个通道服务,在测试环境下,为开发者提供一个模式设备的问答响应能力,方便开发者进行设备报文级别的测试
  在此,可以也可以充当设备模拟器的作用
  
  2、device-native
  这是设备数据解码的核心服务,它为上层应用提供面向设备的会话操作。它会将面向设备的会话操作,编码成为通信报文
  然后发送给下层的通道服务,再由通道服务转发给远端的物理设备。当远端设备通过通道服务返回数据的时候,对报文进
  行解码操作,使之成为上层应用可以理解的业务对象。
  
  3、controller-native
  这是控制器服务,会根据用户的监控认为编排,周期性的将设备操作任务,发送给device-service服务。当远端的设备响
  应后,device-service在完成报文解码后,将设备的业务数据返回给控制器服务。
  控制器服务在获得远端设备的业务数据后,会将业务数据发送给persist-service服务,进行持久化保存。
  
  4、persist-native
  这是持久化服务,控制器服务从设备收集完成数据之后,会把需要持久化保存的数据,发送给persist-service服务。此时
  persist-service会将设备的数据,保存到Redis和MySQL当中,供其他服务消费使用。

  

image

3、安装服务

image

4、检查安装

image

简单测试验证

1、通道的测试

从 任务管理>通道操作任务,给模拟设备发送一下测试报文,可以看到模拟设备返回了响应报文,此时说明Fox-Edge跟模拟设备通信上了
image

2、设备的测试

从 任务管理>设备操作任务,给模拟设备发送一下操作请求,可以看到模拟设备返回了响应数据,此时说明Fox-Edge跟模拟设备能够正常会话上了
image

3、添加监控任务

从 任务管理>设备监控任务,给控制器服务添加一个监控任务,让其周期性的去访问远端设备
image

4、检查监控数据

从 设备管理>设备数值,可以看到添加监控任务后,不断从远端设备获得并持续更新数据,这些设备数据保存在redis和mysql当中
image