Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 2.62 KB

README.md

File metadata and controls

36 lines (25 loc) · 2.62 KB

hate5grip

The hate5grip is a DIY wireless camera angle switcher using a Raspberry Pi Zero that sends HTTP POST requests to a Flask server running adjacent to OBS, which simulates the pressing of keys to initiate an angle switch. The grip can be used more generally as just a wireless macro keypad as needed. Code for the remote and web server and the .stl files for 3D printing to come. For a full breakdown, step by step guide and Q+A check out the livestream tutorial I'll be hosting about this build over at patreon.com/hate5six. Specific questions can be DM'd to me on there.

This is a work in progress. Build and use at your own risk.

Installation:

There are two scripts (tested on Python 3.9) in this repository:

  • hate5grip.py: to run as a server on the computer running OBS
  • remote.py: to run on the Rapberry Pi

The following dependencies are required:

On Computer Running OBS

Change the variable ip_addr in hate5grip.py to the local area network IP of the computer. From a command prompt, run python hate5grip.py which will launch the server and listen for POST requests from the hate5grip remote. Minimize the console and be sure that OBS is the active window/program on the screen. In OBS, go to Settings and assign hotkeys '1', '2', '3', '4' to the appropriate Scenes.

On Remote

SSH into the Raspberry Pi and install the gpiozero dependency. Configure the RPi to connect to the same 2.4GHz WiFi network as the computer running OBS. Change the variable ip_addr in remote.py to the local area network IP of the computer. Modify the crontab on the RPi to automatically run remote.py in the background upon boot.

3D Printing

.stl files are available for the hate5grip and custom button mount. Depending on your printer you may need to make adjustments in order to make the components fit together, or just file down as needed after printing.

Grip Wiring

Wire the 4 buttons on the grip as follows using GPIO pins 6, 13, 19, 26: