一、业务应用场景
新能源车电量管理
汽车的TCU模块通过MQTT消息触发云函数,根据汽车的状态调用后续的不同服务
·低电量预警与响应:车辆 TCU 检测到电量低于阈值时,通过 MQTT 主题发布状态消息,触发云函数执行通知用户、导航至充电站等操作。
·远程设备控制:云函数通过 MQTT 向车辆发送指令(如限制空调功率),实现节能调控。
·实时状态同步:通过 HTML/小程序页面订阅 MQTT 主题,实时查看车辆电量变化。
二、特性与优势
·事件驱动与实时响应:云函数由 MQTT 消息自动触发,无需轮询。设备状态变化(如电量低)可立即作为事件传递至云端,触发后续业务链。
实现了近乎实时的业务处理,极大降低了从事件发生到系统响应的延迟,极佳地满足物联网应用对实时性的要求。
·无服务器架构,极致弹性与成本优化:云函数以 Serverless 模式运行,根据MQTT消息的到达频率自动伸缩,无需管理服务器。零闲置成本,自动扩容可轻松应对突发流量,运维简化。
·松耦合的集成方式:MQTT 主题(Topic)作为消息总线,将设备上报与业务处理完全解耦。不同的业务功能(如通知、导航、节能控制)由不同的云函数独立处理,有较高的灵活性和可维护性。
三、策略和权限
1. 检查 scf_QcsRloe 中是否有以下策略:QcloudMQTTReadOnlyAccess、QcloudAccessForSCFRoleInMQTT。
1.1 登录 访问管理控制台,跳转至【角色】菜单。
1.2 搜索 scf_qcsRole
1.3 单击角色详情,查看策略。
1.4 搜索QcloudMQTTReadOnlyAccess、QcloudAccessForSCFRolelnMQTT,若能搜到对应的结果,则代表已关联成功。
1.5 策略缺失的情况下,可按照下列步骤为角色添加策略:
1.5.1 使用主账号登录腾讯云控制台
1.5.2 单击访问管理 > 策略
1.5.3 搜索缺失的策略,如:QcloudMQTTReadOnlyAccess
1.5.4 单击关联用户/组/角色。
1.5.5 在弹窗中,选择切换成角色。
1.5.6 搜索 scf_qcsRole,勾选并确定。
1.5.7 页面提示已关联成功。
四、配置 MQTT 触发器
1. 登录 Serverless 控制台,跳转到函数服务页面。
2. 单击函数名,进入函数管理页面。
3. 选择函数配置 TAB,单击右上角编辑。
4. 如下配置触发器。
5. 配置日志
6. 根据业务需要,填入需要的 Topic Filter,符合 Topic Filter 的消息触发执行 云函数
7. 云函数创建完成后,观察MQTT 控制台 > 客户端管理。
可以看到触发器订阅者列表。
查看客户端详情, 可以观察到订阅表达式与配置一致。
五、验证
发送消息到 MQTT 集群, 查看云函数日志。