Edge X Foundry框架-用SDK生成设备服务

更多有关Edge X Foundry的内容,请点击这里

Edge X Foundry框架-用SDK生成设备服务_第1张图片

准备:JDK,Maven,MongoDB,Eclipse这些东西就不说啦,详细准备情况可以参考我的另一篇文章哈~

    1.设备SDK

    2.设备SDK开发工具

我们把这两个项目从GitHub上拉取下来后导入到eclipse中,使用General-Existing Project into Workspace导入即可


-device-sdk-tools是生成虚拟设备的工具,我们要通过运行它来创建一个虚拟设备,而具体的设备属性,端口,名称,协议等等都由被指文件生成,后面会具体的讲解

那么我们通过一个实例来熟悉怎么进行设备SDK的开发吧

这个时候我们右击device-sdk-tools项目,选择Run As-RunConfigurations,在Java Application下可以看到后面有一个默认的New_configuration,在右边我们配好

Name:Generate Device Service;

Project:device-sdk-tools;

选择好我们要要运行的主函数,也就是org.edgexfoundry.Application

Edge X Foundry框架-用SDK生成设备服务_第2张图片

接下来我们转到Arguments标签页里,这里是干嘛的呢?不知道大家在device-sdk-tools的GitHub说明中有没有看到“运行配置需要两个参数”其中第一个是生成文件的目录名称,也就是路径。第二个就是设备服务描述文件,也就是模板。

大家可以看到在device-sdk-tools的项目下有一个Demo的文件,这个文件里面配置了好多属性,而这就是设备服务描述的文件,我们可以仿照Demo这个文件去修改成自己的设备服务描述文件从而生成自己的设备。

例如我们可以这么写

Edge X Foundry框架-用SDK生成设备服务_第3张图片

然后Run!

如果一切顺利,我们可以在看到会有成功的提示

Edge X Foundry框架-用SDK生成设备服务_第4张图片

这样我们就生成了一个新的服务,新服务当然是要跑起来的呀,我们怎么去运行新服务呢?

首先,我们用Maven去将新项目导入,Improt->Maven-Existing Maven Project,然后选择好刚刚生成新设备文件的路径,OK~

导入进来后,我们通过

Edge X Foundry框架-用SDK生成设备服务_第5张图片

将此服务设备安装到Maven环境当中去,只要出现

Edge X Foundry框架-用SDK生成设备服务_第6张图片

就说明我们的新设备成功部署到Maven中去了

这个构架在设计的时候有一个Bug,需要配置一个日志记录在application.properties中加入:logging.remote.url=http://localhost:48061/api/v1/logs

并且将schedule.properties替换为以下内容

# Add comma separated schedule and scheduleEvent initializations, may be partially specified, used by SimpleSchedule and SimpleScheduleEvent for initialization
# TODO 9: [Required] Set up default schedules. Each property set must be equal width. Run the schedule in the service by leaving the scheduleEvent.scheduler property blank,
# or run on the scheduler service by defining the scheduleEvent.scheduler=scheduler,... 
#default.schedule.name=Interval-15s
#default.schedule.frequency=PT15S

#default.scheduleEvent.name=device-sdk-generated-Discovery
#default.scheduleEvent.path=/api/v1/discovery
#default.scheduleEvent.service=device-sdk-generated
#default.scheduleEvent.schedule=Interval-15s

然后嘞,我们就可以用Application类去运行这个设备服务,启动服务啦




你可能感兴趣的:(探索边缘计算框架,物联网,边缘计算,智能边缘,Edge,X,Foundry,Edge,X,Foundry框架)