From Hentschel
Jump to: navigation, search
(OLED color display based on SD1331)
(Design Rev 2.0)
Line 44: Line 44:
 
* Inspired from [http://frederickvandenbosch.be/?p=1365 here]:  
 
* Inspired from [http://frederickvandenbosch.be/?p=1365 here]:  
 
[[File:raspi0-box.jpg|400px]]<br clear=both>
 
[[File:raspi0-box.jpg|400px]]<br clear=both>
=== OLED color display based on SD1331 ===
+
=== Hardware ===
 +
==== OLED color display based on SD1331 ====
 
* the Oled display which will fit into decora blank [https://www.adafruit.com/products/684 at this link]
 
* the Oled display which will fit into decora blank [https://www.adafruit.com/products/684 at this link]
 
* programming the display https://media.readthedocs.org/pdf/luma-oled/latest/luma-oled.pdf
 
* programming the display https://media.readthedocs.org/pdf/luma-oled/latest/luma-oled.pdf
Line 64: Line 65:
 
[[File:j8header-zero.png|400px|thumb|left|pi4j gpio]][[File:pi-gpio-bcm.png|400px|thumb|BCM GPIO]]<br clear=both>
 
[[File:j8header-zero.png|400px|thumb|left|pi4j gpio]][[File:pi-gpio-bcm.png|400px|thumb|BCM GPIO]]<br clear=both>
  
=== OLED B/W display based on SSD1306 ===
+
==== OLED B/W display based on SSD1306 ====
 
* address 0x7B
 
* address 0x7B
 
* wiring:
 
* wiring:
 
[[File:raspberry_pi_RaspberryPi_I2C_bb.png|400px|left]]<br clear=both>
 
[[File:raspberry_pi_RaspberryPi_I2C_bb.png|400px|left]]<br clear=both>
  
 +
==== Relay board ===
 +
* [[File:Schematic-0G-00004539-Mod-Relay-x1-5V.pdf]]
 +
==== Temp Sensor ====
 +
* Type DS18b20
 +
* Amazon [https://www.amazon.com/gp/product/B00KUNKR3M/ link]
 
=== Software ===
 
=== Software ===
 
* install/enable luma.oled [https://luma-oled.readthedocs.io/en/latest/install.html link] + examples [https://github.com/rm-hull/luma.examples link], make sure examples run
 
* install/enable luma.oled [https://luma-oled.readthedocs.io/en/latest/install.html link] + examples [https://github.com/rm-hull/luma.examples link], make sure examples run

Revision as of 16:33, 30 November 2017

Basics

Fan control off:

<node flag='0'>
  <address>14 23 AC 4</address>
  <name>Thermostat - Fan Control</name>
...
  <property id='ST' value='0' formatted='Off' uom='%/on/off'/>
</node>

Fan control on

<node flag='0'>
  <address>14 23 AC 4</address>
  <name>Thermostat - Fan Control</name>
...
  <property id='ST' value='255' formatted='On' uom='%/on/off'/>
</node> 

Thermostat manuals

adjusting dead band for 2nd stage


Design

Thermostat controller schematics
Fireplace controller - called HPC-350-M - can be found here
  • Use insteon 2450 to switch fireplace low-voltage control
  • Control Insteon 2450 via Thermostat - Heat Control (insteon address: 14 23 AC 3) via ISY program
  • Rewire house heater to use the 2nd stage heater control on the thermostat
  • Sense fire place heater via 2450 input
  • Engage house heater fan via ISY program


Design Rev 2.0

  • create fireplace controller with raspberry pi zero + OLED display that fits into single gang box with decora faceplate
  • Inspired from here:

Raspi0-box.jpg

Hardware

OLED color display based on SD1331

Lcds displays 684 LRG.jpg


Rpi-oled-connections bb.png
  • Rudimentary bit-banging Python driver: Gist at Github
  • Native driver package at Github
    • Connect display ground to Raspberry Pi ground (black wire).
    • Connect display VIN to Raspberry Pi 3.3 volt (red wire).
    • Connect display CS to Raspberry Pi CE0 (yellow wire).
    • Connect display RST to Raspberry Pi GPIO 24 (blue wire). You can alternatively use any free digital GPIO pin for the reset pin.
    • Connect display DC to Raspberry Pi GPIO 23 (cyan wire). You can alternatively use any free digital GPIO pin for the DC pin.
    • Connect display CLK to Raspberry Pi SCLK (orange wire).
    • Connect display Data to Raspberry Pi MOSI (purple wire).
Rpi-spi-oled-ssd1331-connect.png


pi4j gpio
BCM GPIO

OLED B/W display based on SSD1306

  • address 0x7B
  • wiring:
Raspberry pi RaspberryPi I2C bb.png

= Relay board

Temp Sensor

  • Type DS18b20
  • Amazon link

Software

  • install/enable luma.oled link + examples link, make sure examples run
  • install homebrew oledserver/server, use example scripts for verification
  • update node-red from current version on RPi https://nodered.org/docs/hardware/raspberrypi
  • add "require:require" to the settings.js in the .node-red directory

Enclosure

  • the 3d-printable decora cover: at thingiverse
    • Dimensions:
    Device 6.66 x 3.30 cm
    Hole in trim plate 6.68 x 3.32 cm
    2 mm ( 0.20 cm) radius on the corners.
Decoracover.jpg

Tactile push button square cap.jpg

Design questions

How many buttons to control?

  1. ESCAPE/BACK
  2. UP
  3. DOWN
  4. SELECT/ENTER
  5. recessed reset button

?