Multiple Quadrupeds Bluetooth Issues (Raspberry Pi + SSC32u)

I cannot post my question in the forum. All I get is 403 Error.

Hello @killawalsh and welcome to the RobotShop community,

The system may have blocked you for typing too fast.

However, if you want you can post your question here and I can make it public on the forum :grinning:

My co-teacher and I designed, built, and 3D printed a class set (8) of quadrupeds. We control them using Raspberry pis (Raspbian for Robots) connected to the SSC32u controller boards via bluetooth bees. They are so much fun! However, we continue to be plagued by bluetooth connection issues. One day things will work fine on a few robots and others will have trouble. It is never consistent from bot to bot. Here was my process:

sudo apt-get update

sudo reboot

sudo apt-get upgrade

sudo reboot

sudo apt-get install bluetooth bluez blueman

sudo reboot

sudo usermod -G bluetooth -a pi

sudo reboot

Check using: cat /etc/group | grep bluetooth

Verifythat I seee: bluetooth:x:III:pi

sudo reboot

To get Blueman GUI to appear on the desktop: Choose Bluetooth Manager from Menu > Preferences

I also edited:

/etc/systemd/system/dbus-org.cluez.service

-ExecStart=/usr/lib/bluetooth/bluetoothd –C

ExecStartPost = /usr/bin/sdptool add SP

sudo reboot

My actual understanding of all of the above is hazy. Sometimes I am able to use the Bluetooth Manager GUI to setup and pair and connect with a Bee. And sometimes I can come back next class and connect via Recent Connections. However, many more times than I would like, my students are unable to connect and I have to “backdoor in” using terminal mode:

bluetoothctl

scan on (note the MAC address)

scan off

agent on

default-agent

pair ad the pin of 1234

trust

paired-devices (check for device)

quit

sudo sdptool add SP

sudo rfcomm connect hci0

Then that runs in the background. And students have to guess the port num which is usally 0 or 1 but once was a 2? I tried all of this after hours of research online. Our Python code looks something like:

import serial

import sys

import time

ssc32 = serial.Serial()

ssc32.port = ‘COM3’ use with laptop/Windows

ssc32.port = ‘/dev/ttyUSB0’ use with Raspberry Pi / Linux

ssc32.timeout = 1.0

ssc32.open()

ssc32.isOpen()

print(“start”) #tests communication with SSC32

#Place all servos in the neutral position of 1500

ssc32.write("#0 P1500 1 P1500 2 P1500\

    	#8 P1500 #9 P1500 #10 P1500\

    	#20 P1500 #21 P1500 #22 P1500\

    	#4 P1500 #5 P1500 #6 P1500\

    	#16 P1500 #17 P1500 #18 P1500\

    	#24 P1500 #25 P1500 #26 P1500\

    	T1000 \r")

#Lots of other walking and dancing functions here

ssc32.close()

COULD THE PROBLEM BE THAT ALL OF THE RASPBERRY PIS STILL HAVE THE DEFAULT USERNAME (pi) AND PASSWORD (robots1234)? If I made these a class set like pi1, pi2, etc, would this help me at all? And then would I change this line:

sudo usermod -G bluetooth -a pi

to add the pi1, pi2 to the last word?

I have a list of each of the device MAC addresses and the students know which one they have so it’s not a matter of connecting to a classmate’s robot.

OR IS THE PROBLEM BECAUSE ALL OF THE BLUETOOTH BEES ARE NAMED Bluetooth Bee? I have read online about AT mode but that I need an Arduino in Serial mode. I have used Arduino and serial mode for a PM 2.5 sensor so I am somewhat familiar. But would I need some adapter or can I use a breadboard and jumper wires?

Here is a link for our final exam dance competition from two years ago (before COVID):

And here is a link showing our final exam obstacle course competition:

Our town hosts a large agricultural fair so of course it was farm-themed with country music. Best final exam ever!

Any help is greatly appreciated!