Archive:WiFiJoystick
Jump to navigation
Jump to search
WiFiJoystick Release status: experimental [box doku] | |
---|---|
Description | WiFi connected Joystick and Gamepad |
Author(s) | Jorgen |
This page shows a short description of how to create a WiFi enabled Gamepad / Joystick. The WiFiJoysticks can be used to play games on LED-Panels on events like makerfaires.
source code
joystick & buttons
pin mapping
function | state 1 | state 2 | state 3 |
---|---|---|---|
Push Button | |||
left | |||
right | |||
up | |||
down |
mqtt topics (receive)
topic | payload | example |
---|---|---|
WiFiJoystick/<CHIP-ID>/config | flags to configure | reboot |
WiFiJoystick/<CHIP-ID>/brightness | brightness from 0 to 255 | 190 |
WiFiJoystick/<CHIP-ID>/debounce/push | debounce delay in ms | 200 |
WiFiJoystick/<CHIP-ID>/debounce/button1 | debounce delay in ms | 200 |
WiFiJoystick/<CHIP-ID>/debounce/button2 | debounce delay in ms | 200 |
WiFiJoystick/<CHIP-ID>/debounce/left | state1,state2,state3 (debounce delay in ms) | 150,100,200 |
WiFiJoystick/<CHIP-ID>/debounce/right | state1,state2,state3 (debounce delay in ms) | 150,100,200 |
WiFiJoystick/<CHIP-ID>/debounce/up | state1,state2,state3 (debounce delay in ms) | 150,100,200 |
WiFiJoystick/<CHIP-ID>/debounce/down | state1,state2,state3 (debounce delay in ms) | 150,100,200 |
mqtt messages (sending)
topic | payload | example |
---|---|---|
WiFiJoystick/<CHIP-ID>/button/push | press or release | press |
WiFiJoystick/<CHIP-ID>/button/button1 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/button2 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/left1 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/left2 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/left3 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/right1 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/right2 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/right3 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/up1 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/up2 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/up3 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/down1 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/down2 | press or release | press |
WiFiJoystick/<CHIP-ID>/button/down3 | press or release | press |
status LEDs
mqtt topics (receive)
topic | payload | example |
---|---|---|
WiFiJoystick/<CHIP-ID>/color/led1 | solid/once/flash/fade,red,green,blue(,interval,red2,green2,blue2) | solid,255,0,0 once,0,255,255,5000 |
WiFiJoystick/<CHIP-ID>/color/led2 | solid/once/flash/fade,red,green,blue(,interval,red2,green2,blue2) | fade,255,0,0,2000,0,255,0 flash,0,0,255,500 flash,255,0,0,1000,255,255,0 |
I2C IO expander
The ESP8266 has too less IO pins - so we will use IO expander ICs with serial interface (I²C-Bus):