I am doing a project using the Bluetooth serial port. It is about the message communication between cellphones and the Rpi.
I typed ‘sudo rfcomm watch hci0’ on the Terminator.
The code on Python is simple: only assign the port address (‘/dev/rfcomm0’) and readline().
At first, things went right until I disconnected and reconnected. It said, “Cannot create Rfcomm TTY: Address already in use“. I guess it is because I didn’t close the serial port, so I added ‘ser.close()’. And then it worked. I ran it on Thonny (the IDE for Python on Rpi).
However, when I tried running the Python script on the Terminator, weird things happened. Initially, all things went right but when I disconnected the Bluetooth connection, it was stuck and if I tried reconnecting, it told me “Cannot create Rfcomm TTY: Address already in use” again.
So, what is the difference between running the script on IDE and on Terminator? It really confused me a lot because I am planning to make the script running automatically after rebooting.
Also, could someone tell me how to solve the error, “Cannot create Rfcomm TTY: Address already in use“, in a better way?
Thank you!
I want to add more explanation.
When I use IDE to run the script:
enter image description here
It worked well when I disconnected and reconnected.
But when I use Terminator to run the script (“sudo Python3 xxxxxx.py”):
enter image description here
It failed when I tried reconnecting. And the terminator got stuck and then ran abnormally when I disconnected and reconnected.