Python library for communicating with Uniden Bearcat scanners.
Currently, this library implementation the following scanner's serial APIs. Ideally as I acquire more scanners, this library will grow to incorporate those. Go to the Scanners with Serial Interface Docs wiki page for more details on these scanners.
- BC125AT
- BC75XLT
Most Uniden scanners have an "operation specification" manual that outlines their API. Uniden makes it hard to find these manuals, but they can be found with a Google search. I find starting here helps: https://www.google.com/search?q=site%3Ainfo.uniden.com%2Ftwiki%2Fpub%2FUnidenMan4+operation+specification
Below is an example of creating a connection to a BC125AT scanner and getting its screen.
There are several included example scripts in /examples.
from src.handheld.bearcat import BC125AT
bc = BC125AT('/dev/ttyACM0')
screen, squelch, mute = bc.get_status()
print(screen)In order to see the UART interface of the scanner on Linux the following command may need to be run after your PC boots. More info can be found here.
echo "1965 0017 2 076d 0006" >> /sys/bus/usb/drivers/cdc_acm/new_id
Once that command is run, you should have a new serial device /dev/ttyACM[X].
To access this device you will likely need to either use the root user / sudo or add your user to the dialout group. Try one of the following to do this:
sudo adduser $USER dialoutsudo usermod -aG dialout $USER