From the document: "principles of work of the IRC-IoT protocol", document version 1.2 from 2017.09.16
Internet Relay Chat – Internet of Things protocol
For more than 30 years, there has been a special protocol on the Internet
for people to communicate with each other – IRC.
The greatest popularity he had in the early 2000's, but with the advent of social networks
they almost ceased to use. However, the technology is well-established, and it can be used not
only to communicate people but also things.
|
Internet Relay Chat (RFC 1459)
The IRC protocol defines a number of open standards
and specifications in the Internet: Network Working Group Request for Comments
(RFC).
The basic RFC № 1459 was adopted in 1993,
and the later RFC 2810, 11, 12, 13. The current technology and software,
virtually unchanged, can be used for the Internet of Things. For example,
creating an IRC network based on
IRC servers (hereinafter
IRCd),
you can provide high reliability. Logically, connecting to each other
servers form a kind of tree-like infrastructure, but in case of failure
of any of the servers, IRCd's connected to it can choose another, spare
connection server.
|
By technology, IRCd allows you to connect not
only to customers, but also to so-called «Services».
As a matter of fact, these services have the status of leaf
IRC servers, but they do not skip
IRC traffic between clients, but
implement a certain set of functions, to manage
IRC channels or has some other functions.
Clients have the opportunity through IRC to
communicate with such Services. (See the letter C in the picture).
In the case of using the IRC network as an
"information bus" for the Internet of Things,
and not for connecting text clients used by people to communicate with friends,
special intermediaries – IoT-Bot are connected to the network,
which can send structured messages to each other for
IoT data transfer.
Such robots can be built into Things themselves, for example, in TV's, Vacuum cleaners
or Refrigerators. Since the connection can go not to a single
IRCd, but to the
IRC network as a whole,
if one of the IRCd
is unavailable, the IoT-Bot can connect to the other, which
provides additional reliability. (See letter A in the picture).
Using the IRC network,
IoT-Bot can send structured messages to each other (letter B),
and using DCC (Direct Client to Client) technology, even transfer files
bypassing the IRC network (D).
|
Each IoT-Bot client connected to the IRC,
in turn, can be a gateway to communicate with other networks of Internet of Things.
For example, a program that implements the IRC
client function, which is both a robot in the
IRC-IoT network and
an output node of the Z-Wave network built on the OpenZWave library, can link a lot of Z-Wave
devices located in a particular house and a group of services on the Internet.
or even with a similar IoT network
in another house.
Z-Wave is registered trademark of Sigma Designs, Inc.
KNX is registered trademark of KNX Association
LoRaWAN is trademark of Semtech Corporation
|
The IRC protocol itself allows using the
mechanisms incorporated in it, for example, the presence of IoT-Bot on
the IRC channel, similar to the subscription
in the IoT protocol
MQTT.
The picture shows that the message from Bot1 (arrow A) is delivered by the
IRC network to Bot3 and Robo9 (arrows B and C),
this is because Bot1, Bot3 and Robo9 are on the #air channel,
and no messages are coming to Bot2, which are not on this channel.
IRC network consists of servers, and clients
connected to it, but you can consider it in general.
By connecting to one of the servers, the client, in our case IoT-Bot,
become a member of the
IRC-IoT network.
Then, proceeding from the functions it implements and the objects it serves,
it joined to the required IRC channels
(JOIN).
For example, Bot1 on the picture, entered the channels: #city and #air.
Each IRC server has certain resource
limitations, for example, the number of connected users, or the number of
IRC channels that can be created.
But, if necessary, these limitations can be removed by settings, or by
rebuilding a particular IRCd.
Channels can be both fully open and closed. Anyone can enter the
open IRC channel, in order
to enter a private channel, you need to know the password, or get an invitation
(INVITE).
|
Copyright © 2018-2020 by Alexey Y. Woronov, All rights reserved.
|