Wifiskip
Project Wifiskip | |
---|---|
Status | In progress |
Contact | Sebastius |
Last Update | 2016-01-01 |
Idee
De nieuwe Sparkshack heeft inmiddels al een heleboel gemakken. Er is een barterminal en zelfs al een Squeezeplayer. Een zeer belangrijk ding ontbreekt nog: de skip-knop!
Aangezien er (nog) geen NRF-host in de Sparkshack is leek het mij leuk om een Skipknop te maken die via WiFi werkt. Nadeel/voordeel is dat deze dan wel aan een vast stopcontact moet. Mogelijk moeten we meer skipknoppen bouwen omdat deze dus niet mobiel is. Of in versie 2 een accu en wireless charging inbouwen ;)
Features
- Skip
- Volume omhoog (+5)
- Volume laag (-5)
- Stop
- Random nieuwe playlist maken (ook bij 3 sec ingedrukt houden van skip)
- Speciale feature: USB Serial ingebouwd voor eenvoudig diagnosewerk en herprogrammeren. Grote rode knop ingedrukt houden terwijl je de USB verbindt en dan op programmeren drukken in je IDE. Zodra het uploaden aan de gang is mag je de knop loslaten.
Beperkingen
Op het moment zijn er een paar beperkingen aan deze skipknop, waarvan een deel softwaregerelateerd is.
- Reboot/hangt af en toe. Stekker er uit en 5 sec later (cap leeg laten lopen) er weer in helpt. Onbekend of dit een softwareprobleem of hardwaregerelateerd is.
- Volumeknoppen werken niet relatief. Ik heb twee vaste volumes (50% en 100%) ingesteld. Zodra ik feedback krijg van Sparkshackers is dit aan te passen naar twee andere standen. Mooiste is als in de software eerste het oude volume opgevraagd wordt en dan het dus bijgeregeld wordt. Als ik ooit zo handig wordt in software zal ik dat inbouwen.
- Troll-knopje is nu slechts randomplaylist, net zoals Skip 3sec ingedrukt houden. Eenvoudig te patchen waarschijnlijk.
Hardware
Geen schema (want het stelt echt niks voor) maar:
- 5v adaptertje, 0,5a
- KIS3R33S module op 3.3v
- ESP8266 - ESP12 module
- USB-Serial
- 100nf en 100uF condensator
- bergje 10k 0805 smd weerstanden
- knopjes en een grote knop
- kastje voor wandmontage
Op de ESP heb je de volgende pull-ups nodig
- RST (met knopje om te kunnen resetten voor het programmeren)
- CH_PD
- GPIO_0 -> SKIP-knop (sowieso is de pullup nodig voor de bootloader)
- GPIO_4 -> knopje rechtsonder, nu Random Playlist
- GPIO_5 -> knopje rechtsboven, nu STOP
- GPIO_12 -> knopje linksboven, nu Volume HIGH
- GPIO_13 -> knopje linksonder, nu Volume LOW
En de volgende pull-downs
- GPIO_15 (ivm bootloader ESP8266)
Aansluiten
- Knopjes verbinden allemaal een GPIO met gnd. Verder de twee condensatortjes strak op de VCC en GND pads van de ESP.
- USBkabel aan USB-serial en de 5v doorknopen naar de KIS3R33S
- de KIS3R33S module, dikke 1000uF condensator op de uitgang hiervan!
- ESP aan de KIS
- Knopjes aan de ESP
Klaar!
Software
Zie https://github.com/sebastius/esp8266_wifiskip voor alle code :) Suggesties/patches/hacks zijn welkom!