Wifiskip

From RevSpace
Revision as of 11:03, 4 January 2016 by Bas (talk | contribs)
Jump to navigation Jump to search
Project Wifiskip
Status In progress
Contact Sebastius
Last Update 2016-01-04
WifiSkip
Board
Ingebouwd, nog zonder USB-Serial!
Detail van aangesloten board (zonder USB-Serial)

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
  • 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.
  • 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!