The following are instructions for connecting a Bluetooth device for serial communication using BlueZ 5.31. (adapted from https://gist.github.com/0/c73e2557d875446b9603)
The following packages are required:
power on agent on scan on ... wait ... scan off pair <dev>
You should now have `/dev/rfcomm0`.
remove <dev> power off
Check `rfkill list` to make sure that the Bluetooth device is not blocked.
The folk user needs to be able to open the serial port - make sure the folk user is a member of the dialout group.
Folk program to read from the serial port (in this case a n M5StickC running the following program: https://github.com/naninunenoy/AxisOrange):
Start process { Wish $::thisProcess shares statements like \ [list /someone/ claims the m5stickC has quaternion /q/] set serial [open /dev/rfcomm0 r+] chan configure $serial -mode "115200,n,8,1" chan configure $serial -blocking 0 -buffering none -translation binary while {1} { set data [read $serial] ;# read ALL incoming bytes set size [string length $data] ;# number of received byte, may be 0 if { $size } { #puts "received $size bytes: $data" # parse header binary scan $data {su su iu f3 f3 f4} dataId dataLen t a g q #puts "$dataId $dataLen $t $a $g $q" Retract $::thisProcess claims the m5stickC has quaternion /q/ Assert $::thisProcess claims the m5stickC has quaternion $q } else { #puts "<no data>" } Step } }