Nordic, who provide the System on a Chip (SoC) in many beacons, have released v2 of their Mesh SDK that implements standard Bluetooth Mesh.
The main improvements are around support for Bluetooth GATT. It’s now possible for devices such as commercial beacons or smartphones to participate in the mesh via the GATT Proxy mechanism. It’s also possible for devices such as smartphones to provision new devices via GATT through Provisioning Bearer GATT (PB_GATT) rather than via firmware API or the serial API. Unfortunately, there are currently no app examples so there’s a large learning curve and development mountain to overcome to implement products based on these mechanisms.
Martin Woolley, who works for the Bluetooth organisation as an evangelist, has new slides (PDF – needs login at Google for some reason) from a Bluetooth Mesh talk at DroidConIT. The slides explain many of the mesh concepts. Here’s the slide showing the GATT proxy mechanism:
When people think about IoT sensors they tend to envisage, for experimentors, descrete electronic components connected to single board computers (SBC) or for industrial, custom sensors connected to microcontrollers.
The problem for experimentors is the solution is fragile and needs to be evolved into a custom electronic design before it can be used in production. For industrial solutions, they tend to be proprietary, deeply intrusive when it comes to installation and very expensive.
Sensor beacons provide a middle ground and have the following advantages:
They provide a solution that’s equally as good for experimentation as it is for the final production
Sensorberg has a great new video that provides inspiration regarding what’s possible in the smart workspace:
This video also provides a learning for marketers. As with all the best ideas (and promotion), it’s often best not to mention how things are achieved – in this case predominantly using beacons. People don’t need to know this and are more interested in what it does, the benefits and how it makes people feel.
We coincidentally had two customers last week with the same query and the same resolution. They wanted to know why their ultra long range beacons weren’t achieving the expected range.
It turns out both customers where expecting the beacons to transmit through obstacles. It’s important to understand what can block signals. When a signal gets blocked, there’s no point trying beacons with longer ranges in the hope they will push the signal through the physical obstructions. Longer range beacons only work long range when there is unobstructed line of sight such as in a large warehouse or event space.
In recent years there has been a movement towards software being provided “as a service” whether supplied free to induce users to buy/use other services/products or via a subscription model. The software provider usually gains through having a long term revenue stream. Companies gain easy access to ready-made and managed solutions to their problems. It all sounds perfect. However, there are risks in using Software as a Service (SaaS) that need to be understood and managed.
Creating an app or platform that integrates a 3rd party SaaS API ties you to that platform. If the platform is discontinued you have the complex task of re-writing to use the new API and migrating existing data. If there’s no similar alternative, you are faced with implementing the SaaS provided service for yourself.
Most SaaS providers are VC funded which means they tend to initially give away their APIs for free or at low cost to attract customers. Once shareholders start to want to see revenue, monthly fees increase. We are already seeing this with many beacon platform providers. Once Angel or VC funding runs out, platforms can disappear. A high profile example in the beacon ecosystem at the moment is Onyx.
So what can you do? The first thing is do your due diligence. Is the company providing the SaaS you are considering likely to be around for the lifetime of your project? Is the company (like Google) renowned for deprecating services? Do you really need all the SaaS functionality or could you make do with a simpler developed or open source solution? Might you be able to use the SaaS for a proof of concept or minimum viable product (MVP) and plan to move to a developed solution?
In 2017, Scott Jenson, the person who brought the Physical Web to Google and became the Product Manager of the Physical Web team, moved to the Chrome UX team and since more recently moved to the Android UX team.
Very recently, Scott said“If there was still a Physical Web team, it would be fun to create these more semantic layers on top of the URL.” So, we now know there’s no Physical Web team and there probably hasn’t been since Scott moved teams.
Despite Google moving away from active development of the Physical Web, they are still fixing problems. There was issue with the Physical Web proxy that was recently fixed where “issue triggered in the presence of an invalid URL beacon (ex: a non-HTTPS page) in the proximity of other valid beacons.”. This is reason why some scenarios might not have previously worked (and will now work).
In summary, while new development on Physical Web is dead, the mechanism still works and Google is still applying fixes. Google has removed some functionality that was rarely used and has disbanded the Physical Web team. However, Google is still maintaining the Physical Web proxy and Eddystone notifications still work on Android.
Meanwhile, a group of people led by Agustin Musi from Switzerland is contemplating creating PhysicalWeb2. There’s a Slack channel you can join or you can email them at email@example.com. There’s also a new site at phwa.io.
“Build a mobile app that can receive signals from iBeacon and calculate the distance between an iBeacon and itself with an error margin of 10 to 15 meters.”
This implies that the error is usually more than 10 to 15 meters and with extra processing only 10 to 15 meters accuracy can be achieved – this is misleading. The error depends on many factors including the type of beacon used, the capability of the receiving device, the distance of the beacon from the ground (and obstacles) and importantly the distance of the beacon from the receiving device.
The closer the beacon is to the receiver, the more accurate the derived distance. As our article mentions, projects that get more detailed location derived from RSSI, usually via trilateration and weighted averages, usually achieve accuracies of about 5m within the full range of the beacon or 1.5m within a shorter range confined space.
The medium article contains links to some useful Android Java code if you want to experiment with extracting distance from RSSI.
There are a lot of ways of doing sensing that mostly include development boards, wires and soldering. Even if you use prototyping or breadboards, your final solution is rarely ready for real use or production without then creating a custom electronics solution.
Sensor beacons provide for IoT sensing where all of the developed solution can be in software. The beacons send data via Bluetooth preventing the need for wires and soldering, even in production solutions. All you need is the receiving software in an app, laptop, desktop or other computer where you can receive data and if necessary send it on to servers.
What’s more, the use of low power Bluetooth allows you to place the sensors in locations where there’s no mains power. Batteries in the beacons can last 5 years or more depending on the sensor sampling frequency.
The article title is over-dramatic because IoT data can be used without AI. However, as the article goes on to say, AI is …
‘vital to unlocking the “true potential” of IoT’
… that has more truth.
As usual, these things are said with no example or context. Let’s look at a simple example.
Let’s say we want to use x y z accelerometer data from one of our sensor beacons to measure a person’s movement. If we wanted to know if the person is falling we could test for limits on the x y z. This doesn’t use AI. Now consider if we want to know if person is walking, standing, running, lying down (their ‘posture’). You can look at the data forever looking for right patterns of data. Even if you found a pattern, it probably wouldn’t work with a different person. AI machine learning provides a solution. A simplistic explanation is that it can take recordings of x y z of these postures from multiple people and create a model. This model can then be used with new data to classify the posture.
AI solves problems that previously seemed too complex and impossible to solve by humans. Solving such problems often improves efficiency, saves costs, increases competitiveness and can even create new intellectual property for your organisation.
However, don’t automatically turn to AI to make sense of sensor data. Don’t over-complicate things if the data can be analysed using conventional programming.