More Related Content Similar to Build an Edge-to-Cloud Solution with the MING Stack (20) More from InfluxData (20) Build an Edge-to-Cloud Solution with the MING Stack1. | © Copyright 2023, InfluxData
Building an Edge to Cloud
Solution with the MING Stack
June 2023
2. | © Copyright 2023, InfluxData
Past life: Sales Engineer for IIoT Solutions.
Passion: Autonomous and Vision based projects.
Driven: To make IoT accessible to all.
Belief: Industrial IoT’s success belongs to the
domain experts.
Jay Clifford
Developer Advocate, InfluxData
3. | © Copyright 2023, InfluxData
Past life: Data Integrations for CRM.
Passion: Home automation.
Driven: To help the community get the best value
from Node-RED.
Belief: No-code is the best code.
Rob Marcer
Customer Success Manager,
FlowForge
4. | © Copyright 2023, InfluxData
Part 3
Edge to Cloud with
FlowForge
Part 2
Intro to Plant Buddy
Part 4
Demo and next steps!
Part 1
What is FlowForge?
4
7. | © Copyright 2023, InfluxData
• Low-code programming for event-driven applications
• Open Source, started at IBM
• Huge library of third party ‘custom nodes’
• OpenJS Foundation ‘At Large’ Project
• 100 million + pulls of the official Docker image
8. | © Copyright 2023, InfluxData
• Founded by one of the co-creators of Node-RED
• DevOps for Node-RED
• Self hosted and SaaS versions available
• It’s the perfect tool to help teams collaborate on small and
large Node-RED applications
12. | © Copyright 2023, InfluxData
On The Roadmap
• High Availability and Scalability
• Swagger API
• Custom Instance Domains
• New ‘Dashboard’
17. | © Copyright 2023, InfluxData
InfluxDB 3.0
Schema on write
Write and Query Millions of rows
per second
Single datastore for all time series
data (Metrics, Logs & Traces)
SQL and InfluxQL Support
19. | © Copyright 2023, InfluxData
Concepts: Data Model
Bucket
• All InfluxDB data is stored in a bucket. A bucket combines the concept of a database
and a retention period (the duration of time that each data point persists).
Measurement
• A name to a group of data at a high level (Table)
Tag set
• A set of key-value pairs to group data at a low level (values are strings)
Field set
• A set of key-value pairs to represent data (values are numerical & strings)
Timestamp
• Time of the data with nanosecond precision
Series
• A unique combination of measure+tags
21. | © Copyright 2023, InfluxData
Temperature
&
Humidity
Goal: Create a platform which can monitor the
health of household plants
Provide:
● Data Collection
● Data Storage
● Visualization + Analysis
Light
Soil
Temperature
?
Soil
Moisture
What is Plant Buddy
22. | © Copyright 2023, InfluxData
22
Determine a state Time in state Anomaly Detection
23. | © Copyright 2023, InfluxData
InfluxDB
Cloud
FlowForge
Architecture
Grafana
24. | © Copyright 2023, InfluxData
Sensor
DAQ
Enrichmen
t
Edge to
Cloud
Enrichment Connector database dashboard
Deeper Dive
Health
checker
26. | © Copyright 2023, InfluxData
Putting the M in MING
● FlowForge has a built in MQTT Implementation
● Allows Node-RED instances in the same application to talk to each
other
● Supports instances in the cloud as well as on edge devices
● github.com/flowforge/flowforge-nr-project-nodes
30. | © Copyright 2023, InfluxData
Payload Building
msg.payload = [
[{
intValue: '9i',
numValue: 10,
randomValue: Math.random()*10,
strValue: "message1",
time: new Date().getTime()-1
},
{
tag1:"sensor1",
tag2:"device2"
}],
[{
intValue: '11i',
numValue: 20,
randomValue: Math.random()*10,
strValue: "message2",
time: new Date().getTime()
},
{
tag1:"sensor1",
tag2:"device2"
}]
];
return msg;
msg.payload = [
{
measurement: "weather_sensor",
fields: {
temp: 5.5,
light: 678,
humidity: 51
},
tags:{
location:"garden"
},
timestamp: new Date()
},
{
measurement: "alarm_sensor",
fields: {
proximity: 999,
temp: 19.5
},
tags:{
location:"home"
},
timestamp: new Date()
}
];
return msg;
VS.
31. | © Copyright 2023, InfluxData
Connecting to InfluxDB 3.0
influx v1 dbrp create
--token <token>
--db flowforge
--rp flowforge
--bucket-id 3b1a3a72281a9367
--default
1
2
32. | © Copyright 2023, InfluxData
● Use off-the-peg custom nodes (such as
node-red-contrib-influxdb)
● Create yourself a basic UI using Dashboard early in your
development process
● Use groups in the design interface to make it easier to
organise your flows
● The Exec node make it easy to interact with a device’s
hardware and OS
● https://discourse.nodered.org/ is a great place to get help
More Node-RED tips - https://flowforge.com/blog/tips/
Node-RED Tips
34. | © Copyright 2023, InfluxData
Try it yourself
34
https://github.com/InfluxCommunity/
FlowForge
35. | © Copyright 2023, InfluxData
FlowForge Resources
Community Forums - community.flowforge.com
Github - github.com/flowforge
Documentation - flowforge.com/docs
Blog - flowforge.com/blog
36. | © Copyright 2023, InfluxData
https://influxdbu.com/ https://influxcommunity.slack.com/
Learning and Community
36