SlideShare una empresa de Scribd logo
1 de 10
SmartHome and
SmartFactory
Intelligent Systems
With .NET Micro Framework, Azure and MQTT

Lorenzo Maiorfi
Mirco Vanini
 Cloud Hosting Environment (Azure VMs)

 MQTT Network
 MQTT Broker by HiveMQ (www.hivemq.com)

 .NET MF embedded devices running as MQTT Network “nodes”

Our Reference
Application
Modules

 sensors/actuators working as publishers/subscribers of
data/commands
 MQTT-2-Z-Wave embedded bridge
 MQTT-2-ZigBee embedded bridge
 MQTT-2-ISM (2.4GHz Radio) embedded bridge
 MQTT industrial controller (ABB PLC)

 Node-red “engine”, acting as
 designer and runtime host for “flows”
 interface/protocol/API adapter among service endpoints
 simple business-logic modules hosting platform
 Application protocol over TCP layer
 Based on pub/sub messaging model

MQTT is the
de-facto
standard for
M2M / IoT
Applications

 Messages are made of two simple parts:
 Topic, a string typically expressed in hierarchical form
“/part1/part2/part3/…”
 Payload, an arbitrary content expressed as a byte-array

 3 QoS levels for message publishing
 QoS Zero (best effort)
 QoS One (broker confirms to publisher that message has been
delivered, but cannot confirm that same message wasn’t delivered
more than once)
 QoS Two (broker confirms to publisher that message has been
delivered, and just once)

 MQTT provides for both “retained” and “last will” messages
 Blazingly Fast
 Enterprise-grade security

HiveMQ
Broker
by DC2

 Clustering
 Portability
 Support
 100% MQTT compliant
 Websockets
 Scalability
 Modular
 Administration made easy
 Despite its powerful network model, real world scenarios often
require to extend such network to other communication systems
 A common requirement is radio coverage:

MQTT
Bridging

 ZigBee mesh networks for industrial environments
 Z-Wave mesh networks for smart home systems
 ISM (2.4 GHz) technology for cheap and fast data exchange

 Bridging MQTT with these technologies allows for:
 building hybrid networks whose nodes share same messaging model
 joining different MQTT networks with radio links
 greater overall reliability (by redundancy)
 “Mesh” networking model means that any node can extend
overall coverage to adjacent nodes, acting as a router
 Digi XBee modules are by far the most common chips used
worldwide

ZigBee
Networks

 Coverage is about 50-100m (1mW) for standard modules and up to
1.6km (50mW) for “Pro” modules
 They’re great to implement remote IO management (digital
inputs/outputs and analog inputs)…
 …but together with a host microcontroller board they’re great to
implement arbitrary message exchange too
 They can be configured and updated remotely
 Serial API exposed to host applications is simple but powerful
 We have extended XBee API client libraries originally coded by
Micheal Schwartz (mfsmarttoolkit.codeplex.com) in order to get
greater reliability and performance
 Licensed by Sigma Designs (formerly ZenSys), Z-Wave is
becoming the “de facto” standard for Smart Home systems
 Z-Wave is based on mesh network model (like ZigBee), but radio
modules typically require much less power to work than XBee (a
battery operated device can work for years)

Z-Wave
Networks

 There are plenty of Z-Wave enabled devices (power outlets, power
meters, sensors, thermostats, blinds motors drivers, switches, etc)
 We developed a managed Z-Wave Serial API Controller stack
targeted to .NET Micro Framework devices
 Our client lib provides support for most commons profiles (basic,
meter, multilevelsensor, multilevelswitch, wakeup, etc)
 Client API is async-only
 Works with any Z-Wave Serial API Controller device, connected
through a UART port to host application microcontroller
 Despite its great flexibility, a network infrastructure itself cannot
address real-world scenarios
 We need a way to design and run business logic flows
orchestrating message exchange among network nodes

Business Logic
Flows

 Node-red is an open project whose main purpose is that to act as
an engine that runs/hosts “flows” designed by mean of node-red
itself
 Despite being general, it fits in a natural way with MQTT
 Node components can be written in JavaScript
 It uses a visual design language using a SPA web IDE (hosted by
node-red itself)
 Many node components are built-in
 Despite it can also implement business logic of medium complexity,
node-red killer-application is no doubt “interface/API” adaptation
among “actors” in heterogeneous systems (in our reference
application we provide an example of both cases)
 Windows 8 Store App
 consumes a custom tcp socket “tunneling” in order to get and
publish MQTT messages even with no MQTT client lib support

Sample Client
Apps

 Windows Embedded Compact 2013 App
 uses µM2MQTT Library by Paolo Patierno in order to directly
interact with MQTT broker

 Windows Phone 8, iPhone Apps
 use a plain HTTP REST/JSON API
 kind of “longpolling” technique implemented by a node-red flow
changes messaging model from pub/sub to request/reply
 Mirco Vanini: Windows Store App
 Paolo Patierno: uM2MQTT Library & WEC 2013 Demo App
 Fabrizio Bernabei, Tiziano Cacioppolini: WP8 Demo App

Credits

 Daniele Galiotto: iPhone App
 Lorenzo Maiorfi: firmware, web broker spa web app, node-red
flows

Más contenido relacionado

La actualidad más candente

Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Christian Götz
 

La actualidad más candente (16)

A Short Report on MQTT protocol for Internet of Things(IoT)
A Short Report on MQTT protocol for Internet of Things(IoT)A Short Report on MQTT protocol for Internet of Things(IoT)
A Short Report on MQTT protocol for Internet of Things(IoT)
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentation
 
Best Practices Using MQTT to Connect Millions of IoT Devices
Best Practices Using MQTT  to Connect Millions of IoT DevicesBest Practices Using MQTT  to Connect Millions of IoT Devices
Best Practices Using MQTT to Connect Millions of IoT Devices
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
 
Distributed messaging with Apache Kafka
Distributed messaging with Apache KafkaDistributed messaging with Apache Kafka
Distributed messaging with Apache Kafka
 
MQTT Protocol: IOT Technology
MQTT Protocol: IOT TechnologyMQTT Protocol: IOT Technology
MQTT Protocol: IOT Technology
 
MQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of ThingsMQTT - Protocol for the Internet of Things
MQTT - Protocol for the Internet of Things
 
Mqtt 5 meetup dortmund
Mqtt 5 meetup dortmundMqtt 5 meetup dortmund
Mqtt 5 meetup dortmund
 
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
Smart Home Live: Intelligent Detection of Fire or a Break-In with MQTT and Op...
 
Connecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTTConnecting Internet of Things to the Cloud with MQTT
Connecting Internet of Things to the Cloud with MQTT
 
Messaging for the Internet of Awesome Things
Messaging for the Internet of Awesome ThingsMessaging for the Internet of Awesome Things
Messaging for the Internet of Awesome Things
 
EMQ Company Deck
EMQ Company DeckEMQ Company Deck
EMQ Company Deck
 
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
 
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTTIn search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
In search of the perfect IoT Stack - Scalable IoT Architectures with MQTT
 
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
 
Developing Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache KafkaDeveloping Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache Kafka
 

Similar a Smart home and smartfactory intelligent systems

Collaboration and Grid Technologies
Collaboration and Grid TechnologiesCollaboration and Grid Technologies
Collaboration and Grid Technologies
Videoguy
 
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Benjamin Cabé
 

Similar a Smart home and smartfactory intelligent systems (20)

LANSim
LANSimLANSim
LANSim
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
Wireless notice board using zigbee
Wireless notice board using zigbeeWireless notice board using zigbee
Wireless notice board using zigbee
 
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehnenode.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
node.js is made for IoT - node.hh 07/16, Hamburg by Michael Kuehne
 
Everything about Internet of Things
Everything about Internet of ThingsEverything about Internet of Things
Everything about Internet of Things
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
Designing Internet of things
Designing Internet of thingsDesigning Internet of things
Designing Internet of things
 
IOT Network architecture and Design.pptx
IOT Network architecture and Design.pptxIOT Network architecture and Design.pptx
IOT Network architecture and Design.pptx
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Realtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightRealtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sight
 
Collaboration and Grid Technologies
Collaboration and Grid TechnologiesCollaboration and Grid Technologies
Collaboration and Grid Technologies
 
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heavenKafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
Kafka Summit 2021 - Why MQTT and Kafka are a match made in heaven
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
IoT Data Streaming - Why MQTT and Kafka are a match made in heaven | Dominik ...
 
InduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things ApplicationsInduSoft Web Studio and MQTT for Internet of Things Applications
InduSoft Web Studio and MQTT for Internet of Things Applications
 
Internet of things unit-1
Internet of things unit-1Internet of things unit-1
Internet of things unit-1
 
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
Using Eclipse and Lua for the Internet of Things with Eclipse Koneki, Mihini ...
 
Unit 4
Unit 4Unit 4
Unit 4
 
Chapter-2.pdf
Chapter-2.pdfChapter-2.pdf
Chapter-2.pdf
 
DEVELOPMENT AND IMPLEMENTATION OF LOW COST IIOT GATEWAY WITH EDGE COMPUTING F...
DEVELOPMENT AND IMPLEMENTATION OF LOW COST IIOT GATEWAY WITH EDGE COMPUTING F...DEVELOPMENT AND IMPLEMENTATION OF LOW COST IIOT GATEWAY WITH EDGE COMPUTING F...
DEVELOPMENT AND IMPLEMENTATION OF LOW COST IIOT GATEWAY WITH EDGE COMPUTING F...
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Smart home and smartfactory intelligent systems

  • 1. SmartHome and SmartFactory Intelligent Systems With .NET Micro Framework, Azure and MQTT Lorenzo Maiorfi Mirco Vanini
  • 2.  Cloud Hosting Environment (Azure VMs)  MQTT Network  MQTT Broker by HiveMQ (www.hivemq.com)  .NET MF embedded devices running as MQTT Network “nodes” Our Reference Application Modules  sensors/actuators working as publishers/subscribers of data/commands  MQTT-2-Z-Wave embedded bridge  MQTT-2-ZigBee embedded bridge  MQTT-2-ISM (2.4GHz Radio) embedded bridge  MQTT industrial controller (ABB PLC)  Node-red “engine”, acting as  designer and runtime host for “flows”  interface/protocol/API adapter among service endpoints  simple business-logic modules hosting platform
  • 3.  Application protocol over TCP layer  Based on pub/sub messaging model MQTT is the de-facto standard for M2M / IoT Applications  Messages are made of two simple parts:  Topic, a string typically expressed in hierarchical form “/part1/part2/part3/…”  Payload, an arbitrary content expressed as a byte-array  3 QoS levels for message publishing  QoS Zero (best effort)  QoS One (broker confirms to publisher that message has been delivered, but cannot confirm that same message wasn’t delivered more than once)  QoS Two (broker confirms to publisher that message has been delivered, and just once)  MQTT provides for both “retained” and “last will” messages
  • 4.  Blazingly Fast  Enterprise-grade security HiveMQ Broker by DC2  Clustering  Portability  Support  100% MQTT compliant  Websockets  Scalability  Modular  Administration made easy
  • 5.  Despite its powerful network model, real world scenarios often require to extend such network to other communication systems  A common requirement is radio coverage: MQTT Bridging  ZigBee mesh networks for industrial environments  Z-Wave mesh networks for smart home systems  ISM (2.4 GHz) technology for cheap and fast data exchange  Bridging MQTT with these technologies allows for:  building hybrid networks whose nodes share same messaging model  joining different MQTT networks with radio links  greater overall reliability (by redundancy)
  • 6.  “Mesh” networking model means that any node can extend overall coverage to adjacent nodes, acting as a router  Digi XBee modules are by far the most common chips used worldwide ZigBee Networks  Coverage is about 50-100m (1mW) for standard modules and up to 1.6km (50mW) for “Pro” modules  They’re great to implement remote IO management (digital inputs/outputs and analog inputs)…  …but together with a host microcontroller board they’re great to implement arbitrary message exchange too  They can be configured and updated remotely  Serial API exposed to host applications is simple but powerful  We have extended XBee API client libraries originally coded by Micheal Schwartz (mfsmarttoolkit.codeplex.com) in order to get greater reliability and performance
  • 7.  Licensed by Sigma Designs (formerly ZenSys), Z-Wave is becoming the “de facto” standard for Smart Home systems  Z-Wave is based on mesh network model (like ZigBee), but radio modules typically require much less power to work than XBee (a battery operated device can work for years) Z-Wave Networks  There are plenty of Z-Wave enabled devices (power outlets, power meters, sensors, thermostats, blinds motors drivers, switches, etc)  We developed a managed Z-Wave Serial API Controller stack targeted to .NET Micro Framework devices  Our client lib provides support for most commons profiles (basic, meter, multilevelsensor, multilevelswitch, wakeup, etc)  Client API is async-only  Works with any Z-Wave Serial API Controller device, connected through a UART port to host application microcontroller
  • 8.  Despite its great flexibility, a network infrastructure itself cannot address real-world scenarios  We need a way to design and run business logic flows orchestrating message exchange among network nodes Business Logic Flows  Node-red is an open project whose main purpose is that to act as an engine that runs/hosts “flows” designed by mean of node-red itself  Despite being general, it fits in a natural way with MQTT  Node components can be written in JavaScript  It uses a visual design language using a SPA web IDE (hosted by node-red itself)  Many node components are built-in  Despite it can also implement business logic of medium complexity, node-red killer-application is no doubt “interface/API” adaptation among “actors” in heterogeneous systems (in our reference application we provide an example of both cases)
  • 9.  Windows 8 Store App  consumes a custom tcp socket “tunneling” in order to get and publish MQTT messages even with no MQTT client lib support Sample Client Apps  Windows Embedded Compact 2013 App  uses µM2MQTT Library by Paolo Patierno in order to directly interact with MQTT broker  Windows Phone 8, iPhone Apps  use a plain HTTP REST/JSON API  kind of “longpolling” technique implemented by a node-red flow changes messaging model from pub/sub to request/reply
  • 10.  Mirco Vanini: Windows Store App  Paolo Patierno: uM2MQTT Library & WEC 2013 Demo App  Fabrizio Bernabei, Tiziano Cacioppolini: WP8 Demo App Credits  Daniele Galiotto: iPhone App  Lorenzo Maiorfi: firmware, web broker spa web app, node-red flows