The normal interface to the PHL is through a WiFi connection using the TCP/IP protocol. The PHL also has a BLE interface with an corresponding PC program that functions as an example of how a BLE interface could be developed for the PHL system. In the latest PHL images there’s a problem with the interface - a Node.js version issue. Until a more permanent fix is available, it’s possible to get the BLE running on the PHL by copying some files to the device manually.
The peripheral end of the program is on the PHL at /usr/share/mahalia-ble-peripheral.js and it translates BLE data to the openMHA process via a socket interface. The directory /usr/share/mahalia-ble-peripherals/node-modules contains the files that need to be updated, along with the mahalia-ble-peripheral.js program itself.
How to update PHL
1) Download updated files, ble_buster.tar.gz and mahalia-ble-peripherals.js.
https://github.com/BC-support/BLE-Peripheral
2) Connect host computer to the PHL via WiFi.
3) ssh into the PHL and delete the existing node_module files with
/usr/share/mahalia-ble-peripheral/node_modules$ sudo rm -rf *
4) Copy files from host to PHL. Note the root user password is ‘toor’.
scp mahalia-ble-peripheral.js root@10.0.0.1:/usr/share/mahalia-ble-peripheral
scp ble_buster.tar.gz root@10.0.0.1:/usr/share/mahalia-ble-peripheral/node_modules
5) On PHL, uncompress files
/usr/share/mahalia-ble-peripheral/node_modules/sudo tar -xf ble_buster.tar.gz
6) Restart PHL.
Host PC interface
The code for server side of the BLE connection has changed slightly and the new repository is at
https://github.com/BC-support/BLE-Server
The installation and operation instructions are also there.