The project consists of a web application, mobile application, an esp32 hardware and MQTT broker.
- Web application is a Blazor WASM application.
- Libraries
- MQTTnet is a high performance .NET library for MQTT based communication
- Blazorise is a component library built on top of Blazor with support for CSS frameworks like Bootstrap, Bulma, AntDesign and Material.
- Blazored LocalStorage is a library that provides access to the browsers local storage APIs for Blazor applications
- Libraries
- Mobile application is a MAUI application.
- Libraries
- MQTTnet is a high performance .NET library for MQTT based communication
- .NET MAUI Community Toolkit is a collection of common elements for development with .NET MAUI that developers tend to replicate across multiple apps.
- MVVM Helpers Collection of MVVM helper classes for any application.
- Libraries
- Esp32 app is a .net nanoframework application.
- Libraries
- .NET nanoFramework libraries
- .NET nanoFramework M2Mqtt is an initial port of the MQTT Client Library M2Mqtt
- Libraries
- The MQTT broker that I used is EMQX.
- It is currently (3/15/2022) necessary to use Visual Studio 2022 version 17.2 Preview to create MAUI applications.
- for developing .net nanoframework applications see Getting Started Guide for managed code (C#)
- In order to improve performance, I installed the MQTT broker on WLS2 Ubuntu. if you do the same use Netsh interface portproxy commands for port forwarding.
- You should also open relevant ports on your host system's firewall, usually 1883 for MQTT/TCP and 8083 for websocket.