2018年1月30日 星期二

NodeMCU Lesson 5—MQTT & Pubsubclient

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

Developing Applications

Documentation & Reference

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 in PubSubClient.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.

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 of EthernetClient, and be sure to do a Bridge.begin() first
  • Arduino WiFi Shield - if you want to send packets > 90 bytes with this shield, enable the MQTT_MAX_TRANSFER_SIZE define in PubSubClient.h.
  • Sparkfun WiFly Shield – library
  • TI CC3000 WiFi - library
  • Intel Galileo/Edison
  • ESP8266(NodeMCU)

Author
Nick O'Leary - @knolleary
License
This library is released under the MIT License.
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;

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...