In my last post (HERE), I showed how to grab data from RFLink but also determined that because of issues I had with arrays (and with some exceptions that shouldn’t have happened), I wouldn’t include RFLink in the final version of Project Mercury.
Moneta is a slight diversion from the Mercury project. Just as the Mercury project is named for the messenger of the gods in Roman mythology, Project Moneta is named for the Roman goddess of memory. The project goal is to give a very simple introduction to saving data from VB to a SQL Server.
In last week’s Part I of Project Mercury, I covered reading MQTT messages in VB.Net using the MQTTnet Nuget package. There aren’t any VB examples for an MQTT client floating around, so I put together a quick and dirty illustration. I completed the next section on the following day, but was promptly sidetracked with a trip into the wonderful world of SQL – one of the future parts of the program will be saving data to a database, which significantly enhances the value of the data! In any case, here’s an example of how to publish MQTT messages from your VB.Net app!
MQTT is a wonderful tool for the smart home enthusiast. Many different products and applications support it, allowing you to tie a lot of different technologies together in one cohesive home automation system. It is even more useful when you’ve got devices that do not support MQTT directly but do allow programmatic access through an SDK or API, which allows you to put together a custom app that combines MQTT with that other product. An interesting challenge I’ve come across, though, is that while most of the examples for SDKs that I use are written in VB.Net and there are NO examples of using MQTT in VB.Net….
I need to make a brief detour on our project to integrate X10 sensors into a larger home automation system. Normally, I try to avoid any side trips that may end up taking me down a rabbit hole, but I need to cover the communication method that I plan to use to connect the disparate components of the system together – MQTT.