Recently, we released a Bluetooth® step-by-step guide on How to Deploy BlueZ v5.49 on Raspberry Pi3 and Use It, Part 1. This step-by-step guide shows you how to deploy BlueZ v5.49 on a Raspberry Pi3 board and have it function as a Bluetooth mesh provisioner. Since the release of this step-by-step guide, the latest version of BlueZ v5.50 has become available and includes updates for Bluetooth mesh.
“This release contains several fixes to GATT and Mesh support. Some notable new features include a ‘node-reset’ command to meshctl, a new btmon-logger daemon to perform logging on unattended systems, and a new general discoverable property in the advertising D-Bus API.”
When deploying BlueZ v5.50 on Raspberry Pi3 using the guide above, an error may pop-up in the command for “Section 2.5, Compile and Install BlueZ”
The error is as below, require a library, ell, and the version should be higher than v0.3.
checking for ELL… no
The reason for this error is that BlueZ v5.50 uses a new library, Embedded Linux Library(ell). To clean this error and build a clean development environment to deploy BlueZ v5.50, use the following patch:
1. Follow the guide till completing “Section 2.3, Install json-c for BlueZ v5.49”
2. Issue the commands below – these commands will help you to install ell on your R Pi3 board
cd ~ wget https://mirrors.edge.kernel.org/pub/linux/libs/ell/ell-0.6.tar.xz tar -xvf ell-0.6.tar.xz cd ell-0.6/ ./configure --prefix=/usr make sudo make install
3. Issue the commands below to fetch the BlueZ v5.50 source code
cd ~ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.50.tar.xz tar -xvf bluez-5.50.tar.xz cd bluez-5.50/
4. After completing the two steps above for ell and BlueZ v5.50 source code, return to the Bluetooth step-by-step guide, Section 2.5, Compile and Install BlueZ, and follow this guide to finish setup
5. Then, BlueZ v5.50 will be deployed on your R Pi3 board successfully