** 1/29/16: Seriously Revised **
-- 1/30/16: some results --
Having the urge to control a thermostat without actually replacing it or messing with it's wiring I bought this sample unit.
So here is a 4-port switch.
My previous wiring idea was WRONG:
Start with the following:
1. External +5V & Ground (actually 1A USB)
2. 4-port relay device powered from the computer (+3.3V + G)
3. 4 GPIO ports to IN1, 2, 3, 4 on the switch
4. Wire each relay like this:
5. Here's the overall wiring mess. Red lines are +5, blue are GND; lines coming from the edges are from the same +5/GND source. The white blob stands for the Peltier.
6. Initially (of course) all relays are open (since this is a "normally closed" device set the pins HIGH).
- IN1, IN2, IN3, IN4 open
- To make surface #1 warmer: Open IN3 & IN4, Close IN1 & IN2
- To make surface #1 cooler: Open IN1 & IN2 Close IN3 & IN4
Early results: Measuring the surface temperature with a TMP36 sensor I find that 10 seconds of +5 to the Peltier raises the TMP36 reading by 4F degrees (for loop, 10 seconds ON, 5 seconds OFF). More readings soon.
MORE RESULTS (1/30/16): Do you ever check on actual voltage from a USB hub? I was getting pretty big (20 seconds + to raise the temperature (TMP36 sensor) 10F, 20 seconds - to lower it 8F -- yes, up is faster than down. But then I happened to check the voltage: the presumed +5V was actually over 7V. When I changed power adapter so I got actual 5V the 20 second temperature changes were much more modest (2-3 degrees in 20 seconds). The surface that the Peltier rests on also affects results (might need to use a heatsink on the unused surface).
Warning: this gets hot! Be careful.
Assuming this is workable, I'm more likely to actually control this setup using a Particle Photon (or Electron, when available) than a Raspberry Pi. Check out my Photon blog at http://dicks-photon-arduino.blogspot.com.