当消息队列遥测传输(MQTT)协议在20多年前被发明时,其创建者可能没有意识到其将成为所有行业的核心应用。

这是因为MQTT协议已成为跨连接设备(也称为物联网(IoT))共享消息的事实标准。它为物联网传感器提供了跨智慧城市、智能建筑以及不同垂直领域(包括零售、医疗保健和制造)相互通信的方法。
MQTT协议非常适合此应用,因为它是一种极其可靠且轻量级的消息传递传输协议,具有最小的网络带宽和较小的代码占用空间。其使用所谓的“发布-订阅”方法,以高效的方式对消息进行排队、共享和中继,非常适合在资源受限或网络带宽有限的远程位置托管的设备之间进行连接。
它还基于开放标准,因此可以灵活地与大量设备一起工作,适用于街道照明、门禁控制、交通监控、停车管理和环境质量等应用。
物联网设备的数量呈指数级增长。目前的预测表明,到2023年底,全球联网设备将超过131亿台。这会产生大量数据,并带来大量机会,使组织更加智能、高效和个性化。
举个例子,有人走进一栋空荡荡的大楼。使用MQTT协议作为安装在建筑物中的设备之间的通信方式,居住者的到来可能会触发一系列动作。
当检测到有人进入建筑物时,可以请求打开智能照明,并启动供暖或空调系统,为居住者营造更舒适的环境。因为MQTT是开放的,所以它可以与无数的智能设备一起工作。
对于较繁忙的区域,视频分析可以监控占用率,并在更多访客到达并超过安全数量时触发警报。人们可以自动从拥挤的空间被引导到另一个更安静的区域,这是设备使用MQTT协议进行通信,并采取预定义行动的结果。
或者,可能需要更多员工,并向智能手机或平板电脑发送通知,要求进行人员转移。在购物中心或交通场所尤其有用,因为游客体验对整体客户满意度至关重要。
在全市范围内,可以使用更多的传感器来监测城市街道周围的空气质量。通过MQTT,这些数据可以与来自摄像头和道路传感器的实时交通数据连接,以了解拥堵的加剧是否导致空气质量下降。然后交通可以重新引导到不太繁忙的道路,使污染降至可接受的水平。
空气质量下降可能不是由交通拥堵引起的,而是由紧急情况引起的。在这种情况下,通过相互通信的设备进行快速响应可以挽救生命。空气质量的突然下降可能会触发控制室屏幕显示来自热像仪的图像,从而确认正在产生有毒烟雾的火灾。
另外,数字标牌和公共广播系统可以引导公众远离该地区,以确保安全。这不仅可以防止情况恶化,还可以为应急人员提供空间和时间。
商业先驱们在规划未来时越来越意识到数据的价值设备之间的MQTT通信不仅会产生直接影响,而且还会对长期战略决策产生影响。商业先驱们在规划未来时越来越意识到数据的价值。
视频和物联网设备是视觉、环境、音频、温度和其他数据的丰富来源。将所有数据源整合到一个连贯、易于理解的界面中,可以让先驱者充分利用所有可用的见解。
在零售业,这可能会以更深入地了解商店占用率、特定区域的客流量、最佳人员配备水平和能源使用情况的形式出现。能够看到商店何时出现顾客激增,并告知员工轮班。
商店布局可能会受到客流量和占用率数据的影响。甚至可以根据光顾商店的人数对供暖和通风进行编程。这也提高了能源效率,因为暖通空调仅在需要的时间和地点运行。
在智慧城市中,了解车辆和人员在整个空间中的流动将有助于城市规划者创建适合每个公民的道路,人行道和公共空间,无论交通方式如何。较繁忙的地区可以获得更多的道路维护,而较安静的地区可能会受益于额外的街道巡逻。
所有智慧城市的先驱者都希望让公民感到满意和安全,使用物联网和视频数据是一种简单的方法,可以近乎实时地看到正在发生的事情,从而缩短响应时间,并根据公民的需求定制城市。
忽略人工智能在这些应用中的作用将是不明智的。摄像头在更普遍的机器学习和基本视频分析之外,还具有深度学习功能。现在可以在设备本身的“边缘”完成更多分析,因此通过MQTT通信从整个物联网传入的额外数据是非常宝贵的。它可以创建警报、触发操作,并提供更符合情境、更深入、更有用的见解。
在许多方面,MQTT对于AI在视频领域继续发展至关重要,因为它允许摄像头与其他设备通信。否则,每个人收集的数据仍然是孤立的,难以有规律和一致性地使用。
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源
我正在根据Rakefile中的现有测试文件动态生成测试任务。假设您有各种以模式命名的单元测试文件test_.rb.所以我正在做的是创建一个以“测试”命名空间内的文件名命名的任务。使用下面的代码,我可以用raketest:调用所有测试require'rake/testtask'task:default=>'test:all'namespace:testdodesc"Runalltests"Rake::TestTask.new(:all)do|t|t.test_files=FileList['test_*.rb']endFileList['test_*.rb'].eachdo|task|n
尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify
我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型
文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3