Hi and welcome to a new section in this course in this section, I'm going to talk about Mukti.
I'm going to give you a quick introduction to that.
You know what it's all about.
And then in the next two lectures in this section, I'll show you how to install it on your Raspberry
Pi and run a few simple experiments with it.
So let's get started with a description of al Qaeda terror.
Al Qaeda terror is a lightweight publish subscribe messaging protocol.
It's built to be very easy to use and also very light on resources.
And because of this, it has been very successful in the world of the Internet of Things.
As you'll see in this section, there's only a few things that you need to know about and quiddity and
you'll be able to use it within minutes.
Compare that to various other protocols and you'll see that it is actually an amazing technology to
be able to use.
So it's paradigm is very simple.
There is a broker which is depicted in this slide with the large box in the middle and then you've got
a publisher.
In this case, I've got a sensor that is sending a temperature update to the broker.
You can have many publishers sending all sorts of data to the broker.
It can be a single number.
It could be text, it could be a whole Jason document or it could be a comma delimited line.
Anything at all really can be sent as a message to the broker.
On the other side, you've got subscribers.
So subscribers are clients that want to read values that publishers are publishing to the broker.
Now, a publisher and a subscriber don't need to know anything about each other.
They actually are totally anonymous and they don't interact with each other at all.
Everything happens via the broker, and the broker is responsible for managing the propagation of data
from publishers to the subscribers.
Now let's have a look at how we'll use it in our project.
In the large books with the rounded corners in this slide is our Raspberry Pi, and in it you have already
installed the Madrid server.
Alongside of it will install the mosquito.
Broca and Mosquito is an open source technology and it's implemented by many different types of brokers.
Think of a broker as a server for this particular technology, for this particular protocol.
And mosquito is and also open source implementation.
Just like node read.
It is very, very popular.
It is very light on resources, which is what I like about it in relation to our project and installing
it on Raspberry Pi and as you'll see, is very easy to use.
Muskett is not one thing.
It's an installation that comes with a couple of different tools, the Seabrooke itself.
And then there's the publisher and the subscriber clients as well.
And I'll show you how to use those on the left side.
We've got the publisher and subscribers.
In this case, it's the ESB 32, so we'll have an ISP 32 and on it will run a simple sketch that is
making use of an entity compatible library to both publish and subscribe to topics on the integrated
Broca.
I mentioned the word topic a couple of times, so let's have a look at what a topic is in the context
of an quiddity topic is like a Eurail or like an address.
A publisher will publish its data to a specific topic and then on the other side, subscribers would
subscribe to a topic to get updates from the broker with any new data published from a publisher to
that specific topic.
So you can see here in this example, I've got a broker depicted with the large yellow box, and there
are multiple topics that I'm actually using in our project in this project right here.
It can see the project uses Slasher's to allow us to create multi levels.
So, for example, I've got take expressions for terrarium and then below terrarium.
I've got individual topics for air temperature control, whether the pump should be on or off, air
humidity and so on.
It's possible to also use wildcards for the subscriber's in particular.
And for example, you can have a subscriber to subscribe to to take expression's for terrarium, for
slash hash, for example, which hash is the wild card here.
And then it will automatically subscribe this, subscribe to everything below.
The terrorism level, in the end of this lecture, I'll give you pointers to documentation to talk more
about both topics and wild cards immediately.
It's also possible to set quality of service levels.
And there are three levels in terms of quality of service that indicated to support the latest version
of it here, which is television five.
In most cases, we are satisfied with level zero of quality of service where the broker or the client
will deliver the message just once without any confirmation.
You also have level one where the broker or client will deliver the message at least once with confirmation.
And then level two is where the broker and client will deliver the message exactly once by using a Forestier
pancake.
So it's the most reliable way of passing on messages to a client.
And you can assign a quality of service to the broker, but also the client can request a specific quality
of service from the broker.
And you can sit at the bottom.
I've got a source, a euro, where you can find more information about quality of service.
There's not much more to it, so I'm about to conclude this lecture, there's three things that I wanted
you to remember coming out of this lecture in particular.
So first, in general, a broker will receive a message from a publisher and immediately forwarded to
subscribers.
It will not store it.
So essentially, a broker is just forward and forget there's no storage mechanism, at least in general.
It is possible, though, to configure storage if needed in order to improve persistence.
But we're not going to be doing that in this project.
We are going to go with the default way off and quiddity propagation of messages without storage.
A mentioned thing number two in the previous lecture as well, it is possible for a publisher to send
a message to topic at a different quality of service to our subscriber.
So publishers and subscribers are free to set their own quality of service level with the broker, and
they're not bound by their individual settings.
Remember earlier I said that quiddity publishers and subscribers are totally independent and there's
no way for one to influence the other.
The broker sits right in the middle and keeps them separate.
And number three thing, which is something that I've also mentioned earlier, is that immediately topics
can contain wild cards.
There are two wild cards in empty kitty.
It's a plus.
And the sharp wild card, the plus sign is used as a wild card for a single level of hierarchy, and
the sharp one can be used as a wild card for all remaining levels of hierarchy.
So you put it in the end of a topic.
So again, have a look at the documentation there in the Mosquito Dog website, where you see examples
of how those wild cards can be used.
And finally here, I've got some suggested readings, definitely.
And dog and mosquito, a tautology.
The two required readings not just suggested, but required readings for Makatea team.
Let me show you really quickly a couple of pages that you should look at.
First is the dog website.
This is where all the official announcement from the people that work on he published.
So as you can see, the latest one is back in 2019 in relation to the publication of EMCDDA to version
five.
There's also a wiki right here.
You can access the Wiki and have a look at the information that is published here, including things
such as basic concepts and design principles.
There's a very short documents well worth spending a few minutes to look at.
I also find that the muscular website is very, very useful.
And you can see here that the manual page of the main page contains a synopsis of it.
The military manual page contains concise information about topics you can see examples of topics and
how the wild card characters can be used and as well as information about quality of service and a few
other bits and pieces that, in my opinion, it is for our project of secondary.
For example, there's the concept of wheels that is available in it, but we're not going to worry about
it at all.
So take a few minutes to have a look at this documentation.
And when you are ready, go on to the next lecture where I'll show you how to install a continuous kit
of broke out on the Raspberry Pi.