Nordic Semiconductor, the manufacturer of the System on a Chip (SoC) used in many beacons, has published the latest online issue of Wireless Quarter Magazine. It showcases the many uses of Nordic SoCs.
Nordic Semiconductor has launched an Apple Find My network compatible SDK
A new Bluetooth device that could help vapers quit
A Bluetooth LE smart pen that monitors aesthetic levels during surgery
There’s an in-depth article ‘Evolving Intelligence’ that covers AI machine learning. It explains how bandwidth limitations, latency demands and privacy concerns are dictating that machine learning move from the Cloud to edge devices. Battery powered IoT modules are able to perform machine learning inference in real-time allowing decision making near to where sensor data is generated and used.
We often get asked what’s the best iBeacon? Unfortunately, there is no one best beacon for all scenarios. It depends on your particular project and business requirements. Having said this we have some favourites based on specific characteristics:
Best for Price: FSC-BP103 – Inexpensive beacon that transmits up to 10 channels simultaneously:
Best for Features:M52-SA Plus – Large easy replaceable battery, long range, temperature, humidity, accelerometer:
Best for Battery Life:SmartBeacon-AA Pro – Allows use of 4x AA batteries. Use lithium AA batteries for 7+ year battery life (also depends on settings).
Best for Setup App:Minew range – Minew’s latest BeaconPlus range (those supporting both iBeacon and Eddystone) provides the best in class app.
If you need a more rigorous description take a look at the book IoT Projects with Bluetooth Low Energy. It covers the fundamental aspects of Bluetooth Low Energy scanning, services, and characteristics. It goes on to describe examples of how to monitor health data, perform indoor navigation and use the Raspberry Pi for Bluetooth solutions. The book’s code is also available on GitHub.
If you are developing an app on Android it can be useful to view Bluetooth packets to debug problems. Johnas Nellen has an article on Medium that describes how to verify communication between Android and Bluetooth devices.
It involves enabling the Bluetooth HCI snoop log in the Android developer options and using ADB to generate a bug report that can be analysed using Wireshark.
There’s recent example code for the M5StickC, usable on almost any ESP32 device, that shows how to advertise iBeacon. The nice thing about this example is that it also shows the iBeacon parameters on the OLED display.
While adding iBeacon advertising to an ESP32 project can make sense, it’s often not the best choice if you only want advertising functionality. Stand alone beacons are more physically robust, use much less power and settings are configurable via ready-made apps rather than fixed in code.
Depending on the beacon, this can be setup either to only advertise when the key is pressed (button triggered) or advertising all the time and the advertising changes. The former is better for longer battery life while the latter is better when you need to continuously know the beacon is working.
Advertising can be detected:
In apps using standard Apple and Android Bluetooth APIs
A few beacons allow a keypress to be notified to a connected application. Apps on iOS and Android, applications on single board computers and desktops/laptops can connect to a Bluetooth Service Characteristic to be notified when there’s a key press. Connection suspends advertising and prevents the button device from being seen/connected to from other devices.
Long pressing OFF does not cause the beacon to turn off but instead puts the beacon into ‘SOS’ mode where the configured advertising is stopped and the ‘SOS’ can be detected in the configuration app or your custom app and the ‘SOS’ state cancelled.
We sometimes get asked how many connections an iBeacon can support? The answer is ‘1’ but it’s often the right answer to the wrong intended question. The intended question is usually “How many receivers can see a beacon?”
Beacons don’t usually connect. They just advertise and can be seen by an infinite number of receivers that include phones, gateways or single board computers such as the Raspberry Pi.
The receivers only usually connect once, during setup via an app, to set the initial iBeacon parameters. When connected, the beacon doesn’t advertise which prevents extra receivers from connecting. Once set up, the app disconnects and the beacon starts advertising again.