arduino和物联网云端平台系列---物模型之事件

事件,先下个简单的定义就是发生了什么事件

系列文章都是已经完成了基本的库安装和使用为前提

物模型之事件

基本的添加步骤不描述了,设置一个测试用例

在这里插入图片描述
事件我已经设定好了,输出参数代表的是在云端得到的输出,需要我们在设备进行输入

arduino事件函数

在arduino中sdk库中两个函数


static void sendEvent(const char *eventId,const char *param);
static void bindEvent(const char * eventId, MQTT_CALLBACK_SIGNATURE);

1.void sendEvent(const char *eventId,const char *param);
将本地发生的事情上报给云端,比如说,突然有人非法闯入这时候就可以将时间上传云端

const char *eventId="testEvent";
const char *param="{\"testvalue\":\"client is ok\"}";
AliyunIoTSDK::sendEvent(eventId,param);

2.static void bindEvent(const char * eventId, MQTT_CALLBACK_SIGNATURE);

云端下发事件时会被调用,但是这个功能怎么使用暂时没有看到(没有看到下发事件的云端api)

内部第二个参数来自pubsubclient库

#if defined(ESP8266) || defined(ESP32)
#include <functional>
#define MQTT_CALLBACK_SIGNATURE std::function<void(char*, uint8_t*, unsigned int)> callback
#else
#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, unsigned int)
#endif

阿里云SDK

这里只看到有事件的上报过程

device.postEvent('eventIdentifier1', {
    //key1是事件'eventIdentifier1的参数'
    key1: 'value1'
});
            

这个过程和云端api可以使用node.js进行测试,比较快速

云端API

云端API调用QueryDeviceEventData可以获取所有的事件,也就是上面我们从c/s(客户端和服务端)发送的事件列表

在这里插入图片描述

上面的事件和下面的事件相对应

在这里插入图片描述

假设我们在一个智慧房间或者相关的系统中,如果出现一些特殊事件,比如说房间着火了(温度传感器),有毒气体上升都可以在服务端获取显示,同时可以预设对应的处理函数去处理事件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值