MQTT with a Raspberry Pi and an Arduino

Sdílet
Vložit
  • čas přidán 9. 06. 2024
  • MQTT allows data to be sent from IoT devices to smartphones or up to the cloud. DEAL $19 - Linux Power User Bundle deal: andauth.co/LinuxPowerUserBund...
    MQTT (MQ Telemetry Transport) can be used on microcontrollers like the Arduino or on boards like the Raspberry Pi. Here is a full overview and DEMO using Android, Mosquitto on Raspberry Pi, and an Arduino.
    Arduino code: github.com/garyexplains/examp...
    Introduction to Android app development: www.dgitacademy.com
    Let Me Explain T-shirt: teespring.com/gary-explains-l...
    Twitter: / garyexplains
    Instagram: / garyexplains
    #garyexplains

Komentáře • 98

  • @jasonpluis3493
    @jasonpluis3493 Před 4 lety +10

    OMG. Best explanation of mqtt I have seen.

  • @JoseFernandez-yz1sf
    @JoseFernandez-yz1sf Před 4 lety +3

    Very good explanation on MQTT. I will try to set something here at home. Many thanks Gary

  • @fa77y
    @fa77y Před 3 lety

    That was great! Thanks for making this video. I can't wait to start using this in my projects!

  • @skd5432
    @skd5432 Před 2 lety +1

    The best and wonderful MQTT related overview.....

  • @ruizheshang4808
    @ruizheshang4808 Před 3 lety

    Insanely cool and helpful video, thanks Grey! 👍👍

  • @johnxisde
    @johnxisde Před 3 lety +1

    Amazing gary! thanks for that

  • @highend5358
    @highend5358 Před 3 lety

    Amazing!! Such a nice tutorial!

  • @minibigs5259
    @minibigs5259 Před 4 lety +7

    Yeeees. More please..... (Node red, Grafana)
    Docker explained by you would be awesome too.

    • @GaryExplains
      @GaryExplains  Před 4 lety +2

      Did you see this video of mine about Docker? czcams.com/video/nBwJm0onzeo/video.html

    • @minibigs5259
      @minibigs5259 Před 4 lety

      @@GaryExplains Missed that Gary. Cheers :-)

  • @Virtualangello
    @Virtualangello Před 3 lety +3

    Best tutorial ever!

  • @moeyali123
    @moeyali123 Před 17 dny

    Thanks mate, I will setup MQTT

  • @subhankarmahapatra5492

    Inspiringly explained 👏

  • @levon9
    @levon9 Před 3 lety

    Very nicely done - thank you!

  • @callmereno
    @callmereno Před rokem

    Soo well explained! Thank u!

  • @saynlee
    @saynlee Před 3 lety

    From this video, I became known mqtt broker, Thank you Gray Explains

  • @julienbietlot3401
    @julienbietlot3401 Před 4 lety +2

    Hello Gary, great content. I believe it is 2 roles not modes... (pub/sub). Also topics should be represented the other way around: bulbstatus/on not on/bulbstatus or should be in fact topic=bulbstatus payload=on in the form topic:payload.For mosquitto_sub the -v add the topic name back uppon change. Thumb up !!

  • @thaernejem7317
    @thaernejem7317 Před 4 lety

    great one, totally like it

  • @Rocksetta
    @Rocksetta Před 3 lety

    @Gary any idea if Mosquitto can be compiled to run on any of the new Arduino's?

  • @TheUncle79
    @TheUncle79 Před 4 lety +1

    hi,
    I'm trying to configure arduino to be able to use the mqtt protocol to communicate on a web platform. Do you have any idea?

  • @edhalferty
    @edhalferty Před 4 lety

    Greets from California!

  • @nevineasfour4963
    @nevineasfour4963 Před rokem

    please I face a problem I don't know what is the black screen you use I tried to use visual studio but it doesn't work

  • @1MarkKeller
    @1MarkKeller Před 4 lety

    *GARY!!!*
    *Good Afternoon Professor!*
    *Good Afternoon Fellow Classmates!*

  • @os-channel
    @os-channel Před 8 měsíci

    Great clip!
    One question: Is the RasPi directly connected to the Arduino via WiFi or is the a Router between?
    Regards
    Oli

  • @RegisMichelLeclerc
    @RegisMichelLeclerc Před rokem

    Interesting, but that's just the easy part. The objection about DHCP doesn't really stand because you will need to make a difference between the living room bulb and the one in the toilet!
    Thus, it might have been interesting to detail further the kind of code you put on the Arduino to control many devices of different kinds (such as heating, fan, bulbs, mains sockets, etc.) and show how to differenciate each device at the device level. At the computer level (here Raspberry Pi, but can be anything, really), it's always simple, at the sensor level... not so.

  • @warrenscorner
    @warrenscorner Před rokem

    Great tutorial Gary! I was able to setup my Raspberry Pi as my MQTT broker. I have one Arduino 33 iot with a door switch and another Arduino Uno WiFi with a sim7000 hat. When my door switch is open the sim sends me an sms. Awesome!
    Is there an app I can install on my iPhone that I can send info back to the broker?

  • @dineshbobburu4743
    @dineshbobburu4743 Před 3 lety

    Great Explanation!! If we consider real time scenario and if we are making a product then how are we gonna connect esp32's acting as a subscriber to the Raspberry PI acting as MQTT broker, as the esp32 code can't be updated again and again when IP address of broker change, can you please clarify this doubt and mobile app will be interacting with the MQTT broker as publisher to MQTT broker, Thanks in advance...

  • @JoelJosephReji
    @JoelJosephReji Před 4 lety +1

    hey why was it that the first hello message did not have any quotes wrapped around but the following messages had quotes around them

  • @sammckenzie2331
    @sammckenzie2331 Před 4 lety

    Gary, why do most light bulbs and many other IoT devices use Zigbee or Z-Wave instead of mqtt?

    • @GaryExplains
      @GaryExplains  Před 4 lety

      MQTT is a protocol that runs over TCP/IP, meaning over Wi-Fi for wireless setups. Zigbee isn't a replacement for MQTT pe se, but rather a replacement for the Wi-Fi bit, but once you replace the lower layers then the upper layers have to change as well, so MQTT (in its native form) won't run over Zigbee.

  • @dmbrv
    @dmbrv Před 4 lety

    great video :)

  • @ganeshshetepatil9829
    @ganeshshetepatil9829 Před 3 lety

    Very nice explanation. Thanks.
    Can you please tell how data is getting transferred from Arduino to Android or Rasberry pie. I mean the physical communication media over which these topics are transferred.

    • @rahulj2167
      @rahulj2167 Před 2 lety +1

      I think there is a connection settings where you can specify device connections. Strange that part was omitted.

    • @wayland7150
      @wayland7150 Před rokem +1

      It's just TCP/IP.

  • @uvatham
    @uvatham Před 4 lety

    Please make a video on "ROS".

  • @DAVIDGREGORYKERR
    @DAVIDGREGORYKERR Před 3 lety

    should the command to run mosquitto be ./mosquitto unless it is a python script.

  • @maro1977pl
    @maro1977pl Před 2 lety

    Whether arduino can work in case of loss of connection with the MQTT broker?

    • @wayland7150
      @wayland7150 Před rokem

      If the Arduino button is used to turn on the LED then you could simply do that in Arduino code in the button press code. You'd still publish the LIT status but you'd not know if it was received.

  • @ovalwingnut
    @ovalwingnut Před 2 lety

    Don't hope... I DID! Enjoy it that is. Thanks so much (and where are you that it's snowing. No disrespect to the England, but snow, seriously).

  • @thorsten9211
    @thorsten9211 Před 4 lety

    woud love to see a small tutorial in python or c++ :)

  • @unclerojelio6320
    @unclerojelio6320 Před 2 lety

    Which arduino model is that?

  • @FlyRenegade_
    @FlyRenegade_ Před 4 lety

    Does the arduino have an ip address?
    Is the arduino able to communicate over http?

    • @GaryExplains
      @GaryExplains  Před 4 lety

      Yes and yes. Have you seen this video of mine on that very subject? czcams.com/video/lRV-TaHSWUk/video.html

  • @AndersJackson
    @AndersJackson Před 4 lety

    Actually, MQTT server doesn't need to have a fixed address. You can use mDNS to find the MQTT server.
    For real use, you should also do encryption and use passwords.

    • @ovalwingnut
      @ovalwingnut Před 2 lety +1

      Unless you are stealing your neighbors WiFi and you don't want nDNS giving away the scam. The devil is in the details. Cheers AJ

    • @AndersJackson
      @AndersJackson Před 2 lety

      @@ovalwingnut well, I don't steal neighbors WiFI, so that is not a problem for me. :-)

  • @112BALAGE112
    @112BALAGE112 Před 4 lety

    You mentioned the use of an alarm system. Is it a good idea to run an alarm system on MQTT? Is it fast/secure/reliable enough? Can the MQTT server be configured to persistently and accurately keep logs of important alarm events? Is it possible to use MQTT in authenticated mode, as to protect against message spoofing?

    • @GaryExplains
      @GaryExplains  Před 4 lety +1

      I guess I was thinking more about asking an alarm system about it current status or status of the various sensors. For actual alarm triggers (window opened) or alarm actions (like starting a siren etc) then I don't think MQTT would be the best solution.

    • @kamran_aghlami
      @kamran_aghlami Před 4 lety

      There is username and password authentication and you can use SSL encryption (TLS v1.2) on top of that. And some mqtt servers (emqx) allow you to have permission based subscribing and publishing as well, I don't know about the industry standards but I think these features make mqtt very secure.

    • @kamran_aghlami
      @kamran_aghlami Před 4 lety

      And there are other topics like persistence and quality of service to make things reliable, and if you are not planning to stream video mqtt is pretty fast. You can send pictures and even files in general, you would have to handle the encode/decode to base64 and back though

    • @GaryExplains
      @GaryExplains  Před 4 lety +1

      @@kamran_aghlami The real issue isn't authentication / security, but guaranteed delivery, something you don't get with MQTT as there are no queues.

    • @kamran_aghlami
      @kamran_aghlami Před 4 lety

      @@GaryExplains Doesn't quality of service (QOS2) address that?

  • @meltonenterprises6761
    @meltonenterprises6761 Před 3 lety

    A+

  • @samkaxe2488
    @samkaxe2488 Před rokem

    any idea how to send data from pi to arduino :D

  • @sohampatel7636
    @sohampatel7636 Před 4 lety +1

    I cannot sign up for your newsletter from website. Please help. By the way great content sir. Appreciate it

    • @GaryExplains
      @GaryExplains  Před 4 lety +1

      Glad you like the content. Sorry to hear you are having trouble signing-up for the newsletter. What is the exact problem? Is there an error?

    • @sohampatel7636
      @sohampatel7636 Před 4 lety

      @@GaryExplains It first takes a while to load and then says" Site can't be reached" after i enter my email and press sign-up button on website.

    • @GaryExplains
      @GaryExplains  Před 4 lety +1

      @@sohampatel7636 I just tried it and it worked perfectly. Sounds like you have a local Internet problem.

  • @rohanjoshi8420
    @rohanjoshi8420 Před 4 lety

    Sir can you make more video of implementation of MQTT and creating webapp or android app from scratch to control rasberry pi or Arduino based IoT device and I am also want to how to connect it Google home and add my IoT device in Google home app. I am trying to find it but I am not get much resources on it can please make videos or share some resources it will help me a lot and once again Thank you sir.

  • @gidimiz
    @gidimiz Před 4 lety

    Great video, thanks.
    How can you connect to the MQTT outside home?
    I can use DuckDNS to reach my raspberry, but how can I make it secure connection without using VPN every time?
    Is there another free MQTT server that's relay messages?
    Any other options?

    • @GaryExplains
      @GaryExplains  Před 4 lety +2

      Mosquitto supports user/password authentication and TLS.

    • @gidimiz
      @gidimiz Před 4 lety

      @@GaryExplains I would love to see a video on how to do this so I can control and also get notification (pop up ) on the Android phone. Thanks.

  • @Flankymanga
    @Flankymanga Před 4 lety

    @Garry: Out of curiosity where did you film the first couple of seconds? Which country were you in? Was that some Slavic country (a question out of curiosity)?

    • @GaryExplains
      @GaryExplains  Před 4 lety

      Didn't you hear that curiosity killed the cat!

    • @Flankymanga
      @Flankymanga Před 4 lety

      @@GaryExplains Not me:) Im still alive and well :) Anyway thanks for the video!

  • @bhushann2356
    @bhushann2356 Před 4 lety

    IBM's MQ comes from Message Queue

  • @jzilla1234
    @jzilla1234 Před 4 lety

    Where is it snowing?

  •  Před 4 lety +4

    Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds.

  • @ttssoon1975
    @ttssoon1975 Před 3 lety +1

    "MQ " stand for message query.

  • @samot56498
    @samot56498 Před 3 lety

    Is possible in this project use ESP8266, instead of MKR1000? Maybe is somebody make this?

    • @GaryExplains
      @GaryExplains  Před 3 lety +1

      Should work without any problems.

    • @samot56498
      @samot56498 Před 3 lety

      @@GaryExplains Ok I will try. Thank you very much for fast answer. :)

  • @power-max
    @power-max Před 4 lety

    Is there a limit to the payload size? Can I send entire JUMBO ethernet frames or JSON or messagepack packets through it?

    • @GaryExplains
      @GaryExplains  Před 4 lety

      The max message size is 256MB.

    • @power-max
      @power-max Před 4 lety

      @@GaryExplains Wow I could probably stuff my thesis down that! (at least in plaintext 😅)

  • @lezbriddon
    @lezbriddon Před 3 lety

    ok so ''great cooking inc'' has a magazine called "good food" it Publishes, and this months is "good food" "great burger recipe's"
    Now joe blogs subscribes to this 'magazine' "good food" and so very soon he is going to get "good burger recipes" (payload?) - but the question is this, how does he receive it, does the postman bring it ring the doorbell and hand it over or does he have to walk to the magazine store periodically and see if its in stock yet? IE does the broker push messages, or is it polled for them?

    • @wayland7150
      @wayland7150 Před rokem

      The point about subscribing is that you get the message automatically, you don't have to keep checking. By subscribing with the Broker they know to notify you when that publication comes in to them.

    • @lezbriddon
      @lezbriddon Před rokem

      @@wayland7150 but what's the procedure of that, some handshake must go on ?

    • @wayland7150
      @wayland7150 Před rokem

      @@lezbriddon It's a while since I used MQTT so I don't know if you get an error if the Broker is disconnected. I expect you do. However it's not really a handshake type of protocol. You'd not toggle something on and off, you'd send an ON signal if you wanted it on and an OFF signal if you wanted it off. Expect not to get a 'message received and understood'. If it's status then the sensor would simply send the signal every few minutes and send the signal on change of state to say what state it's actually in.

  • @stechnicalexpert7983
    @stechnicalexpert7983 Před 4 lety

    Raspberry networking expert need please help

  •  Před 4 lety

    So mqtt is like reddit :-), you select a topic, subscribe to it, and send/receive messages on that topic on a server.

  • @eamonhannon1103
    @eamonhannon1103 Před 2 měsíci

    Confusing Demo ! Need to explain the setup and try not to to be running Publisher and Subscriber on the same device .No explanation of how the Ardiuno is connected with the Raspberry PI . Confusing !

    • @GaryExplains
      @GaryExplains  Před 2 měsíci

      Sorry to hear that. I thought the video contained all the pertinent information. The devices are connected via WiFi. If you have specific questions I am happy to try and help. Maybe rewatch the video note the timecode where you have questions and let me know.