+ All Categories
Home > Documents > mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message...

mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message...

Date post: 10-Jul-2020
Category:
Upload: others
View: 13 times
Download: 0 times
Share this document with a friend
14
IOTA TUTORIAL 30 mobilefish.com Send DHT11 data to the tangle using ESP-01S, MQTT and MAM v1.0.0
Transcript
Page 1: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

IOTA TUTORIAL 30mobilefish.com

Send DHT11 data to the tangle using ESP-01S, MQTT and MAM

v1.0.0

Page 2: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

INTROmobilefish.com

• In this tutorial I will demonstrate how to send DHT11 sensor data from an ESP-01S WiFi module to the tangle using MQTT and Masked Authenticated Messaging.

Page 3: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

SEND SENSOR DATA TO TANGLE USING MQTT AND MAMmobilefish.com

• A complete step-by-step guide how to send DHT11 sensor data from an ESP-01S WiFi module to the tangle using MQTT and Masked Authenticated Messaging can be found at:https://www.mobilefish.com/developer/iota/iota_quickguide_esp01s_mam.html

• The source code used in the guide can be found at:https://github.com/robertlie/dht11-esp01s

Page 4: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

FTDI, ESP-01S AND DHT11 WIRING DIAGRAMmobilefish.com

Flash mode: Upload Arduino sketch / firmwareBoot mode : Execute sketch / firmware

Page 5: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

TEST SETUPmobilefish.com

Page 6: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

ESP-01S (ESP8266) WIFI MODULEmobilefish.com

Page 7: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

ESP-01S (ESP8266) WIFI MODULEmobilefish.com

• Flash memory: 1 MByte

• Max transmission distance: ~400 m (direct line of sight)

• Package size: 24.7mm x 14.4mm

• WiFi protocols: 802.11 b/g/n

• Supply voltage: 3.0 to 3.6V

• Operating current (average value): 80 mA

• Comes pre-programmed with an AT command set firmware.

Page 8: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

ESP-01S (ESP8266) WIFI MODULEmobilefish.com

• Operating temperature: -20°C to 85°C

• Not breadboard friendly

• Number of pins: 8

• Number of GPIO ports: 2 (GPIO0 and GPIO2)

• Not shielded

• One led (blue), will flash when data is transmitted

Page 9: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

USB TO TTL CONVERTERmobilefish.com

Page 10: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

USB TO TTL CONVERTERmobilefish.com

• To upload an Arduino sketch or firmware to the ESP-01S module an USB to TTL Serial converter is needed. They are also known as USB-TTL converters, USB FTDI converters or FTDI adapters.

• FTDI (Future Technology Devices International) is a company who produces the most well-known USB-Serial converter chips.

• The USB-TTL converter, converts USB data signals to and from TTL-level serial data.

• Serial data is transmitted one bit at a time at a specified data rate (i.e. 9600bps, 115200bps, etc.). This method of serial communication is sometimes referred to as TTL serial (Transistor-Transistor Logic). Serial communication at a TTL level will always remain between the limits of 0V and Vcc, which is often 5V or 3.3V. A logic high ('1') is represented by Vcc, while a logic low ('0') is 0V.

Page 11: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

MQTTmobilefish.com

• MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol for constrained Internet of Things devices and low-bandwidth, high-latency or unreliable networks.

• MQTT enables messages to be pushed to clients.

• The MQTT broker is the central point and is in charge of dispatching all messages between the senders and the rightful receivers.

• Each client that publishes a message to the broker, includes a topic into the message.

• Each client that wants to receive messages, subscribes to a certain topic and the broker delivers all messages with the matching topic to the client.

Page 12: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

MQTTmobilefish.com

• The client who publish the data and the client who receives the data don’t have to know each other, they only communicate over the topic.

• This architecture enables highly scalable solutions without dependencies between the data producers and the data consumers.

• TCP/IP port 1883 is reserved for use with MQTT. TCP/IP port 8883 is reserved, for use with MQTT over SSL.

Page 13: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

MQTTmobilefish.com

Temp sensor MQTT Broker

publish temp

/sensor/temp

subscribe /sensor/temp

29°C

Computer (Alice)

Mobile (Bob)

29°C

subscribe /sensor/temp

Page 14: mobilefish.com IOTA TUTORIAL 30 · 2018-08-04 · MQTT mobilefish.com • MQTT stands for Message Queuing Telemetry Transport and is a publish/subscribe event-driven messaging protocol

HOW IT ALL WORKSmobilefish.com

Internet

IOTA Node

IOTA Node

DHT11

ESP-01S WiFi Raspberry Pi 3

MQTT NodeJS

LAN

WiFi Gateway

IOTA Tangle


Recommended