-
-
Save keithweaver/3d5dbf38074cee4250c7d9807510c7c3 to your computer and use it in GitHub Desktop.
| # Uses Bluez for Linux | |
| # | |
| # sudo apt-get install bluez python-bluez | |
| # | |
| # Taken from: https://people.csail.mit.edu/albert/bluez-intro/x232.html | |
| # Taken from: https://people.csail.mit.edu/albert/bluez-intro/c212.html | |
| import bluetooth | |
| def receiveMessages(): | |
| server_sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM ) | |
| port = 1 | |
| server_sock.bind(("",port)) | |
| server_sock.listen(1) | |
| client_sock,address = server_sock.accept() | |
| print "Accepted connection from " + str(address) | |
| data = client_sock.recv(1024) | |
| print "received [%s]" % data | |
| client_sock.close() | |
| server_sock.close() | |
| def sendMessageTo(targetBluetoothMacAddress): | |
| port = 1 | |
| sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM ) | |
| sock.connect((targetBluetoothMacAddress, port)) | |
| sock.send("hello!!") | |
| sock.close() | |
| def lookUpNearbyBluetoothDevices(): | |
| nearby_devices = bluetooth.discover_devices() | |
| for bdaddr in nearby_devices: | |
| print str(bluetooth.lookup_name( bdaddr )) + " [" + str(bdaddr) + "]" | |
| lookUpNearbyBluetoothDevices() |
On python3, need to change the print function
print( "Accepted connection from " + str(address) )
On python3, need to change the print function
print( "Accepted connection from " + str(address) )
yes now no errors shows but still shell window is blank no result is showing
Does anyone know how we can setup multiple channels for a socket over bluetooth?
When I run this code on my Pi 3B+ I get an empty list [] from bluetooth.discover_devices(). Running the graphic interface or sudo bluetoothctl from the command line I see a whole bunch of devices, including my SiliconLabs BGX13P and my Sensirion Humidity and temperature sensor that I am trying to use as guinea pigs. Any suggestions?
What guinea pigs? Are you torturing some pigs?
I got an issue with this program:
Detecting bluetooth devices works just fine, I can detect my phone and my other bluetooth devices, but when sending messages to my phone a "connection refused" error raises (but that's probably because it's got some built-in protection against scary Linux devices). So that's when I thought 'hey, what if I try it using my pi zero w?'
so I used two pi's for my tryout of this program:
- a headless pi zero w automatically loads the script (using crontab), detects bluetooth devices using lookUpNearbyBluetoothDevices() and sends a message to all of them (by using sendMessageTo in a try function)
- a pi 4 B connected to a monitor is running the function receiveMessages(), but doesn't receive anything at all
And that's the problem! They're both pi's , and I suppose sending messages between two pi's using this program would work.
Can anyone help me out please?
PS: I like your program, even when only a small part of it works that's a lot better than most internet pieces of code.
print str(bluetooth.lookup_name( bdaddr )) + " [" + str(bdaddr) + "]"
python3.5 shows invalid syntax in this particular line.... with providind bt address and without providing address the error is same
error will look like:
Traceback (most recent call last):
File "/home/pi/bluepy/bluepy/PitoBlutooth1.py", line 11
print "Accepted connection from " + str(address)
^
SyntaxError: invalid syntax