1:What is MQTT?
MQTT is an application-level protocol, originally defined by IBM and then made public.
Widely used in IoT devices, it is a TCP-based, Publish/Subscribe architecture wherein Clients
pass data through a centralized Broker. Clients have been written in multiple languages
and with varying levels of completeness. InterNiche's MQTT/IoT Client fully implements the
requirements or the v3.1.1 specification.
2:What are MQTT's system requirements?
InterNiche's MQTT/IoT Client can run with or without an RTOS, and on just about any system
supported by an ANSI 'C' compiler. Specific footprint requirements can be obtained through
3:How much do I need to learn before I can write an MQTT application?
Obviously, the more you know of the protocol the better you can take advantages of it,
but since InterNiche's MQTT/IoT Client comes with a fully operational example application
there is no reason you can't start playing with it 'right out of the box'.
4:I'm not familiar with InterNiche. Who are they?
For over 25 years InterNiche has developed TCP/IP-based protocols and application for
embedded/IoT devices. InterNiche's source code products are written in ANSI 'C', are
portable across OS and CPU architectures and have no per-copy royalties. Their 'closed source'
software underpins many products you use every day.
5:Must I use InterNiche's TCP/IP with their MQTT/IoT Client?
Nope. One of the advantages of working with InteNiche is its adherence to specifications - and
that includes APIs as well as on-the-wire details. Our MQTT/IoT Client is portable to other
operating systems, CPU architectures and TCP/IP stacks.
6:What are the licensing terms of InterNiche's MQTT?
Like all InterNiche protocol software, the source code license includes
pre-paid royalties, the amount of which depends upon whether you
sign a Product, Platform or Architecture license. Details can be
explained by Sales@iNiche.com
7:What's the difference between 'IoT' and 'embedded'?
From InterNiche's perspective: Nothing. The primary characteristics of 'Embedded Devices'
are low memory and high reliability - exactly what are important for the Internet of Things.
8:What kinds of devices/application use MQTT?
Sensor nodes; Remote device controllers; Message delivery systems; Water control systems;
Lighting Systems; Electronic Signs; Audio control systems.
In other words, MQTT should be considered for any application where data is primarily 'one way'
and real-time interaction is not required.
9:What kinds of data can be sent via MQTT?
MQTT Application data is UTF-8 encoded by the protocol library prior to transmission.
Since UTF-8 is a character encoding capable of encoding all possible characters, your
application send anything so long as its encoded length is less than 64K bytes.
10:Can MQTT be used with/without SSL?
Yes. Secure and 'insecure' connections use different TCP ports when they establish their
link with the broker. For standard/cleartext data the client connects to port 1883, and
for SSL/TLS-secured communication port 8883 is typically used
11:Do you also provide a Broker?
No. That kind of infrastructure is best left to those who are familiar with
'off board RAM' and don't count data in bytes. InterNiche focuses on the small-footprint,
resource constrained side of the link.
12:Do I have to subscribe to 1000 topics to hear data from 1000 devices?
No. The MQTT topic subscription mechanism supports wildcards, so a single
'subscribe' may do it all depending on how you have organized your topic tree.
13:Who is using MQTT?
Some of today's biggest data players are using MQTT:
- FaceBook's Messenger Mobile Client
- Amazon's AWS IoT Platform
- IBM WebSphere MQ Telemetry and MessageSight
- Software AG Universal Messaging
14:Is InterNiche's MQTT covered by GPL?
No. InterNiche products are 'closed-source' and do not subject your own
development efforts to GPL's requirement that you release your proprietary
software to the public.