Wifiskip
Project Wifiskip | |
---|---|
Status | Completed |
Contact | Sebastius |
Last Update | 2016-01-05 |
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 ;)
Een duidelijk voordeel is dat WiFiSkip aanzienlijk sneller lijkt te reageren dan de NRF-skipknop.
Features
- Skip
- Volume omhoog (+5)
- Volume laag (-5)
- Stop
- Troll-knop
- 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.
Mogelijk opgelost door delay(50); toe te voegen aan HTTP-GET code zodat de ESP even op adem kan komen.
Hardware
Geen schema (want het stelt echt niks voor) maar:
- 5v adaptertje, 0,5a
- KIS3R33S module op 3.3v (bij zo'n kant en klaar printje even de weerstand wegbreken bij de ingangsscrewterminal)
- 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!