INTRODUCTION
In order to make better use of nodemcu to complete more interesting IOT project,we will learn what is MQTT and what is the psbcubclient in this lesson.For those who already familiar with MQTT / Pubsubclient can skip following peragraph,for biginers read for these introduction.
WHAT IS MQTT PROTOCOL?
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.In a simple language when you want to communicate to your controller through mobile or a web browser you need a communication protocol and MQTT does that magic.MQTT is a message queuing telemetry transport. It is specifically designed for automation.
MQTT works on publish subscribe events. It requires MQTT broker in between. It is very vast subject. To learn more about MQTT visit MQTT.org/MQTT Wiki.
Introduction
The MQTT Protocol
- MQTT Protocol
- Conventions (generally agreed, but not formalised)
- URI Scheme
Developing Applications
- Setup and testing with brokers
- APIs and examples (see also the Libraries page)
- Techniques i.e. "how do I...?"
- Coding ideas, wanted applications, bounties, etc
Documentation & Reference
- Questions
- Technical articles
- Blog post and podcasts etc
- Useful presentations
- Server support
Some links to articles and tutorials can be found via the legacy Documentation page. -- FIXME these should move into the [technical articles](technical articles) and [blog posts](blog posts) pages
The legacy Frequently Asked Questions page also has some useful material if you are getting started. -- FIXME these should be migrated into the questions page
WHAT IS PUBSUBCLIENT?
It is a library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT.
Limitations
- It can only publish QoS 0 messages. It can subscribe at QoS 0 or QoS 1.
- The maximum message size, including header, is 128 bytes by default. This is configurable via
MQTT_MAX_PACKET_SIZE
inPubSubClient.h
. - The keepalive interval is set to 15 seconds by default. This is configurable via
MQTT_KEEPALIVE
inPubSubClient.h
. - The client uses MQTT 3.1.1 by default. It can be changed to use MQTT 3.1 by changing value of
MQTT_VERSION
inPubSubClient.h
.
Download
The latest version of the library can be downloaded from GitHub.
Documentation
The library comes with a number of example sketches. See
File > Examples > PubSubClient
within the Arduino application.
Full API Documentation
Compatible Hardware
The library uses the Arduino Ethernet Client api for interacting with the underlying network hardware. This means it Just Works with a growing number of boards and shields, including:
- Arduino Ethernet
- Arduino Ethernet Shield
- Arduino YUN – use the included
YunClient
in place ofEthernetClient
, and be sure to do aBridge.begin()
first - Arduino WiFi Shield - if you want to send packets > 90 bytes with this shield, enable the
MQTT_MAX_TRANSFER_SIZE
define inPubSubClient.h
. - Sparkfun WiFly Shield – library
- TI CC3000 WiFi - library
- Intel Galileo/Edison
- ESP8266(NodeMCU)
static const uint8_t D0 = 16; static const uint8_t D1 = 5; static const uint8_t D2 = 4; static const uint8_t D3 = 0; static const uint8_t D4 = 2; static const uint8_t D5 = 14; static const uint8_t D6 = 12; static const uint8_t D7 = 13; static const uint8_t D8 = 15; static const uint8_t D9 = 3; static const uint8_t D10 = 1;
沒有留言:
張貼留言