当前位置: 首页 > news >正文

网络营销工作内容和职责seo诊断站长

网络营销工作内容和职责,seo诊断站长,维护网站需要多少钱,tp5企业网站开发实例前面#xff0c;分享了低延迟小智AI服务端搭建系列#xff1a; 低延迟小智AI服务端搭建-ASR篇低延迟小智AI服务端搭建-ASR篇#xff08;续#xff09;低延迟小智AI服务端搭建-LLM篇低延迟小智AI服务端搭建-TTS篇低延迟小智AI服务端搭建-本地TTS篇小智AI如何控制IoT设备分享了低延迟小智AI服务端搭建系列 低延迟小智AI服务端搭建-ASR篇低延迟小智AI服务端搭建-ASR篇续低延迟小智AI服务端搭建-LLM篇低延迟小智AI服务端搭建-TTS篇低延迟小智AI服务端搭建-本地TTS篇小智AI如何控制IoT设备LLM vs MCP小智AI如何接入你搭建的MCP Server 问题来了客户端和服务端是如何通信的 小智客户端目前支持 websocket 和 MQTTUDP 两种通信协议。 本篇将首先尝试回答 这两种协议有什么区别适用场景是什么小智 AI 为什么要 MQTTUDPMQTT是什么如何使用MQTT 1. websocket 和 MQTTUDP 选型 之前我们的协议都是基于 websocket因为实现起来非常简单便于快速测试通信过程。 但小智官方固件默认采用 MQTTUDP 通信为啥呢 回答这个问题之前先看下两种协议的优劣势 MQTTUDP 优势 轻量级、低带宽MQTT 设计用于低带宽、不稳定网络非常适合物联网设备。消息推送/订阅机制天然支持发布/订阅Pub/Sub适合多设备消息分发。断线重连与消息保留支持 QoS、遗嘱消息等机制断线后可自动恢复。UDP 音频通道音频数据通过 UDP 发送延迟低。 MQTTUDP 劣势 配置门槛高必须有稳定的 MQTT 服务器Broker配置和维护有一定门槛。协议复杂度高比 WebSocket 多了一层 UDP 协议栈实现上更为复杂。 websocket 优势 简单直连直接基于 TCP和 HTTP 兼容性好。服务端实现广泛很多云服务、后端框架原生支持 WebSocket。 websocket 劣势 实时性逊于 UDP音频数据走 TCP丢包会自动重传所以实时性不如 UDP。带宽利用率低长连接且 TCP 有一定的头部开销。 了解完二者各自的优势再看它们的适用场景就一目了然了 MQTTUDP 适用场景设备数量多网络环境不稳定带宽有限websocket 适用场景设备数量不多主要是一对一通信需要快速开发、调试和上线。 所以小智 AI 为什么要用 MQTTUDP 据公开报道小智日活已过万一旦并发量上来服务端要以一敌百websocket 将很快把带宽吃完这种场景下MQTTUDP 势在必行 如果是个人用户服务端只为自己服务显然还是websocket更香啊 2. MQTT是什么 MQTTMessage Queuing Telemetry Transport一种发布/订阅消息传输协议因为轻量所以广泛用于物联网。 我们通过下图简单理解生产者和消费者完全解耦都和中介MQTT Broker进行通信生产者发布Publish消息消费者订阅Subscribe消息。 所以在小智 AI 中 当客户端要给服务端发送消息时客户端发布服务端订阅当服务端要给服务端发送消息时服务端发布客户端订阅 这里的中介MQTT Broker作为中转站就扮演了至关重要的作用。 开源的 MQTT Broker 实现主要有 Eclipse Mosquitto适用小型物联网项目可轻松部署在树莓派等设备EMQX支持海量设备连接适用于大规模物联网应用HiveMQ同样支持海量设备连接和高并发但不支持规则引擎。 下面我们采用EMQX来搭建一个 MQTT Broker。 3. EMQX 搭建 MQTT Broker 3.1 EMQX 部署 开源地址https://github.com/emqx/emqx 官方文档https://docs.emqx.com/zh/emqx/latest/ 注开源版本只支持单节点部署如果需要集群支持需向官方购买 Lincese。 EMQX 单节点能支持多少并发 看硬件配置16c32g 稳定支持10万并发连接完全没问题。 EMQX 怎么快速上手 最简单的自然是 docker 部署。 首先拉取镜像 # 下面这两个镜像应该是一样的从5.9版本开始不再区分社区版和企业版了 docker pull emqx/emqx:latest docker pull emqx/emqx-enterprise:latest容器启动命令 docker run -d --name emqx -p 1883:1883 -p 18083:18083 -v ./emqx/data:/opt/emqx/data -v ./emqx/log:/opt/emqx/log emqx/emqx:latest注我们这里映射了两个目录到本地确保数据和日志持久化为此要为本地文件夹添加权限 sudo chmod -R 777 ./emqx/data sudo chmod -R 777 ./emqx/log再看下各个端口号有什么作用 默认情况下EMQX 启动时会占用 7 个端口它们分别是 1883用于 MQTT over TCP 监听器可通过配置修改。 8883用于 MQTT over SSL/TLS 监听器可通过配置修改。 8083用于 MQTT over WebSocket 监听器可通过配置修改。 8084用于 MQTT over WSS (WebSocket over SSL) 监听器可通过配置修改。 18083HTTP API 服务的默认监听端口Dashboard 功能也依赖于这个端口可通过配置修改。成功启动后打开http://localhost:18083即可访问控制台 默认用户名admin密码public初次登录后修改。 3.2 客户端怎么收消息自动订阅主题 从小智官方下发的mqtt字段来看每个客户端只有发布主题并没有订阅主题啊 mqtt: { endpoint: mqtt.xiaozhi.me, client_id: GID_test98_3d_ae_e6_83_d0, publish_topic: device-server, subscribe_topic: null }问题来了客户端怎么接收服务端下发的消息呢 ✅ 答案是自动订阅主题。 ✅ 解决方案添加一个占位符构建的主题只要客户端连接上来将自动创建一个订阅主题 客户端下线后会自动清理主题。 3.3 服务端怎么收消息规则引擎 从小智客户端代码看客户端发的消息中压根没有clientId字段 问题来了服务端怎么知道是哪个客户端发来的消息呢 ✅ 解决方案使用 EMQX 规则引擎给消息添加 clientId ✅ 具体步骤 1.创建规则 每当有客户端往 device-server 发消息就触发这条规则提取 clientid、payload。 SELECTclientid,payload FROMdevice-server2. 添加动作 动作类型选择消息重发布Payload 模板 {clientId: ${clientid},data: ${payload} }这表示构建一个新 JSON把客户端的 clientid 和原始 payload 都打包进去。 注意payload 本身如果是字符串 JSON需要在规则引擎中用 ${payload} 直接插入不能加引号否则会变成字符串嵌套字符串。 此外主题最好换一个比如device-server-enhanced否则会收到两条消息因为原消息也会被订阅。 3. 测试一下 服务端打印结果如下 device-server-enhanced {clientId: 98_3d_ae_e6_83_d0,data: {type: hello,version: 3,transport: udp,audio_params: {format: opus,sample_rate: 16000,channels: 1,frame_duration: 60}} }成功获取到 clientId据此就可以区分哪个客户端发来的消息了。 3.3 启用认证模块 EMQX 会默认允许所有客户端连接匿名登录可以设置用户名密码认证。 设置后客户端连接时传递用户名密码 const client mqtt.connect(mqtt://your-host:1883, {clientId: server,username: server,password: yourpassword }); 3.4 测试 MQTT 延时 有了 MQTT Broker 这座桥梁后我们拉到真实对话场景中看下客户端和服务端的通信延时 # 客户端-接收 2025-06-09T11:52:20.149Z MQTT publish: {session_id:93:3d:re:e6:83:d0,type:listen,state:detect} # 服务端-发送 2025-06-09T11:52:20.151Z recv mqtt msg: {session_id:93:3d:re:e6:83:d0,type:listen,state:detect}# 服务端-发送 2025-06-09T11:52:20.280Z MQTT publish: devices/p2p/93:3d:re:e6:83:d0 {type:stt,text:你好} # 客户端-接收 2025-06-09T11:52:20.285Z MQTT recv: devices/p2p/93:3d:re:e6:83:d0 {type:stt,text:你好}可以发现基本保持 5ms 以内真正做到了毫秒级消息交付时延 写在最后 本文分享了 小智 AI 通信协议之 MQTTUDP并给出了 EMQX 搭建 MQTT Broker 的方案。 如果对你有帮助欢迎点赞收藏备用。 篇幅有限本篇主要涉及 MQTT 部分的通信流程那么 UDP 呢为啥还要加个 UDP音频信号是如何通过 UDP 进行传输的 我们下篇见
http://www.dnsts.com.cn/news/111590.html

相关文章:

  • 南京学校网站建设策划番禺做网站的
  • 网店装修网站官方网站建设哪家公司好
  • wordpress建站多少钱石家庄的网站建设公司
  • 专门做诺丽果的网站网站做seo屏蔽搜索引擎
  • 怎么给网站做动图汕头站扩建有连接华东线吗
  • 集团网站建设公司建设网站需要懂什么
  • 一个虚拟主机可以做几个网站吗中国工信部官网查询网站备案
  • 网站建设需要学什么能力上海网站设计成功柚v米科技
  • 帮建网站的人郑州优化网站推广
  • asp 网站管理系统网络营销营销型网站建设
  • wordpress国内视频网站wordpress 免费 最好
  • 网站建设岗位有哪些上海高端定制网站公司
  • 大连网站建设微信群wordpress使用hhvm
  • 常用的英文网站字体上海网络公司排行榜
  • 如何做婚恋网站网页设计教程pdf
  • 高端品销售网站做广告图片用什么软件
  • 免费网页在线代理服务seo提高网站排名
  • 广州微网站建设没有场地可以注册公司吗
  • 做网站应该注意什么织梦体育网站模板
  • wordpress开放多站点广州海珠区景点
  • 做pc端网站信息童程童美少儿编程怎样收费
  • 可以做系统同步时间的网站网站后台管理密码忘了
  • 装饰网站模版宿迁房价下跌最惨小区
  • 可以做早安图片的网站网站建设与维护税率
  • 带icp备案的网站腾讯企点有什么用
  • 网站建设 学习 长沙智联招聘网站怎么做微招聘信息吗
  • 企业网站推广渠道有哪些玄幻小说排行榜百度风云榜
  • 湛江做网站seo的娄底网站建设最专业
  • 免费网站正能量小说营销平台是什么意思
  • 免费电子商务网站模板网站建设书籍推荐