• [行业资讯] 无线传感器网络中的安全问题
    隐患:传感器通常部署在无人维护的环境当中,这更加方便了攻击者捕获传感器节点。当捕获了传感器节点后,攻击者就可以通过编程接口(JTAG接口)修改或获取传感器节点中的信息或代码。跨层的安全框架各协议层有不同的安全方法:物理层:主要通过考虑安全编码来增加机密性;链路层和网络层:考虑的是数据帧和路由信息的加密技术;应用层:着重于密钥的管理和交换,为下层加解密提供安全支持。 传统的安全设计主要采用分层的方法,不能较好地解决WSN中的安全问题。因为各层研究的侧重点各不相同,不同层的安全和网络性能不同,用跨层设计可以平衡这两个因素,可以在安全需求及网络性能上有一个良好的折中。检测示例:在系统中,网络连接性主要依靠各节点之间的协作。如果其中一个节点故意停止中继分组,网络将不能正常通信。这种节点称为自私节点。为了避免这种情况发生,需要两种解决方法:一种是执行通信协议,鼓励其它节点承担中继任务;另一种是在通信协议中检测自私节点,警告并处罚它们,并让它们返回协作模式。所有的解决方案都需要使用跨层的方法,因为自私行为可以在各层出现,特别是MAC层和路由层。
  • [技术干货] 您的办公室准备好了吗?可以马上实施的4个物联网智能办公室理念
    物联网技术越来越适用于各种规模的办公场所。由于传感器技术的进步,曾经被认为是独特且部署成本高昂的技术现在很容易实施。图片来源:https://pixabay.com/images/id-6665746/ 疫情大流行也加快了物联网的采用速度。很多公司现在正在接受和推广智能技术,以增强办公场所的健康和福祉。 这里有4个简单的物联网应用,您现在就可以开始使用。 #1、占用监测 办公室占用模式现在比三年前更加动态和不可预测。传统朝九晚五的日程安排和定期使用会议室是一个遥远的现实。物联网通过提供对办公室占用情况的24/7无创监测很好地解决了这个问题。 物联网传感器和后续分析可以检测、分析和了解办公室占用模式。这意味着通过安装温度传感器、运动传感器或照明传感器,您可以大致了解员工如何使用办公空间。 一旦您获得这些信息,您就可以微调办公条件,包括通风、空调和供暖。您学习和优化的越多,您的办公环境就会越健康、越舒适。 #2、智能清洁 利用占用监测的洞察力,您可以了解办公室的实际清洁需求,并相应地安排人员和资源。 您可以在洗手间中放置传感器,以接收有关何时进行或需要清洁(例如,消毒、补充消毒剂)的实时警报。同样,传感器有助于记录清洁操作(例如,谁、何时、哪个空间已被清洁),以促进遵守法规。这也有助于评估第三方清洁服务的水平,例如清洁频率和商定的服务级别协议。 #3、军团菌合规性 军团菌合规性是促进安全健康工作场所的又一个物联网使用案例。它指的是使用传感器及其数据分析来减少军团菌爆发。 传感器应用于水源,如进水口、中点和端点。它们用于消除手动监测并帮助确保用水安全。 每当监测到温度异常时,可以及时向设施团队发出警报,以防止军团菌爆发。这样,您就可以安心,办公室里的人员正在使用和饮用安全的水。 #4、能源效率和可持续性 物联网在现代设施的数字化和绿色转型中发挥着重要作用。可持续智慧城市的快速发展就是一个很好例子。在关键使用区域部署传感器可帮助您监测建筑活动。借助数据,您可以就能源使用做出数据驱动的决策。 使用物联网传感器还可以协助废物管理,如设施废物收集的优化调度。 总结 借助来自传感器技术的数据,办公室运营、维护、环境条件和占用率的几乎所有方面都得到了优化。这提高了工作场所的可持续性、生产力以及员工的健康和福祉。 使用传感器改造您的办公室不仅可以提高运营效率,而且还有助于改善工作场所体验。随着人们越来越希望继续在家工作,智能技术可以将您的办公室变成人们想要的空间。 随着传感器比以往任何时候都更实惠和更容易安装,各种规模的办公室都可以更健康、更安全、更高效。来源 | 物联之家网作者 | Pippa Boothman编译 | iotohme原文链接 | https://www.iothome.com/tech/jianzhu/2021/1103/11927.html
  • [问题求助] 小熊派鸿蒙开发板编译失败,任务日志如下,求助 ,拜托大佬行行好。
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] HarmonyOS开发板NFC碰一碰完成动态配置
    上一篇《华为云IoT API Explorer对接小程序实现系统化应用》介绍了应用侧如何利用应用测的Api做了一个微信小程序业务场景。本篇就介绍南向设备端案例,主要讲解案例基础上集成NFC功能,并和小程序配合成为一个完整的应用场景案例。用来实现NFC动态配置WIFI账号和密码,DeviceId和Secret,可以适合多场景先烧录后配置。硬件准备:1、小熊派开发板 Bearpi_HM nano2、E53案例的一个扩展版3、安卓手机一部,带NFC功能4、Type-C 电源线一根软件准备:1、HarmonyOS开发环境的Linux系统,帮小熊派宣传一下https://pan.baidu.com/s/1T0Tcl3y48C1p5L6y-6HJNg 提取码:eusr2、HiBurn烧录工具,方便在Windows上使用3、微信开发工具4、VSCode开发工具目标工作的任务1、通过小程序能够添加产品和注册设备,注册设备的同时产生的DeviceID和Secret,加上Wifi的账号密码,通过NFC功能,小程序调用手机NFC传递给开发板的NFC里面。2、开发板启动时,先读取NFC内容,按照预定的格式,如果发现了以上写入信息,就直接使用来连接Wifi和物联网。看代码小熊派案例D6_iot_cloud_oc采用Wifi和MQTT连接,包含了智慧农业案例可以从下面代码中看出,Wifi信息和设备信息都是编译前要写好的。//Wifi信息联网 uint32_t ret = WifiConnect("Hold", "0987654321"); //设备信息 #define CLIENT_ID "5fc7152fb4ec2202e99df7bf_2020111409_0_0_2020120205" #define USERNAME "5fc7152fb4ec2202e99df7bf_2020111409" #define PASSWORD "9b501c0ce96e0d79a071703b870060d939e95715397c6cb5dee90a93a38dd288" device_info_init(CLIENT_ID, USERNAME, PASSWORD);Bearpi-HM nano已经支持NFC了,只要引入类库实现读取NFC代码库包含若干文件使用起来函数比较简单,先初始化对应的GPIO和SPP //GPIO_0复用为I2C1_SDA IoTGpioSetFunc(0, IOT_GPIO_FUNC_GPIO_0_I2C1_SDA); //GPIO_1复用为I2C1_SCL IoTGpioSetFunc(1, IOT_GPIO_FUNC_GPIO_1_I2C1_SCL); //baudrate: 400kbps IoTI2cInit(WIFI_IOT_I2C_IDX_1, 400000);接下来就是读取NFC内容了,根据预置格式读取和使用 extern char product[50], wifissid[50], wifipwd[50], deviceid[50], devicepwd[50]; /* 从NFC中读取连接平台相关设备信息 */ ret = nfc_get_devived_data(); /* 连接WiFi热点 */ if (ret == 0) { WifiConnect(wifissid, wifipwd); } else { WifiConnect(CONFIG_WIFI_SSID, CONFIG_WIFI_PWD); } dtls_al_init(); mqtt_al_init(); oc_mqtt_init(); g_app_cb.app_msg = queue_create("queue_rcvmsg", 10, 1); if (NULL == g_app_cb.app_msg) { printf("Create receive msg queue failed"); } oc_mqtt_profile_connect_t connect_para; (void)memset(&connect_para, 0, sizeof(connect_para)); connect_para.boostrap = 0; if (ret == 0) { connect_para.device_id = deviceid; //平台所需要的deviceid connect_para.device_passwd = devicepwd; //平台所需要的devicepwd } connect_para.server_addr = CONFIG_APP_SERVERIP; connect_para.server_port = CONFIG_APP_SERVERPORT; connect_para.life_time = CONFIG_APP_LIFETIME; connect_para.rcvfunc = msg_rcv_callback; connect_para.security.type = EN_DTLS_AL_SECURITY_TYPE_NONE; /* 连接到华为云IoT平台 */ printf("Connecting huawei iot cloud!\r\n"); ret = oc_mqtt_profile_connect(&connect_para); if ((ret == (int)en_oc_mqtt_err_ok)) { g_app_cb.connected = 1; printf("oc_mqtt_profile_connect succed!\r\n"); }读取NFC主方法/************************************************** * get_devived_data * 获取WiFi的ssid和密钥及设备DevicesID和密钥 * ***********************************************/ uint8_t nfc_get_devived_data(void) { uint8_t memary_buf[16 * 15]; cJSON *json, *jsonTemp; // *jsonArray, uint8_t jsonbuf[512] = {0}; char jsonbuf_string[512] = {0}; uint8_t payload_len = 0; uint8_t json_len = 0; NT3H1101_Read_Userpages(15, memary_buf); payload_len = memary_buf[4]; json_len = payload_len - 3; //取出真实的json数据包,往后再偏移3位 for (uint8_t i = 0; i < json_len; i++) { jsonbuf = memary_buf[9 + i]; } memset(jsonbuf_string, 0x00, sizeof(jsonbuf_string)); sprintf(jsonbuf_string, "%s", jsonbuf); // printf("\r\n nfc json %s\r\n", jsonbuf_string); //解析json数据 json = cJSON_Parse(jsonbuf_string); if (!json) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return -1; } else { jsonTemp = cJSON_GetObjectItem(json, "product"); memset(product, 0, sizeof(product)); snprintf(product, strlen(jsonTemp->valuestring) + 1, "%s", jsonTemp->valuestring); jsonTemp = cJSON_GetObjectItem(json, "device_id"); memset(deviceid, 0, sizeof(deviceid)); snprintf(deviceid, strlen(jsonTemp->valuestring) + 1, "%s", jsonTemp->valuestring); jsonTemp = cJSON_GetObjectItem(json, "secret"); memset(devicepwd, 0, sizeof(devicepwd)); snprintf(devicepwd, strlen(jsonTemp->valuestring) + 1, "%s", jsonTemp->valuestring); jsonTemp = cJSON_GetObjectItem(json, "ssid"); memset(wifissid, 0, sizeof(wifissid)); snprintf(wifissid, strlen(jsonTemp->valuestring) + 1, "%s", jsonTemp->valuestring); jsonTemp = cJSON_GetObjectItem(json, "pwd"); memset(wifipwd, 0, sizeof(wifipwd)); snprintf(wifipwd, strlen(jsonTemp->valuestring) + 1, "%s", jsonTemp->valuestring); cJSON_Delete(json); free(json); // isequal } return 0; }小程序的NFC,需要腾讯提供的NFC组件。其使用过程如下小程序写入的是json,并在写入时编码,值得一说的是,编码时增加3个ASCII码,NFC的固定规范var payload = JSON.stringify({ "product": that.data.selectedProduct, "device_id": device.device_id, "secret": device.secret, "ssid": wifi.ssid, "pwd": wifi.pwd }) let records = [{ id: new ArrayBuffer(), payload: stringToBuffer(payload, "02,65,6E"), type: stringToBuffer('T'), tnf: 1 }] ndef.writeNdefMessage({ records: records, success: (res) => { console.log('writeNdefMessage success res:', res) that.setData({ setNfcText: '配置成功,请重启开发板', btnNfcText: '确定' }) }, complete: (res) => { nfc.stopDiscovery(); } })
  • [交流分享] 分析物联网工程学习
    基础课程:1、初中高中物理电力学知识2、电路分析基础(电工)3、微积分与微分4、模拟电路5、计算机组成原理进阶课程:1、传感器2、单片机
  • [问题求助] 请问目前LiteOS 板级适配的最好的开发板是什么开发板?
    RT,说下我的需求:操作系统:LiteOS  .版本不限1 采集 系统的一些资源使用情况( 非外设传感器,CPU使用率 这样的信息),FLASH上由哪些文件2 通过MQTT TLS 方式 与服务端交互。因为本人对板级适配 没什么经验,所以向直接选取一块 适配的比较好的开发板。交过了解 小熊派  开发板 板载FLASH 太小。 我的需求决定了我要开启 mqtt ,json ,mbedtls ,文件系统,这些功能。 小熊拍 固件估计烧录不下。LiteOS 能直接编译 通过的 也就 小熊派,正点原子的  几个吧?其他的 经过make menuconfig配置后,一编译,不是缺这个文件就是缺那个文件。什么flash_adapter.h 没有 什么lcd.h没有。让我等菜鸟情何以堪? 官方能推荐一个开发板?我只想拿到开发板,基于组件,写写应用层,业务 。这个要求是不是太过分了?不想限于移植什么lwip ,什么wifi ,什么 HAL的泥潭中。。。
  • [问题求助] 小熊派开发板咋通过代码发送AT指令以控制esp8266啊,求大神了
    开发软件:mdk v5 +stm 32cubmx过程是这样的,我需要用代码的方式来控制esp8266,但我只知道可以使用AT指令控制esp8266,所以我使用uart发送AT指令过去没反应,也不知道是啥问题,求助大神
  • [行业资讯] 意法半导体第三届工业峰会线上直播
    直播入口 https://www.wjx.cn/vj/wI3wIFt.aspx
  • [行业资讯] 萤石发布智家护卫套装,助力智能家居场景升级
    11月1日下午,萤石召开传感器系列新品在线发布会,发布8款传感器新品:萤石 A3 智能网关、萤石 T1C 人体移动传感器、萤石 T2C 智能门窗传感器、萤石 T3C 智能按钮、萤石 T4C 光电烟雾火灾探测器、萤石 T8C 家用可燃气体探测器、萤石 T10C 水浸传感器、萤石 T51 温湿度传感器,萤石还将A3、T1C、T2C、T3C四款新品打包成智家护卫套装,为萤石家居安防用户从单品安防切入场景智控提供了轻量级的解决方案。萤石以安全为核心,构建了“1+4+N”智能家居生态,搭载智能家居摄像机、智能入户、智能控制、智能服务机器人四大自研硬件,开放接入子系统,实现家居及类家居场景的全屋智能化。在这些场景的实现过程中,萤石智能家居传感器则起着纽带作用。
  • [技术干货] 泛在网、物联网与传感器网络有什么区别
    泛在网、物联网与传感器网络有什么区别物联网与传感网的区别  物联网强调的是物与物之间的连接,接近于物的本质属性,而传感器强调的是技术和设备,是对技术和设备的客观表述。从总体上来说,物联网与传感网具有相同的构成要素,它们实质上指的是同一种事物。物联网是从物的层面上对这种事物进行表述,传感网是从技术和设备的角度对这种事物进行表述。物联网的设备是所有物体,突出的是一种信息技术,它建立的目的是为人们提供高层次的应用服务。传感网的设备是传感器,突出的是传感器技术和传感器设备,它建立的目的是更多地获取海量的信息。物联网与泛在网的区别互联网与物联网相结合,便可以称为“泛在网”。利用物联网的相关技术如射频识别技术、无限通讯技术、智能芯片技术、传感器技术、信息融合技术等等,以及互联网的相关技术如软件技术、人工智能技术、大数据技术、云计算技术等,可以实现人与人的沟通、人与物的沟通以及物与物的沟通,使沟通的形态呈现多渠道、全方位、多角度的整体态势。这种形式的沟通不受时间、地点、自然环境、人为因素等的干扰,可以随时随地自由进行。泛在网的范围比物联网还要大,除了人与人、人与物、物与物的沟通外,它还涵盖了人与人的关系、人与物的关系、物与物的关系。可以这样说,泛在网包含了物联网、互联网、传感网的所有内容,以及人工智能和智能系统的部分范畴,是一个整合了多种网络的更加综合合全面的网络系统。    传感器是泛在网 、物联网的组成部分,而物联网又是在泛在网发展的物联阶段,各种网络之间相互协作融合是泛在网发展的终极目标。————————————————原文链接:https://blog.csdn.net/weixin_46112690/article/details/120059315
  • [Atlas200] 1. Atlas 200DK怎么作为主处理器外接显示屏 2. 或者怎么做协处理器外接嵌入式开发板
    【功能模块】Atlas 200dk模块【操作步骤&问题现象】1、Atlas 200DK怎么作为主处理器外接显示屏,或者怎么做协处理器外接嵌入式开发板,在文档1.2中找到的说明,文档放于附件中,但是没有具体的应用案列,请问是否有相应技术支持?2、或者怎么做协处理器外接嵌入式开发板【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 开发板上不了电
    576816
  • [问题求助] 开发板上不了电
    576815
  • [技术干货] STM32开发板(Bearpi)显示动态二维码
    在STM32开发板(小熊派)开发板上显示二维码,适用于C的嵌入式开发板接LCD,小熊派已经有了LCD驱动,移植 了二维码功能。不废话,来这里看STM32开发板(Bearpi)显示动态二维码-云社区-华为云 (huaweicloud.com)
  • [技术干货] 物联网的应用模式
    一、前言什么是模式?简单说就是一种总结,一种模版,一种标准流程。惯用法-设计模式-架构风格,就是IT这边常见的三层模式。至于应用模式,我的理解是特定应用领域下的模式。由于物联网的特性,其有很多应用模式。这些应用模式并不是专属于物联网应用领域,而是在物联网应用领域,放大了这些应用模式的效果与价值。简单说一下,文章中提及的工业物联网项目下的风机监测。工业物联网项目下的风机监测系统,是通过一系列传感器检测风场诸多风机的状态,比如是否存在倾斜倒塌风险。二、应用模式1.Interpolation(插入)a.定义通过某网络的周边节点数据,确定中间节点数据b.问题一个在时空上连续分布的数据,由于网络波动等原因,缺少部分分布点的数据。c.解决由于时空分布的连续性,某个点的数据不可能出现突然猛然增降(如果真的有,大概率也被视为异常数据,进而被清洗了),所以可以通过该点周边的数据平滑地推断出该点的数据。d.缺点缺点无非两点:数据可信性、方案落地的要求前者,由于有部分数据并不直接来自于实际采集,必然导致最终结果的一定程度失真。后者,这个方案的落地,必须确保这些时空分布点的关联性足够强,尤其是时空点的分布并不是足够密集时。e.示例以工业物联网项目下的风机监测系统为例。时间:就单个风机,如果倾斜传感器采集频率为10/s,那么连续1分钟内的数据只有590,那么也是可以接受的。甚至这些数据只有300个,只要数据丢失呈现均匀分布,而不是断崖式的,那么也是可以接受的。只是后续,需要让技术确定为什么采集数据少了这么多。囧空间:同样就单个风机而言,即使在一个小时内某个倾斜传感器没有采集数据,但其他部位的倾斜传感器工作正常,那么可以通过其他传感器,推断出这个故障传感器的数据。进而保证上层程序正常运转。2.Sensor Facade(传感器装饰)a.定义通过中间服务,将传感器原始数据,转换为可读性更高的数据。接耦,带来硬件升级的成本降低b.问题传感器型号众多,从通行协议,到交互方式,差异性较大。尤其一些型号的传感器,可能突然就不生产了。c.解决类似于设计模式的Facade模式,通过一个Facade层,屏蔽具体硬件型号带来的差别,为上层提供统一的数据模型。d.缺点每种传感器都需要建立对应的facade,并且统一的数据模型的抽象决定了这层Facade的上限。至于每层facade的新增开发量,就取决于facade的抽象设计水平了。e.示例以工业物联网项目下的风机监测系统为例。该系统的倾斜传感器有五种,后续还要支持更多传感器类型。这些传感器来自不同的厂家,有的使用mqtt协议,有的使用自定义二进制协议,采集的数据也存在差异(是否有温度采集)。为了避免影响到上层应用,所以在终端服务器(网关层)进行了Facade处理。通过抽象的二进制协议解析&交互模块和Mqtt交互模块,将不同传感器的数据进行处理,最终获得一个统一的倾斜数据模型,供上层应用使用。3.Cache(缓存)a.定义当传感器数据被异步获取/发送时,可以将缓存的数据返回,进而提高性能,避免重新采集/生产数据。b.问题传感器数据的被访问频率,与传感器采集频率不同步,或者传感器数据被多个消费者异步消费。c.解决传感器数据采集/处理完毕后,将结果数据置入一块缓存。在数据尚未缓存失效期间,外部(其他传感器/服务节点)请求数据时,直接返回缓存中的数据。d.缺点仅适用于异步数据交互,异步处理复杂度相对高一些。e.示例以工业物联网项目下的风机监测系统为例。该检测系统有一个震动传感器的数据采集,由于震动数据的特殊性,所以必须是连续的高频采集。比如一天采集十分钟长度,频率为1000HZ的数据。这份数据采集后,会有三个数据流出向:交由算法程序处理,计算结果储存到数据库中将转化后的数据进行存储,便于后续算法优化上层应用可能会扫描到该数据,用于上层使用(如展示等)当时的解决方案,就是本地通过文件系统缓存原始数据,消费者(算法、转换程序、上层应用)通过异步扫描的方式获取该数据。每天创建对应缓存文件后,会清理一天前的缓存文件。4.Gateway(网关)a.定义整个系统出入流量的“总闸”。实现安全传输,以及相关协议转换(利用Interpolation、Sensor Facade等)b.问题用户请求格式、协议存在很大差异。每个微服务都需要进行请求格式转换、协议转换,并对返回进行处理。与此同时,每个微服务都需要实现完整鉴权,确认请求权限。并且由于每个微服务都暴露在外网,系统安全性大大降低。而这一切,带来了性能降低、成本提高、安全性降低等一系列问题。c.解决系统进出流量,统一经过网关,由网关作为edge service,进行系统内外的交互。一方面由于网关隔绝了系统内外,大大提高系统内其他服务的安全性。另一方面由于所有流量都经过网关,所以请求&响应的统一处理可以交由网关处理,如协议转换,格式转换、安全传输等。d.缺点系统增加了一个可能的新性能瓶颈-网关。这包含了网关所带来的性能瓶颈,以及网关的单点故障考量等。作为系统的基础组成,网关的设计影响了系统的安全,性能等。不合理的网关设计,反而会带来耦合,进而提高系统的复杂性。e.示例以工业物联网项目下的云平台为例。云平台,采用了网关,进行协议转换,以及鉴权等。协议转换:由于存在传感器将原始数据直接上传云平台,所以云平台需要协议转换模块,进行内容的转化。鉴权:通过网关统一对传感器、用户的权限校验,内部服务进行“裸奔”。而部分敏感操作,有对应服务进行二次权限校验。f.扩展网关是一个逻辑概念,并不是类似路由器这样的物理存在。而在应用中,可能被拆分为多个组件。这里要说一下,之前小伙伴问我XXX集团的网关是什么组件,是不是Spring的gateway。说实话,就是没有理清这里的概念。网关虽然是功能上一个整体概念,但落在应用中,可能是由多个组件组成。而SpringCloud的gateway等,只是一个较为成熟的落地方案,可以理解为一个用于快速应用的脚手架。比如在XXX集团里的统一接入层,包含了网关的功能,包含CDN、LVS、XXX(类似Nginx)、鉴权平台、无线接入平台等等。5.Sensor Aggregator(传感器聚合器)a.定义往往上层服务所需信息,不只是在一个传感器中体现,而是在多个传感器的聚合信息中。b.问题物联网某个“物对象“的状态/某个指标,是由多个传感器数据聚合而来。如果平台接受所有传感器数据,这个数据量就超出了当前系统的承受量。c.解决物联网某个“物对象“的状态/某个指标,可通过对相关的多个传感器采集数据聚合而来,再将聚合后的结果,上传至平台。d.缺点需要对多个传感器数据进行聚合,可能需要对应聚合算法末端的单个传感器,往往缺乏多个传感器的数据聚合能力,所以可能需要额外的硬件,进行数据聚合。由于聚合方式&算法的缘故,可能聚合结果存在一定程度的失真。e.示例以工业物联网项目下的风机监测系统为例。风机的倾斜指标,是由塔顶倾斜与塔底倾斜组成。不同部位的倾斜是由三个倾斜传感器的数据,通过算法聚合而来空间三个维度分别对应一个传感器,进而获得较为精确的结果。感兴趣的小伙伴,可以自己计算哈。f.扩展数据聚合并不仅仅针对于“物对象”的单个指标,也可以直接针对“物对象”。具体粒度取决于业务需求,以及技术限制等。6.Control Aggregator(控制聚合器)a.定义通过对传感器&传感器集合数据分析,进行决策,进而对控制集进行操作b.问题一方面一个事件的处理,往往会涉及多个控制传感器的处理(亮灯、起落架抬起等)。另一方面,每次相关事件处理,都需要调用多个控制传感器。c.解决通过定义控制聚合器,由控制聚合器,调用对应的多个控制传感器。d.缺点控制聚合器往往是单独的硬件(部分情况下为逻辑模块),需要额外处理。另一方面控制聚合器不太容易进行变更,如变更所属控制行为。e.示例以工业物联网项目下的中控系统为例。工业物联网的中控系统,存在报警控制聚合器逻辑模块。一旦系统触发对应报警,则由报警控制聚合器触发对应的蜂鸣器、红灯等。f.扩展多个控制行为的聚合,如触发报警,会涉及红灯、蜂鸣、弹窗等我认为原文档这部分描述不够好。原文是:The Control Aggregator pattern uses analysis performed on the collected information of multiple sensors to create actions that may occur on multiple control points to achieve a desired outcome.Data from a large number of sensors needs to be collected and analyzed, possibly leading to control actions taken across multiple devices.但控制聚合,其实与是否多个传感器数据没关系。可以理解,传感器聚合器和控制聚合器都是个“头”,系统通过“头”,进而把握”头“下面的存在。简单来说,系统是个Boss,xx聚合器就是TL,xx就是对应TL下的员工。Boss直接从传感器聚合器获取信息,直接将命令下发给控制聚合器。至于这两个聚合器怎么获取数据,怎么进行控制,Boss不管。7.Multicast(多播)a.定义单个事件,发送给多个消费者进行消费(可以是实例内(唤醒判断、数据ETL),也可是实例间(中控、平台))b.问题一个事件的发生,往往会处罚多个action。并且这些action时常变化,如果编码到事件源,则会导致系统耦合度过高。c.解决其实就类似架构设计中的事件驱动架构,设计模式中的观察者模式等。由事件源发出一个消息,感兴趣的消费者可以进行订阅,并执行对应的action。d.缺点事件源,到消费并不是可靠的,可能存在丢失。可能需要建立可靠性消费,但这样系统的复杂度和成本就会大幅提升。另一方面,由于是异步(不考虑同步)消费,消费结果是无法直接反馈给事件源。但可以通过中间状态&事件源采用事件驱动处理进行改善。e.示例以工业物联网项目下的中控系统为例。当报警触发,会发送出对应的报警消息。系统内部会有多处消费,如:通信服务,消费报警信息,进而对目标群体,进行短信推送等。指标展示服务,通过websocket向用户大屏,推送对应的报警消息。控制聚合模块,消费报警消息,触发对应的报警控制传感器,如红灯、蜂鸣等。。。三、总结其实看完之后,会发现每个模式都似曾相识,都与以前接触的架构、模式、方法论千丝万缕。就像多播应用模式,设计模式中的观察者模式、架构风格中的事件驱动架构,其实都是一样的。所以,希望大家在看了这些应用模式后,将它内化为自己的东西,最好能看到各个应用模式背后的架构思想。————————————————原文链接:https://blog.csdn.net/cureking/article/details/120028001