阿里云iot物联网平台监控设备 在线离线状态 解决方案

简介: 阿里云iot物联网平台监控设备 在线离线状态 解决方案

阿里云iot物联网平台监控设备在线离线状态解决方案

需求

目前使用阿里云的iot作为物联网平台应用,在整个系统内有很多设备,每天都会在固定的时间段内在线和离线。

我们需要监控这些设备的状态,如果设备在线或者离线,给管理员发送通知(短信),以便让相关人员及时处理。

具体实现

服务端订阅

在产品详情的服务端订阅中,可以通过服务端订阅来接受iot平台的消息。

其中:

  • 服务端订阅,通过HTTP2通道推送,目前只提供了Java和**.NET**语言的SDK。
  • 服务端订阅 (推送MNS)。将物联网平台的消息推送到队列中,然后服务端基于SDK从队列中获取消息实现通信。

由于语言限制,我们选择MNS的方式进行消息接受,需求是监控状态,所以只选择设备状态变化通知

同步监控消息

通过上一步之后,阿里云会在MNS上创建一个对应的消息队列,如果设备有在线离线状态的变更,对应的消息就会被推送到对应的队列中。

列表的操作部分可以直接接收消息,当然这样做消息会被消费,如果队列已经写入系统逻辑,就需要谨慎操作。

拉取MNS队列并处理消息

从控制台的拉取消息看,主要数据内容在payload中,通过文档可以查看,通过base64可以解析得到消息的详细内容。

{
    "status":"online|offline",
    "productKey":"12345565569",
    "deviceName":"deviceName1234",
    "time":"2018-08-31 15:32:28.205",
    "utcTime":"2018-08-31T07:32:28.205Z",
    "lastTime":"2018-08-31 15:32:28.195",
    "utcLastTime":"2018-08-31T07:32:28.195Z",
    "clientIp":"123.123.123.123"
}

下面列出PHP作为服务端处理的主要逻辑代码,作为参考。

/**
     * 拉取状态队列消息
     */
    public function actionIotStatus(){
        $endPoint  = "https://************.mns.cn-shanghai.aliyuncs.com";
        $accessId = \Yii::$app->params['aliyun']['accesskeyid'];
        $accessKey = \Yii::$app->params['aliyun']['accesssecret'];
        $queueName = \Yii::$app->params['iot']['mnskey'];
        $client = new Client($endPoint, $accessId, $accessKey);
        $queue = $client->getQueueRef($queueName);
        $receiptHandle = NULL;
        try
        {
            $res = $queue->receiveMessage(30);
            $receiptHandle = $res->getReceiptHandle();
            //得到消息句柄
           $body =   $res->getMessageBody();
           $bodyArr = json_decode($body,true);
            $payload = json_decode(base64_decode($bodyArr['payload']),true); //解析
            $deviceName = $payload['deviceName'];
            //todo 这里写的逻辑是给管理员发送短信和通知
      //删除消息,避免再次被接收到
            try
            {
                $res = $queue->deleteMessage($receiptHandle);
                echo "DeleteMessage Succeed! \n";
            }
            catch (MnsException $e)
            {
                echo "DeleteMessage Failed: " . $e;
                return;
            }
        }
        catch (MnsException $e)
        {
            echo "ReceiveMessage Failed: " . $e;
            return;
        }
    }

总结

  • 详细看文档的好处在于一旦有需求就能找到最合适的实现方式。

参考资料

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
7月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。该架构不仅显著提升了系统稳定性与可扩展性,更保障了高并发场景下的业务连续性,为实现“让换电成为营运补能第一选择”的战略目标提供了坚实的技术支撑。
367 52
|
11月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
3490 42
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
1239 1
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
599 1
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
1464 12
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
556 1
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
687 3
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
2303 3

相关产品

  • 物联网平台
  • 下一篇
    开通oss服务