Volem tenir una consola sèrie via bluetooth per si no tenim teclat ni xarxa o poder tenir una alternativa de connexió.
Caldrà fer alguna modificació a la configuaració de la Raspberry PI molt ràpida.
Editarem el fitxer /etc/systemd/system/dbus-org.bluez.service
com usuari ‘root’
vim /etc/systemd/system/dbus-org.bluez.service
ExecStart=/usr/lib/bluetooth/bluetoothd -C ExecStartPost=/usr/bin/sdptool add SP
Ara crearem el servei per el RFCOMM perquè arrenqui a l’inici del sistema.
cat >/etc/systemd/system/rfcomm.service <<EOF [Unit] Description=RFCOMM service After=bluetooth.service Requires=bluetooth.service [Service] ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 -a usuari-del-sistema [Install] WantedBy=multi-user.target EOF
Habilitarem el servei i l’arrancarem
systemctl enable rfcomm systemctl start rfcomm
Per emparellar els dispositius en el server en la consola s’ha d’habilitar l’agent:
root@rpi:~# bluetoothctl
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[NEW] Device xx:xx:xx:xx:xx:xx client
Request PIN code
[agent] Enter PIN code: 123456
.
.
.
[CHG] Device xx:xx:xx:xx:xx:xx ServicesResolved: yes
[CHG] Device xx:xx:xx:xx:xx:xx Paired: yes
Authorize service
[agent] Authorize service 00000000-0000-000-0000-000000000000 (yes/no): yes
.
.
.
Authorize service
[agent] Authorize service 00000000-0000-000-0000-000000000000 (yes/no): yes
[client]#
[client]# trust xx:xx:xx:xx:xx:xx
CLIENT
Per fer la prova de connexió amb un client caldrà que els dos estiguin enparellats.
systemctl stop ModemManager
rfcomm -r bind /dev/rfcomm0 xx:xx:xx:xx:xx:xx # <-- mac-de-la-raspberrypi
screen /dev/rfcomm0
cat >/etc/systemd/system/rfcomm.service <<EOF
[Unit]
Description=RFCOMM
service After=bluetooth.service Requires=bluetooth.service
[Service]
ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 -a usuari-del-sistema
[Install]
WantedBy=multi-user.target
EOF
Cal emparellar els dispositius primer
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller xx:xx:xx:xx:xx:xx Discovering: yes
.
.
.
[bluetooth]# pair yy:yy:yy:yy:yy:yy
Attempting to pair with yy:yy:yy:yy:yy:yy
[CHG] Device yy:yy:yy:yy:yy:yy Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
.
.
.
[CHG] Device yy:yy:yy:yy:yy:yy ServicesResolved: yes
[CHG] Device yy:yy:yy:yy:yy:yy Paired: yes
Pairing successful
[bluetooth]# scan off