IoT边缘 IoTEdge
IoT边缘 IoTEdge
- 最新动态
- 产品介绍
- 快速入门
- 用户指南
- 开发指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 概念相关
-
节点管理
- 安装专业版节点异常如何处理?
- 安装专业版节点,执行安装命令时失败,一直提示“edgedaemon not found"?
- 安装专业版节点失败,提示“edge_core has existed”,该如何处理?
- 专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 专业版节点欠费充值后,部署、升级模块仍然报错?
- MQTT设备无法接入边缘节点如何处理?专业版节点所在机器断网/断电一段时间后恢复,节点模块一直处于“部署中”怎么处理?
- 误删除IoTDA上的edge_node/modbus_server产品后,在边缘服务创建节点/添加Modbus设备失败,该怎么处理?
- 边缘节点离线排查指南
- 修改专业版(Docker)或基础版节点的云端日志级别,但没有生效?
- ubuntu系统下节点shell命令兼容性导致的安装失败
- 子设备管理
- 应用管理
- 账号与权限
- Module-SDK
- 视频帮助
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
JAVA版SDK
SDK获取和安装
1. 安装Java开发环境。
访问Java官网,下载并说明安装Java开发环境。
华为云Java SDK支持Java JDK 1.8 及其以上版本。
2. 使用eclipse/IDEA创建工程。
3. 下载ModuleSDK,并在工程中导入jar包。
4. 开发代码
开发数据处理的代码示例,详细说明请参考开发应用集成ModuleSDK进行数据处理。
/** * 监控APP,检视设备上报的数据,并对设备进行相应的控制 */ public class MonitorApp implements BusMessageCallback { /** * 接收设备数据的消息总线输入点,取值需在创建应用版本的inputs参数中定义 */ private static final String INPUT = "input"; /** * 发送设备数据的消息总线输出点,取值需在创建应用版本的outputs参数中定义 */ public static final String OUTPUT = "output"; public static final int FIVE_SECOND = 5000; /** * 电机设备的产品ID */ public static final String MOTOR_PRODUCT_ID = "6b4843db3f0189e9c577"; /** * 与EdgeHub通信的客户端 */ private AppClient appClient; public MonitorApp() throws GeneraException { appClient = AppClient.createFromEnv(); } public void start() throws GeneraException { //设置回调,打开客户端 appClient.setBusMessageCallback(INPUT, this);//设置收到设备数据的回调 appClient.open(); } public void stop() throws GeneraException { appClient.close(); } /** * 收到设备上报数据的回调处理,样例代码在马达设备状态错误时对马达进行重启 * * @param busMessage */ @Override public void onMessageReceived(BusMessage busMessage) { try { if (busMessage.getProductId().equals(MOTOR_PRODUCT_ID)) { //马达设备状态错误时对马达进行重启 MotorData motorData = JsonUtil.fromJson( JsonUtil.toJson(busMessage.getServices().get(0).getProperties()), MotorData.class); if (motorData.getStatus().equals("error")) { Command command = new Command(busMessage.getDeviceId(), "power", "restart", null); appClient.callDeviceCommand(command, FIVE_SECOND); }else{ //其他设备数据发布到总线 appClient.sendBusMessage(OUTPUT, busMessage); } } else { //其他设备数据发布到总线 appClient.sendBusMessage(OUTPUT, busMessage); } } catch (Exception e) { System.out.println(e.getMessage()); } } }