IoT - Where are we and where are we going?
Thomas Jay
Senior Java Spring Boot, Gen AI, API, Python Architect/Developer focused on Performance and Security, building Agile teams and delivering products.
I have created a set of IoT Building Blocks
IoT has massive potential, I've talked with hundreds of people and everyone agrees.
What they do not agree on is what it is and what it means.
I have been working on producing technology that consisted of training, tools and consulting.
As I have started to talk with people and see most people are interested in one of two things, a product that people will purchase in masses or consulting money.
I'm not planning on providing either of these for some time, infrastructure must be built first, you can't go across the country without highways.
I think I've been over optimistic on what people see for IoT in the near and long term.
The concept of having a "Device" that can connect to the Internet is at the heart of IoT. "Device" has simply been replaced with "Thing".
So there you have it, a "Thing" that connects to the "Internet", that simple. Not Bluetooth but Internet. This has confused me for some time now. I have been focused on Bluetooth LE systems for the last couple of years and have developed a few products that connect to your phone for various industries such as Medical and Security. BLE is not the only solution, its possible part of the solution.
But what does a "Thing" do? That's not a question that can be or should be answered. In general, a "Thing" can have inputs and outputs, that's pretty generic. Now taking this a bit further, a "Thing" should be configurable, that means that if its going to be put on a network, you need to be able to set network settings, most network settings consist of an SSID and password, lets leave it that simple for now. So the "Thing" needs a way to get this information, in the old days we had keyboards and monitors on devices, those days are gone. A simple and acceptable way to configure these devices can be Bluetooth LE or Wifi. For Bluetooth LE you would need an app on a phone, both Android and iOS would be needed to meet the needs of the public. You would also have to be able to match OS versions and maintain lots of configurations that could possibly happen. Wifi is much simpler and accessible to everyone, if the "Thing" presents itself at an Access Point broadcasting it can present it's own setup web page then any Browser that can connect to the "Thing" over Wifi can then configure it. So I think this will be the preferred method of setting "Things" up in the future. Now the question of setting up a device can be simple or complex, it might be as simple as an SSID and password, maybe selecting the encryption method (WEP, WPA, etc). not a lot of info is needed, maybe setting a password up for the Access Point after the initial setup so others can not "Hack" into it easily simply by being near the "Thing".
As you can see from the concept of "Configuring" the "Thing" there might be some basic information that is needed. Think of a "Device Key" that uniquely identifies the device, this would be something like a serial number stored in the Flash memory, but you would not really want to have people try to copy this information. To make configuration simpler you would have the "Thing" connect to a "Configuration" server, this server could then be connected to from the device over the "Internet", simple HTTP POST calls can then be made from the device to get information. A simple script could be running on the "Back End Server" that would then run rules based on the inputs and create outputs. Simple rules like if there is an input on port 1 for 2 seconds then output High to port 4 which might turn a light on, set a timer for 10 minutes and then send a Low to port 4 to turn the light off unless another input has happened. Perhaps these rules can be predetermined or even be JavaScript based, maybe even use some Machine Learning to help guide creation.
Some of these simple concepts can be enhanced over time.
From an Enterprise view, simply collecting information with Timestamps is a huge value, maybe as simple as how many times something changes, how many gallons of water flows, what is the water level, very basic INPUT only data. This means that with INPUT data you have has to be stored in a Data Warehouse and an API provided basic access to the data, this might be the simplest step and might even produce some level of income.
So based on all needs that I have found, I have created some basic hardware, using some off-the-shelf system as well as some custom hardware and lots of custom software I have created the basics Building Blocks to get started quickly in IoT development. I have also created the initial IoT Baas (IoT Back end as a Service) this allows for your devices to connect, get configuration information and upload collected data points.
As we move forward with IoT, the basics will be covered so people can focus on the Real World problems, just like modern programming languages have moved developers out of the trenches from generating Assemply Code and Linking Libraries so more completed Automate Build Systems, IoT "Building Blocks" will help you get going.
Interested in finding out more?
Contact me.
Thanks, Tom Jay - [email protected]
There is always a solution
8 年I like the human friendly simple explanation.
Wireless Electronics Engineer
8 年Great Article in its simplicity!