WELCOME WILL IT DOMO? MQTT TRANSACTIONS TO GET ANY IOT DATA INTO - - PowerPoint PPT Presentation
WELCOME WILL IT DOMO? MQTT TRANSACTIONS TO GET ANY IOT DATA INTO - - PowerPoint PPT Presentation
WELCOME WILL IT DOMO? MQTT TRANSACTIONS TO GET ANY IOT DATA INTO DOMO Ryan Wells 3 WILL IT DOMO? Ryan Wells Jared Schumacher Trey Hoffman Vice President of Information Enterprise Systems Enterprise Applications Technology Manager
WELCOME
WILL IT DOMO?
MQTT TRANSACTIONS TO GET ANY IOT DATA INTO DOMO Ryan Wells
3
WILL IT DOMO?
Ryan Wells
Vice President of Information Technology
Angelica
Trey Hoffman
Enterprise Applications Manager
Angelica
Jared Schumacher
Enterprise Systems Manager
Angelica
4
5
WHAT WE WERE TOLD ABOUT IOT
- That it stands for “Internet of Things”
- It was going to be “the future”
- Thing “X” will talk to thing “Y” and that will
somehow order milk, call your mom, lower your blood pressure, etc.
6
A NARRATIVE REALITY OF IOT
- I have an individual app for my water meter, my electrical
breaker box, my light switches, my Amazon Echo, my thermostat, my camera system, my bathroom scale and my
- fridge. Which, by the way…won’t tell me if the door was left
- pen
- What I really want to know is:
- Is my 2008 GE Freezer…well, freezing?
- If not, can something notify me?
- A new smart freezer is 5x the cost of a regular one; worth it?
- Which member of my household keeps leaving the lights on?
My Light app doesn’t talk to my camera or location app.
7
THE REALITY OF IOT - SYNTHESIS
- The destination of IOT data is usually proprietary
- The source of the IOT data must be purpose built
- There is no standard for IOT communications
supported by multiple vendors
- If you’re lucky, you get an API that you have to
develop custom code to use
- Then you get to set up a server and database to
collect and synthesize the information before sending to a reporting system
8
I REJECT YOUR REALITY AND SUBSTITUTE MY OWN
- Make or retrofit IOT devices inexpensively
- Use common communication
protocols/languages
- Interface those devices into a single,
common output
9
THE BUSINESS “ASK”
- Find a low cost way to collect cycle data from
legacy linen equipment (the “thing”)
- Use that same mechanism to also collect
- perator efficiency, machine effectivity, quality,
temperature and humidity information
- Synthesize and compare the information
without having to build another database
10
CONSTRAINTS
- There was not a repeatable way to get IOT data
into a reporting system
- Vendors that specialized in this field, would only
provide data to their own platform or “API coming spring two- thousand and never”
- Many machines would have to be completely
replaced to gain IOT functionality and recurring costs were significant
11
PARALLEL TECHNOLOGY – THE AHA! MOMENT
- Many of us had been doing machine integrations in our homes
for years, so we knew that our vision was technically possible
- Some parallel systems
- Temperature from hot tub
- Temp and humidity of legacy deep freeze
- Lights and other switches in our homes
- All these devices, natively speak MQTT protocol and run
common hardware (ESP8266)
- We could potentially parse this output and ingest it into DOMO
12
IOT HOT TUB: WILL IT DOMO?
13
IOT FREEZER: WILL IT DOMO?
14
IOT LIGHTS: WILL IT DOMO?
15
WE DON’T CELEBRATE MEDIOCRITY
- The Manager: “This is all really great but how to I
combine this data into something meaningful?”
- The Developer: “I see the data outputs, and I can
ingest them into DOMO but that will require development work!”
- The Infrastructure team: “It will require another
server and database, don’t you have enough already?”
16
The Missing Link
MQTT
- MQTT – Message Queuing Telemetry
Transport
- MQTT is a machine-to-machine (M2M)/"Internet of Things"
connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport
- It uses a broker to handle transactions. It does not require that
thing “X” trust or even know about thing “Y” and vice versa
- It is fault tolerant, messages do not leave queue until they’re
consumed by a subscriber to their specific “topic”
18
GETTING THE DATA TO DOMO
Domo developed a direct-connect MQTT Broker We changed the outputs of the MQTT devices to point directly at DOMO, tied it to a dataflow, created some cards and dropped them in a page
19
LINEN MACHINE: WILL IT DOMO?
Technically, a linen machine is a heap of metal, switches and temperature sensors This was no different than what we’d already proven to work
20
- Project “Tempo” was born
- Initial prototype was built by Jared and I
- We included some additional hardware
to provide real-time information
- Initial pilot was done
- Install was 10% cost of the next best
- ption
- The board asked us to make 400 more
- The question ceased to be “Will it
DOMO?” and became “Will it Scale?”
- Additional production was outsourced
- Total cost delivered is $210/each
LINEN MACHINE: WILL IT DOMO?
21
- The Operator Interface
- Touch Screen on
Raspberry pi
- Barcode Scanner
- Information
- Current pace
- 5 Min average
- Quality check
system
- Machine problem
“Andon” tools
LINEN MACHINE: WILL IT DOMO?
Would we be talking about it if it didn’t?
22
KEY TAKEAWAYS FROM TEMPO
23
- Our Tempo implementation is more complex than needed for
many applications and might make this technology seem overly complex
- If there is a way to measure qualities in the real world, it will
DOMO
- Many different hardware/firmware platforms can be used
(Nodemcu, Sonoff, Raspberry Pi, Tasmota, ESPhome, ESPeasy, MQTTpubsub)
- If it can speak MQTT, you can get the data into DOMO.
COTTAGE CHEESE: WILL IT DOMO?
24
- Let’s domo something together – Cottage Cheese
- Why cottage cheese?
- Because that’s weird
- It’s “hard” to DOMO
- I happen to have some right here
COTTAGE CHEESE: WILL IT DOMO?
25
- What do we want to measure?
- Weight? - HX711 sensor
- Moisture? I2C sensor
- Temperature? AM2301, DHT11
- Hits with a hammer? load cell, binary switch
- For simplicity, let’s go with Temperature and Hammer
strikes
- Temperature is an analog signal (converted to digital)
- Hammer strikes are a digital signal
COTTAGE CHEESE: WILL IT DOMO?
26
- Buy a Node MCU and a temp sensor (DS18B20) - amazon <$20
- Buy some breadboard jumper wires - amazon - get a kit of M-F, M-
M, F-F <$6
- Buy a resistor kit – amazon – will last your lifetime <$12
- Download Arduino IDE – https://www.arduino.cc
- Download the Tasmota firmware package
https://github.com/arendst/Tasmota
COTTAGE CHEESE: WILL IT DOMO?
27
- Open sonoff.ino in the
Arduino IDE
- Edit my_user_config.h to set
WIFI, Topic, MQTT and IP information
COTTAGE CHEESE: WILL IT DOMO?
28
- Plug the
NodeMCU into a USB port
- Change the
board and firmware info as shown
- Click checkbox to
compile and upload the firmware to the NodeMCU
COTTAGE CHEESE: WILL IT DOMO?
29
- Unplug the NodeMCU to wire it
- Wire a switch between GND and
D5
- Wire sensor signal (yellow) to D0
- Wire sensor power (red) to 3v3
- Wire sensor Ground (black) to
GND
- The pin numbers will become
clear when we look at the software interface
- If you think this is too complicated,
I’ll introduce you to the 12 year old girl that did this one
COTTAGE CHEESE: WILL IT DOMO?
30
- Plug in the
NodeMCU to USB for power and configure
- Test it
- Wait for
DOMO to collect data
- Visualize it
DEMONSTRATION
- Node MCU
- Connection to Broker
- Temperature
- Binary Switch
31
WE DON’T CELEBRATE MEDIOCRITY - SOLVED
- The Manager: “This is all really great but how to I combine this
data into something meaningful?” – INJEST INTO DOMO
- The Developer: “I see the data outputs, and I can ingest them
into DOMO but that will require development work!” – USE MQTT INSTEAD OF CUSTOM APPS
- The Infrastructure team: “It will require another server and
database, don’t you have enough already?” – ALL DATA AND INFRASTRUCTURE EXISTS AT DOMO
32