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
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!