所以什麽是MQTT啊?

  • 前言

    在某次跟同事的讨论中听到这个名词,"A:你知道mqtt吗? W:痾 我不知道 A:那需要去懂一下",这不是来懂一下了吗?其实刚开始真的不知道协议什麽的,听到都是一头雾水,脑袋直接关机,不是postman按下去,然後有回应就好了,後来才发现根据不同情境、不同限制下,有不同适合的解决方案这件事

  • 重点纪录

    • 所以什麽是MQTT?

      • 物联网的通讯协定

      • 适应窄频宽、低耗能的情况下,传送与接受讯息

      • 使用 publish/subscribe 模式传送资料

      • 角色:Publisher \ Subscriber \ Broker

        既然是通讯,就会有发布方、接收方、中间商,就跟我打给你,我是发布方、你是接收方一样,当然还会有个中间商,以手机来说就是各大电信(ex. 中华电信)
        既然是协定,就会有Server 和 client ,server 负责处理需求、client 负责发送需求给server 处理

        在 MQTT 有三个角色 Publisher \ Subscriber \ Broker ,Server 扮演 Broker 角色,负责处理 Client 需求( Publisher & Subscriber ),进行发布讯息、接受讯息

      • 讯息和发送方式: Topic & Qos

    • 什麽是 publish/subscribe ?

      publish/subscribe 模式,简单説 Subscriber 决定要订阅的 topic ,往後有相关资讯,Broker 就会递送资讯给Subscriber,而 Publisher 则是针对 topic 传送指定讯息,给Broker 发布

      举个例子,“喜欢我的影片,别忘记订阅、按赞、开启小铃铛,以後最新的资讯,你就会第一时间收到喔!(os: 但我就不想第一时间收到 ><)” ,每当你(Subscriber)在 YT 按下订阅的时候,你就是跟 YT( Broker)説,以後这个频道的上新片,都要跟我说,假设今天晚上六点 这个频道(Publisher) 上了新片,就会同步送一个讯息跟 YT(Broker) 説 “我上新片罗!” ,YT(Broker) 就会因为你之前的订阅,送推播到你的手机 “我上新片罗!”

    • 为什麽要适应 窄频宽、低耗能 ?

      常听到轻量、轻量,就不太知道什麽叫做轻量、为什麽要轻量,换个生活的例子,我们会说“哇!这个生乳卷的口感好轻盈”就大概是类似概念,在现实世界,什麽都需要钱,在开发世界,server 处理每一个行为,都需要耗费资源,因此我们通常会根据不同情境,选择CP最佳的选择
      回到这里,为什麽要适应窄频宽? 因为在物联网的是世界中,我只是要下命令(“开灯”),让装置做出相对应的动作,不像是我看YT我还可以要求颜色、画质等,相对来说单纯简单,因此只需要窄频宽就可以,再多我也用不到(ps 我的理解)

      为什麽低耗能?每个装置处理指令是需要耗费资源的(ex. 智能电灯要处理开灯指令),因此如果是属於充电式的物联网装置,那麽低耗电就等於更长的使用时间

    • 什麽是 Qos ?

      Qos 我理解的是传送品质,分为 0 \ 1 \ 2 数字越大,品质越好,品质来自是否确实递送讯息

      • Qos 0 : 最多传一次 (送出讯息後就不管了 适用於重要性不高、漏接也没关系的情况)
      • Qos 1 :至少传成功一次 (会确实让 Broker 收到,但可能因网路讯号,有重复讯息的情况)
      • Qos 2 :确实传送一次 (更严谨的传送,多了回报已经发送讯息的环节)
  • 然後呢?

    • 方案不只是方案,需要去了解背後的WHY(为什麽这个方案适合?) WHAT(那方案要怎麽适用、有什麽顾虑)
    • 为什麽他是一个适合的方案,这个思辨很有趣,也是让我有点乐在其中的原因

ref

iOS x IoT ( 2 ) - MQTT 简介

murmur

最近工作地方,出现了一个神奇的东西,就是好好摸手工皂,以前都是洗手乳,洗完都会滑滑的、更可恶的是有人居然在空了之後补了洗碗精,真是天理不容(为什麽要假装洗手乳),所以手工皂的出现,让我的工作日常多了一些小确幸,终於手上可以不要是洗碗精的的味道!!


<<:  Day21_控制项(A16资讯安全事故管理)

>>:  {DAY 22} Pandas 学习笔记part.8

Day23 Load balance with Istio

昨天非常粗浅的介绍过 istio 後,今天我们要来实际将 Istio mesh 注入我们的 clus...

简报版-第三章-从警方破案新闻看用户对使用Gmail安全的疏忽

其实原本最初规画想要做Index方式的纪录,然後多增加一些没写到的面向 不过,总是计画赶不上变化 ...

【这些年我似是非懂的 Javascript】Prototype #建构器

今天要来分享一点关於 prototype 和建构器的部分。 建构器所 new 的不是你想的那样 我...

Day 2 - 输出

大家好,我是长风青云。 我发现了一件超级糟糕的事,3分钟真的有点痛苦QAQ 原本我想要今天讲完输入输...

Day 10 - Hold Shift to Check Multiple Checkboxes

前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...