Surveillance Detection Scout: Your Lookout on Autopilot
Surveillance Detection Scout is a hardware and software stack that makes use of your Tesla's cameras to tell you if you're being followed in real-time. The name, as you likely gathered, pays homage to the ever-effective "Surveillance Detection Route". When parked, Scout makes an excellent static surveillance practitioner as well, allowing you to run queries and establish patterns-of-life on detected persons.
Before going any further, I want to make sure to acknowledge the people (and repositories) who helped this project, with or without knowing they did so.
Scout is a simple to install (at v1.0), and simple to use tool for analyzing video data from Tesla Model S, 3 and X camera feeds.
Scout is intended to be built on an Nvidia Jetson Xavier or Nano, but you may use a Raspberry Pi 4 if real time notification isn't a priority.
Detailed documentation coming shortly.
Even if you don't yet have the hardware necessary to start running inference with Scout, you can start polling your vehicle, so that at least you can start to capture your historical trip data. Scout utilizes TeslaJS for polling.
NOTE: Replace all CHANGEME areas in code
If you'd like to restart the poll script automatically if it crashes (internet outage or similar), uncomment lines 3 and 4 of setup.sh
, and comment line 5.
Finally, run ./scripts/TeslaJS/setup.sh
.
scripts/Xavier/l4t-usb-device-mode
over to /opt/nvidia/l4t-usb-device-mode/.
/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode-start.sh
service nv-l4t-usb-device-mode stop
sdsusb.img
/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode-config.sh
, uncomment line 110 and comment line 109./scripts/Xavier/setup.sh
appropriately./scripts/Xavier/setup.sh
and ./setup.sh
from the scripts/alpr-unconstrained
directoryTry powering down the Xavier and plugging it into a Tesla USB slot (unplug your existing flash drive first if you're using one), using the provided Xavier USB-C to USB-A cable, and powering the Xavier via USB-C car charger (into the USB-C port on the side of the Xavier with the other various ports). Tesla will either automatically mount the device, or if you see the camera icon with a gray dot, you can press-hold on the camera button to mount the device. That gray dot should turn red.
Next Up: Familiar Face Detection, then GUI. Watch this repo to be notified as code is released. Releasing code as soon as I am able.
List:
This framework is provided for educational purposes only. Using this framework without permission from all appropriate parties may be against the law depending on your jurisdiction. Use at your own risk.
You may use this library with the understanding that doing so is AT YOUR OWN RISK. No warranty, express or implied, is made with regards to the fitness or safety of this code for any purpose. If you use this library to query or change settings of your vehicle you understand that it is possible to make changes that could inadvertently lower the security of your vehicle, or cause damage, through actions including but not limited to:
Please be careful not to use this code in a way that loads the Tesla servers with too many concurrent requests. Calling the Tesla REST APIs at a very high frequency will stress the Tesla servers and could get your IP or favorite cloud service blocked by Tesla. Or in the worst case it could cause Tesla to revoke the key that enables access via this and many other libraries.