Raspberry Pi : Centralised and extendible U.I. for I.O.T.

IOT ‘Control Ware Bloat’ and a simplified, extendible, and centralised interface.

A few months back I upgraded our home network firewall capabilities with a Raspberry Pi that I had spare from an old project and was no longer using. The Pi had previously been connected to a 7inch touch screen and was mostly used for code scripting and basic Pi project tutorials. After dismantling the setup with a re-arrange of the home office, the Raspberry Pi was left sitting in a box until the idea came to put it to good use and apply it as a dedicated Firewall system.

I was so happy with the setup that I started thinking more about the Raspberry Pi devices and the various roles they can play in the home network. I came across the Pi Cluster rack on Amazon.com, and triggered memories of recent experiences with OpenStack, NextCloud, and a suite of custom Python scripts I created, designed to distribute and load balance various tasks over a cluster of machines. I started to think about various server applications and practical usability using these awesome, effective devices.

One thing that I wanted to design, again inspired by the Firewall project and recent web application development projects, a custom smart home interface that runs as a web application hosted on the home network. The reason for this: tie in the controls with an at home virtual assistance, also presented as a web application.

The beauty of this, in addition to actually having a virtual assistance and smart home interface, is that a personally developed web application interface for each of these can easily be combined on the landing page. A home virtual assistance with voice control and text to speech, can also be asked to then control the smart devices in the home. Tie in some natural language capabilities and you could essentially start working it towards a comparable version of JARVIS from Iron Man! (Way too awesome of a thought to explain how that vision plays out in my mind – what a dream!)
The extendibility and integration opportunities become basically endless, but more importantly each new feature can be implemented and additional controls added to the existing control suite as simply as extending the site map and html pages, buttons, links, sliders etc.

This was my long-term project goal, with the entirety of it being separated into various parts – home assistant, smart home control page, voice control, calendar controls, weather, media centre, device connectivity administration, communications centre for emails, sms, photos and video message, network storage, DMS, etc etc. The list goes on. A web application could be hosted on the Raspberry Pi device, it would then be a simple Python web app hosted using NGINX and GUNICORN and available to other devices on the home network, the web app landing page could have additional pages and controls added as each new feature is created and then integrated into the original webapp. The Raspberry Pi could have a connected touch screen, as well as a connected USB speaker/microphone as used in a videoconferencing meeting room to pick up the vocal commands and to play back the text to speech read outs. I listed the intention of the Raspberry Pi Smart Home project in my project lists, and even started documenting the various parts I want to include as well as gathering research information and resource links for all that I might need to use for the creation of the entire project, separating all the resources into the smaller components of the complete vision.

While looking for additional Smart Home ideas, I came across an article from Scott Ford titled ‘The Smart Home Deam Multi Device Single App’.
The article was published on 25/08/2023 at https://www.iotforall.com/ and can be found here at this link: https://www.iotforall.com/the-smart-home-dream-multi-device-single-app

This article has inspired focus towards priority for the Smart Home / Virtual Assistance project for me. At least as far as using a web application for the integration of it all. If the idea really took off and even became a standard format for the increasing amount of IoT devices and the ever increasing expanse of control interfaces for all of the new options we keep trying to add to the range… maybe if all of the new devices and setups at least had the option for webpage control interfaces – we could cut down on the multitude of control applications and instead easily just plug in and seamlessly integrate any new devices to any existing ecosystem utilising the simplicity of an additional web page and a link to that new page being added to our existing landing page. “It’s almost too easy…”

I would not be the first person that has wanted to work on something like this. And it should not be so much about a race of idea ownership, as that prevents the very intention of seamless integration. It would need to be a mixed effort by product designers, developers, tinkerers, engineers, business owners etc. If it were to work well and be effective for a large range of IoT devices, and truly tackle the problem of ‘control-ware-bloat’, then we need to share the integration ideas for some form of standardised integration process.

I am keen to get from planning and design to prototyping, and will post the progression as it comes together.

Brent McEwan