Capture from DSLR, webcam or any USB camera
- Broadcast from any DSLR or webcam using a Windows PC, Raspberry Pi, or any Linux device
- Requires building out a system: camera + housing + computer.
- Why DSLR? Image quality! No other mainstream cameras come close to the quality of DSLR cameras at a similar price point.
- DSLR supports Canon/Nikon/Sony, see full camera list
- Teleport Station is meant for long term unattended capture deployment.
- Built for reliable, long term capture. Runs as a self-updatable SystemD Linux daemon or a Windows Service.
- Teleport Station is fully managed remotely through teleport.io dashboards.
- Resilient upload, able to cache images locally and retry when Internet connectivity returns
- Easily add support to your custom IoT device. Simply deploy Teleport Station binary, provision the device and implement hooks for image/video capture, device restart, etc.
Deploying Teleport Station
The IoT device
Any PC or IoT/maker board that runs Linux or Windows can be provisioned as a Teleport Station device.
We've had good success with Raspberry Pi 3 in our tests. Please see the Raspberry Pi Setup guide if you're new to it. Also any old laptop will work just fine!
The software
Teleport Station for Linux
- Install Linux on the board, for example Ubuntu Server on a Raspberry Pi The environment we used here was Ubuntu 18.04 using SystemD. Respberry Pi OS also works just fine. Note that desktop isn't required, and for gphoto2 based cameras, not recommended.
-
Once logged in download the provisioning script:
#Replace the arm64 with amd64 for Intel or armv6 or armv7 for 32bit ARM.
wget -q https://teleport.blob.core.windows.net/apps/teleportstation/linux/arm64/prod/ts-provision.sh -O ts-provision.sh
-
Give it permission:
-
And run it:
- This script will install the gphoto2 package to connect to the camera. Also the SystemD package to run Teleport Station as a daemon. It will then download and place all Teleport Station files in /opt/teleportstation. The SystemD service will be installed and started.
- A device pairing key and url will be shown in the log output, browse to this url to complete device provisioning on teleport.io. View the log using ts-follow-log.sh
- You'll see a number of scripts in the folder as well, for example ts-follow-log.sh lets you view the service log. ts-status.sh shows the device provision status and pairing. There is also an un-provision script which will clean everything up, including the SystemD service.
- That is it! The rest is configured through teleport.io dashboards.
- This script is a starting point, customize it as required for your deployment.
Things to note:
-
If GNOME desktop is used, it uses /usr/lib/gvfs/gvfs-gphoto2-volume-monitor process which will interfere with image capture. You will see the following error:
An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
To fix this, disable gvfsand then reboot:
systemctl --user stop gvfs-daemon
systemctl --user mask gvfs-daemon
Alternatively change the boot option to CLI instead of Desktop. On Raspberry Pi OS this can be done in Preferences -> Raspberry Pi Configuration. Also the volume monitor process can be killed, though this isn't ideal as it would have to be done on each boot.
- If you see the SystemD process not starting, it likely means the wrong architecture was used when provisioning. Available architectures are armv6/armv7/arm64/amd64.
Teleport Station for Windows
- Install Teleport Station app for Windows 10/11.
- After installation you will be prompted for UAC, this is required to enable the Teleport Station Windows Service.
- Right click on the red Teleport Station icon in the Windows System Tray and click on 'Install service'.
- Soon you should see 'Pair device' in the menu. Use this to provision the device on teleport.io
- If using a DSLR camera, install the DSLR camera driver, more on this in 'The camera' below.
- That is it! The rest is configured through teleport.io dashboards.
Teleport Station Windows Download
Latest Version Sideload App Installer (Windows 10/11, 64bit, amd64)
Latest Version Sideload Installer Archive (Windows 10/11, 64bit, amd64)
Latest Version Sideload App Installer (Windows 10/11, 32bit, x86)
Latest Version Sideload Installer Archive (Windows 10/11, 32bit, x86)
Installation instructions
- Apps which install Windows Services aren't allowed in the Microsoft App Store, so we have to use app sideloading.
- Simplest method to install is to use the Windows App Installer activation url above and follow the prompts.
- Alternatively, download the archive file above. Unblock it in file properties. Then extract it.
- To install use the .appxbundle file and follow the prompts.
- Alternatively, right click on Add-AppDevPackage.ps1 and choose 'Run with Powershell' to install.
The camera
The DSLR camera is plugged in to the IoT device through a good quality and ideally short length USB cable.
Windows
For Teleport Station under Windows, to detect your DSLR camera a driver installation is required. This is pretty simple with the Zadig app available at
http://zadig.akeo.ie.. Download Zadig, run zadig-2.4.exe, in the options menu select 'list all devices', select your camera and install the WinUSB driver for the camera. You may need to enter Test Signing Mode in Windows for the driver installation to succeed. Do this by running the 'bcdedit /set testsigning on' command on an Administrator command prompt and then restarting the computer. More information on this can be found
here. After that use Zadig to install the driver. In order to support the widest set of cameras we use libgphoto, and this requires the driver replacement.
Be sure to select the correct camera device when replacing the driver. Though no permanent damage can be done, replacing the driver for the keyboard will mean you won't be able to type!
Linux
Under Linux, the gphoto2 package is required and will be installed by the provisioning script.
Internet and power connection
Ethernet is preferred though Wi-Fi can work just as well. It is possible to power both the DSLR camera and the IoT board through PoE which would mean a single cable is required. Many IoT boards now have the ability to be powered via PoE, and through an adapter PoE also has enough power for a DSLR camera.