Archive:WiFiJoystick: Difference between revisions

From The Munich Maker Lab's Wiki
Jump to navigation Jump to search
Jorgen (talk | contribs)
mqtt topics
Jorgen (talk | contribs)
add IO expander section
Line 181: Line 181:




= I2C IO expander =
The ESP8266 has too less IO pins - so we will use IO expander ICs with serial interface (I²C-Bus):
* [https://www.reichelt.de/index.html?ACTION=3;ARTICLE=140074;SEARCH=MCP%2023017-E/SP MCP 23017-E/SP (16-Bit I/O Expander with I²C-Bus Interface)]
* [https://www.reichelt.de/PCF-8574-T/3/index.html?&ACTION=3&LA=446&ARTICLE=39885&artnr=PCF+8574+T&SEARCH=PCF+8574+T PCF 8574 T (8-Bit I/O Expander with I²C-Bus Interface)]


[[Category:Project]]
[[Category:Project]]

Revision as of 11:18, 29 June 2016

 
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.

pins/contacts (see table for color codes)


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 once|flash|fade),red,green,blue(,interval,red2,green2,blue2) solid,255,0,0
WiFiJoystick/<CHIP-ID>/color/led2 once|flash|fade),red,green,blue(,interval,red2,green2,blue2) fade,255,0,0,2000,0,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):