Raspberry PI support

Do you consider support for Raspberry PI or similar micro-computers like HummingBoard? Or it doesnt need special support and will work out-of-the-box with Bluetooth 4.0 receiver?

1 Like

Target needs to support HID over GATT. Not sure where that leaves the Pi etc but these are yet more scenarios where a smart dongle that can just present a plain USB keyboard to the target would make life a lot easier. That idea was discussed here;

1 Like

And CHIP (although that’s about a year away from shipping…)

2 Likes

I have my TREG unit connected to a Raspberry pi 3 which is running OpenELEC Kodi. The pi 3 is located next to my TV which is about 15 feet from the TextBlade. I also have two OS X devices and three iOS devices connected to the TextBlade and am using the jump function to switch between the devices. I did not have to load any special drivers nor did I have to modify the TextBlade firmware in any way to get it to work with the pi 3.

I have not run into of the default Kodi keyboard controls that do not work as expected with the TextBlade. I do not have any LiveTV equipment connected to the pi 3 so I have not been able to test any of those keyboard functions.

I am running OpenELEC (official) - Version 6.0.3 (kernel: Linux 4.1.18)

Here is a snapshot of my OpenELEC Bluetooth settings menu. The snapshot was taken by sending a control S sequence from the TextBlade while connected to OpenELEC Kodi running on the Raspberry pi 3.

1 Like

I need another keyboard for use with a new raspberry pi that I am doing some development work on.
Happy to find on searching this topic that the textblade works with the raspberry pi.

My estimated ship window still says Q4.
Shouldn’t waytools revise the current estimation again rather than waiting until 1st Jan and changing it to Q1 2017?

The TextBlade works out-of-the-box with Raspberry Pi 3. With other models it will work with a Bluetooth BLE compatible dongle.

I’ve still got my fingers crossed for a last minute Christmas surprise.

i like living in a delusional world at times as well…

1 Like

I wouldn’t count on that either, but as it happens, last year about 3:00 AM Christmas Eve (California time), WT announced the first (and presently only) version of the TextBlade app. Of course, testers have had a number of updates to it, but not the general public.

So, I guess it is possible they may try to do something this year too. I wouldn’t count on release. That will happen then they think it is ready, not because of a special date.

There is also the matter that long ago WT said before shipping they would contact people to confirm what keycaps they wanted. Seems to me they’d have to allow days for people to respond in order to maintain the line order.

On the other hand, I believe that was because they didn’t expect to have all the different layouts available right away so actually people were being given the chance to order something else if their preference wasn’t ready. That may not be the case now. We just don’t know. But if they do have enough of each layout, they may not do that email. They may just ship. That would be the only way to make the announcement before Christmas for shipping that I can see.

Could be the best Christmas surprise after a really political, socially and existentially miserable 2016.

I have a Raspberry Pi 3, and the TextBlade doesn’t work out-of-the-box with it (running Raspbian Jessie March 2017 - the latest). Although the Pi 3 has BLE, the software stack isn’t complete. It also does not work with my SwiftPoint GT mouse.

In this context by out-of-the-box I meant that you do not need any additional hardware.

I always got it to work with Raspbian by handling the pairing at the command line level (i.e. running bluetoothctl manually) although it often takes several attempts. Normally I have no luck doing it from the GUI level. The Bluetooth support seems much more reliable if you upgrade the bluez software to the latest available from bluez.org (I recently posted the script I use for automating that) rather than using the version supplied with raspbian.

1 Like

Thanks for your tip on pairing via command line! I’ll try that when I am done work.

I’m lucky you are sharing your knowledge on this as I haven’t had much luck finding it in the net. Perhaps my Google-Fu isn’t strong enough.

The wiki has some useful information about the command line in the ‘Dongles’ section. I will add the script I use to download, build and install the latest bluez to that page in the section on Raspberry Pi.

I’ve installed Bluez 5.43 according to the script on the wiki, but I still cannot pair. I’m beginning to suspect I have the issue where a pre-shipped pairing with the Air-In dongle causes pairing problems with other devices.

I keep trying and it keeps saying that it times out - both on Windows and Linux I don’t ever get prompted to type in the 6 digit pairing key - but it worked fine on my Mac.

pi@raspberrypi:~ $ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
   Active: active (running) since Sun 2017-04-09 02:16:47 PDT; 2s ago
     Docs: man:bluetoothd(8)
 Main PID: 2716 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─2716 /usr/local/libexec/bluetooth/bluetoothd
pi@raspberrypi:~ $ sudo bluetoothctl
[NEW] Controller B8:27:EB:D2:09:D2 raspberrypi [default]
[NEW] Device B8:F5:E7:50:6C:5A TextBlade 4C5A
[bluetooth]# pair B8:F5:E7:50:6C:5A 
Attempting to pair with B8:F5:E7:50:6C:5A
[CHG] Device B8:F5:E7:50:6C:5A Connected: yes
[NEW] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c
	00001801-0000-1000-8000-00805f9b34fb
	Generic Attribute Profile
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c/char000d
	00002a05-0000-1000-8000-00805f9b34fb
	Service Changed
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c/char000d/desc000f
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010
	0000180a-0000-1000-8000-00805f9b34fb
	Device Information
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0011
	00002a23-0000-1000-8000-00805f9b34fb
	System ID
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0013
	00002a24-0000-1000-8000-00805f9b34fb
	Model Number String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0015
	00002a25-0000-1000-8000-00805f9b34fb
	Serial Number String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0017
	00002a26-0000-1000-8000-00805f9b34fb
	Firmware Revision String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0019
	00002a27-0000-1000-8000-00805f9b34fb
	Hardware Revision String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001b
	00002a28-0000-1000-8000-00805f9b34fb
	Software Revision String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001d
	00002a29-0000-1000-8000-00805f9b34fb
	Manufacturer Name String
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001f
	00002a2a-0000-1000-8000-00805f9b34fb
	IEEE 11073-20601 Regulatory Cert. Data List
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0021
	00002a50-0000-1000-8000-00805f9b34fb
	PnP ID
[NEW] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023
	0000180f-0000-1000-8000-00805f9b34fb
	Battery Service
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024
	00002a19-0000-1000-8000-00805f9b34fb
	Battery Level
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0026
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0027
	00002908-0000-1000-8000-00805f9b34fb
	Report Reference
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0028
	00002904-0000-1000-8000-00805f9b34fb
	Characteristic Format
[NEW] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f
	f000ffc0-0451-4000-b000-000000000000
	Vendor specific
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030
	f000ffc1-0451-4000-b000-000000000000
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030/desc0032
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030/desc0033
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034
	f000ffc2-0451-4000-b000-000000000000
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034/desc0036
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034/desc0037
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038
	f000ffc3-0451-4000-b000-000000000000
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038/desc003a
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038/desc003b
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c
	f000ffd0-0451-4000-b000-000000000000
	Vendor specific
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d
	f000ffd1-0451-4000-b000-000000000000
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d/desc003f
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d/desc0040
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041
	f000ffd2-0451-4000-b000-000000000000
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041/desc0043
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041/desc0044
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 00001812-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: 00001813-0000-1000-8000-00805f9b34fb
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: f000ffc0-0451-4000-b000-000000000000
[CHG] Device B8:F5:E7:50:6C:5A UUIDs: f000ffd0-0451-4000-b000-000000000000
[CHG] Device B8:F5:E7:50:6C:5A ServicesResolved: yes
[TextBlade 4C5A]# status
Invalid command
[TextBlade 4C5A]# info B8:F5:E7:50:6C:5A 
Device B8:F5:E7:50:6C:5A
	Name: TextBlade 4C5A
	Alias: TextBlade 4C5A
	Paired: no
	Trusted: yes
	Blocked: no
	Connected: yes
	LegacyPairing: no
	UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
	UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
	UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
	UUID: Battery Service           (0000180f-0000-1000-8000-00805f9b34fb)
	UUID: Human Interface Device    (00001812-0000-1000-8000-00805f9b34fb)
	UUID: Scan Parameters           (00001813-0000-1000-8000-00805f9b34fb)
	UUID: Vendor specific           (f000ffc0-0451-4000-b000-000000000000)
	UUID: Vendor specific           (f000ffd0-0451-4000-b000-000000000000)
	Modalias: bluetooth:v000Dp0000d0110
[TextBlade 4C5A]# pair B8:F5:E7:50:6C:5A 
Attempting to pair with B8:F5:E7:50:6C:5A
Failed to pair: org.bluez.Error.InProgress
Failed to pair: org.bluez.Error.AuthenticationCanceled
[CHG] Device B8:F5:E7:50:6C:5A ServicesResolved: no
[CHG] Device B8:F5:E7:50:6C:5A Connected: no
[CHG] Device B8:F5:E7:50:6C:5A Connected: yes

then the TextBlade times out, showing this in Bluetoothctl

[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c/char000d/desc000f
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c/char000d
	00002a05-0000-1000-8000-00805f9b34fb
	Service Changed
[DEL] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service000c
	00001801-0000-1000-8000-00805f9b34fb
	Generic Attribute Profile
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0011
	00002a23-0000-1000-8000-00805f9b34fb
	System ID
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0013
	00002a24-0000-1000-8000-00805f9b34fb
	Model Number String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0015
	00002a25-0000-1000-8000-00805f9b34fb
	Serial Number String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0017
	00002a26-0000-1000-8000-00805f9b34fb
	Firmware Revision String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0019
	00002a27-0000-1000-8000-00805f9b34fb
	Hardware Revision String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001b
	00002a28-0000-1000-8000-00805f9b34fb
	Software Revision String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001d
	00002a29-0000-1000-8000-00805f9b34fb
	Manufacturer Name String
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char001f
	00002a2a-0000-1000-8000-00805f9b34fb
	IEEE 11073-20601 Regulatory Cert. Data List
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010/char0021
	00002a50-0000-1000-8000-00805f9b34fb
	PnP ID
[DEL] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0010
	0000180a-0000-1000-8000-00805f9b34fb
	Device Information
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0026
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0027
	00002908-0000-1000-8000-00805f9b34fb
	Report Reference
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024/desc0028
	00002904-0000-1000-8000-00805f9b34fb
	Characteristic Format
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023/char0024
	00002a19-0000-1000-8000-00805f9b34fb
	Battery Level
[DEL] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service0023
	0000180f-0000-1000-8000-00805f9b34fb
	Battery Service
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030/desc0032
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030/desc0033
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0030
	f000ffc1-0451-4000-b000-000000000000
	Vendor specific
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034/desc0036
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034/desc0037
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0034
	f000ffc2-0451-4000-b000-000000000000
	Vendor specific
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038/desc003a
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038/desc003b
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f/char0038
	f000ffc3-0451-4000-b000-000000000000
	Vendor specific
[DEL] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service002f
	f000ffc0-0451-4000-b000-000000000000
	Vendor specific
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d/desc003f
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d/desc0040
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char003d
	f000ffd1-0451-4000-b000-000000000000
	Vendor specific
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041/desc0043
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[DEL] Descriptor
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041/desc0044
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[DEL] Characteristic
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c/char0041
	f000ffd2-0451-4000-b000-000000000000
	Vendor specific
[DEL] Primary Service
	/org/bluez/hci0/dev_B8_F5_E7_50_6C_5A/service003c
	f000ffd0-0451-4000-b000-000000000000
	Vendor specific
[CHG] Device B8:F5:E7:50:6C:5A ServicesResolved: yes
[CHG] Device B8:F5:E7:50:6C:5A ServicesResolved: no
[CHG] Device B8:F5:E7:50:6C:5A Connected: no
[CHG] Device B8:F5:E7:50:6C:5A Connected: yes
[DEL] Controller B8:27:EB:D2:09:D2 raspberrypi [default]
Waiting to connect to bluetoothd...

I know that you need a ‘power on’ command to bluetoothctl before attempting to pair. I cannot remember off-hand if I have used other commands as well.

I have a new Pi-0 W, so I will see today if I can capture the exact sequence of steps it requires for me to get it working with the TextBlade. Having done so I will update the wiki and also post back here.

1 Like

I think for some reason the Keyboard agent (that handles the passcode) isn’t running. After work I’ll look into it again. Thanks!

I followed steps from:
https://wiki.archlinux.org/index.php/Bluetooth_keyboard

but I never get the line that says

[agent] Passkey: 910013

Oh, I figured it out!!!

Your script was great, just one minor addition I borrowed from:

Enable BLE Features

To enable the BLE features, the ‘experimental’ mode needs to be turned on in the service configuration. For this edit the file with

sudo nano /lib/systemd/system/bluetooth.service
with adding ‘–experimental’ to the following line:

ExecStart=/usr/local/libexec/bluetooth/bluetoothd --experimental  
As we changed the service settings, use the following to restart it

sudo systemctl daemon-reload
sudo systemctl restart bluetooth

Once I did that, it worked! Thanks so much for your help!!!

Colin

You should not need the -experimental option with the latest bluez as it is now mainstream.

Regardless I am glad to hear that you have things working.