# IoTOS 北向应用 Demo **Repository Path**: geekhekr/iotos-north-application-demo ## Basic Information - **Project Name**: IoTOS 北向应用 Demo - **Description**: No description available - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-06-28 - **Last Updated**: 2021-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #北向应用demo说明 此demo主要可被分为两个功能模块: 1. 接收模块(./src/main/java/com/iot/north/app/demo/recieve/controller/RecieveController.java):对IoT OS"规则引擎"推送的数据进行接收处理; 2. 调用模块(./src/main/java/com/iot/north/app/demo/invoke/service/DeviceService.java):对IoT OS提供的接口进行调用。 **说明:** 关于"规则引擎"功能和开放接口(API)的详细信息可以在IoT OS中"文档中心"的"规则引擎"和"应用开发指南及API"中查看。 ## 接收模块 此模块主要是接收和处理IoT OS的"规则引擎"推送的消息。 此模块由一个接收POST请求的接口(./src/main/java/com/iot/north/app/demo/recieve/controller/RecieveController.java) 和按消息事件进行分别处理的服务(./src/main/java/com/iot/north/app/demo/recieve/service/EventService.java)组成,给开发者提供接收及操作的示例和参考。 **开发建议:** 建议开发者先对接收到的数据进行存储操作,既可以避免由于业务太复杂导致"规则引擎"访问接口超时,又方便之后对数据的二次操作及相关功能的拓展。 ## 调用模块 此模块为开发者提供基于接口调用功能开发的参考。 主要包含请求头中token的生成方法和接口调用示例。 **开发建议:** 开发者可以直接通过API调用的方式(如./src/main/java/com/iot/north/app/demo/invoke/service/DeviceService.java所示)进行web应用或桌面应用的开发; 也可以如(./src/main/java/com/iot/north/app/demo/invoke/controller/InvokeController.java)所示,基于调用API来重新自定义服务接口。 ## 运行测试 ### 启动前相关配置 1. 若要测试接收模块,开发者需将运行本程序的服务器地址(地址与端口可在application.properties中自定义)填写在IoT OS的"规则引擎"中。 (规则引擎配置详情可以参考"文档中心"-"消息通信"-"规则引擎")。 **注意:** 此demo接收请求的路径为```http://ip:port/pushMsg```,接口可在(./src/main/java/com/iot/north/app/demo/recieve/controller/RecieveController.java)修改。 2. 若要测试调用模块,开发者需要将IoT OS的应用接入信息配置在(./src/main/java/com/iot/north/app/demo/invoke/constant/RestConstant.java)中, 并将账户的信息(AccessKey)配置在(./src/main/java/com/iot/north/app/demo/invoke/constant/AuthConstant.java)中。 (信息获取方式可以参考"文档中心"-"应用开发指南及API")。 ### 启动方式 1. 相关配置完成后直接运行此项目,此时接收模块和调用模块会一同被运行。 2. 将此程序打包(JAR包)运行。 1)点击IDEA右侧Maven,调出maven菜单面板; 2)点击面板中"Execute Maven Goal"按钮; 3)在Command Line中输入```clean package```后点击Execute按钮; 4)执行成功后可以在工程目录中的target目录下找到对应的JAR包。 ### 启动后使用 当用户成功启动服务后,用户可以进行数据上报等操作,接收模块功能会接收并处理相关信息。 由于本demo编写了基于调用API的自定义服务接口(即./src/main/java/com/iot/north/app/demo/invoke/controller/InvokeController.java), 服务启动后用户可以通过对本服务进行接口访问来测试API调用的功能。