summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2018-03-25 15:07:16 +0100
committerdakkar <dakkar@thenautilus.net>2018-03-25 15:10:07 +0100
commitacfa9683248bc7cd25dda20d53307879fabb8f33 (patch)
treefc7800224d77d98e2e8bdd64cac3966ac809dc4f
parentanime bump (diff)
downloadthenautilus-acfa9683248bc7cd25dda20d53307879fabb8f33.tar.gz
thenautilus-acfa9683248bc7cd25dda20d53307879fabb8f33.tar.bz2
thenautilus-acfa9683248bc7cd25dda20d53307879fabb8f33.zip
rough writeup of the thermostat project
-rw-r--r--additions/HW/thermostat/arduino.jpgbin0 -> 1440306 bytes
-rw-r--r--additions/HW/thermostat/dht11.jpgbin0 -> 309233 bytes
-rw-r--r--additions/HW/thermostat/esp32.jpgbin0 -> 519900 bytes
-rw-r--r--additions/HW/thermostat/receiver-build.jpgbin0 -> 1148214 bytes
-rw-r--r--additions/HW/thermostat/rf-pair.jpgbin0 -> 1028565 bytes
-rw-r--r--additions/HW/thermostat/rf-receiver-diagram.pngbin0 -> 522839 bytes
-rw-r--r--additions/HW/thermostat/rf-receiver-diagram.svg227
-rw-r--r--additions/HW/thermostat/rf-receiver.jpgbin0 -> 238198 bytes
-rw-r--r--additions/HW/thermostat/rf-transmitter.jpgbin0 -> 161010 bytes
-rw-r--r--additions/HW/thermostat/rf-trasmitter-diagram.pngbin0 -> 1307724 bytes
-rw-r--r--additions/HW/thermostat/rf-trasmitter-diagram.svg113
-rw-r--r--additions/HW/thermostat/stereo-cable.jpgbin0 -> 659679 bytes
-rw-r--r--additions/HW/thermostat/thermometer-diagram.pngbin0 -> 381892 bytes
-rw-r--r--additions/HW/thermostat/thermometer-diagram.svg106
-rw-r--r--additions/HW/thermostat/thermometer.jpgbin0 -> 717833 bytes
-rw-r--r--additions/HW/thermostat/transmitter-build.jpgbin0 -> 1639281 bytes
-rw-r--r--src/HW/thermostat/.gitignore2
-rw-r--r--src/HW/thermostat/document.en.rest.txt105
l---------src/HW/thermostat/du2html.xsl1
19 files changed, 554 insertions, 0 deletions
diff --git a/additions/HW/thermostat/arduino.jpg b/additions/HW/thermostat/arduino.jpg
new file mode 100644
index 0000000..9b74ba9
--- /dev/null
+++ b/additions/HW/thermostat/arduino.jpg
Binary files differ
diff --git a/additions/HW/thermostat/dht11.jpg b/additions/HW/thermostat/dht11.jpg
new file mode 100644
index 0000000..fea0494
--- /dev/null
+++ b/additions/HW/thermostat/dht11.jpg
Binary files differ
diff --git a/additions/HW/thermostat/esp32.jpg b/additions/HW/thermostat/esp32.jpg
new file mode 100644
index 0000000..4b4e519
--- /dev/null
+++ b/additions/HW/thermostat/esp32.jpg
Binary files differ
diff --git a/additions/HW/thermostat/receiver-build.jpg b/additions/HW/thermostat/receiver-build.jpg
new file mode 100644
index 0000000..fcd7329
--- /dev/null
+++ b/additions/HW/thermostat/receiver-build.jpg
Binary files differ
diff --git a/additions/HW/thermostat/rf-pair.jpg b/additions/HW/thermostat/rf-pair.jpg
new file mode 100644
index 0000000..aa94256
--- /dev/null
+++ b/additions/HW/thermostat/rf-pair.jpg
Binary files differ
diff --git a/additions/HW/thermostat/rf-receiver-diagram.png b/additions/HW/thermostat/rf-receiver-diagram.png
new file mode 100644
index 0000000..c624076
--- /dev/null
+++ b/additions/HW/thermostat/rf-receiver-diagram.png
Binary files differ
diff --git a/additions/HW/thermostat/rf-receiver-diagram.svg b/additions/HW/thermostat/rf-receiver-diagram.svg
new file mode 100644
index 0000000..2df4b25
--- /dev/null
+++ b/additions/HW/thermostat/rf-receiver-diagram.svg
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 210 297"
+ version="1.1"
+ id="svg973"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="rf-receiver-diagram.svg">
+ <defs
+ id="defs967" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.7435743"
+ inkscape:cx="293.0769"
+ inkscape:cy="795.32465"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ showguides="false"
+ inkscape:window-width="3838"
+ inkscape:window-height="2124"
+ inkscape:window-x="0"
+ inkscape:window-y="5"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid1751"
+ units="mm"
+ spacingx="5"
+ spacingy="5" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata970">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/rf-receiver.jpg"
+ xlink:href="rf-receiver.jpg"
+ id="image1571"
+ preserveAspectRatio="none"
+ height="994.66669"
+ width="1692"
+ transform="matrix(0.0370314,0,0,0.0370314,117.94474,12.814585)"
+ style="stroke-width:7.14483643"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/stereo-cable.jpg"
+ xlink:href="stereo-cable.jpg"
+ id="image1627"
+ preserveAspectRatio="none"
+ height="2426.6667"
+ width="2253.3333"
+ transform="matrix(0.03042447,0,0,0.03042447,30.730948,12.814585)"
+ style="stroke-width:8.69639874"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ d="m 6.249932,8.3 v 0.9 l -0.5,0.1 1,0.2 -1,0.2 1,0.2 -1,0.2 1,0.2 -0.5,0.1 v 0.9"
+ transform="matrix(7.0555556,0,0,7.0555556,45.903257,33.438889)"
+ id="path1676"
+ sodipodi:nodetypes="cccccccccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <g
+ id="g1722"
+ transform="matrix(1,0,0,2.2757732,-11.905439,-171.45793)"
+ style="stroke-width:0.6628809"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150">
+ <path
+ id="path1678"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 14.699932,10.55 h 1.25"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1680"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 15.949932,10.3 v 0.5"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1682"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 16.449932,10.05 v 1"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1684"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 16.699932,10.3 h 0.5"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1686"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 16.949932,10.425 v -0.25"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1688"
+ transform="matrix(7.0555556,0,0,7.0555556,19.369807,54.512559)"
+ d="m 16.449932,10.55 h 1.25"
+ style="fill:none;stroke:#000000;stroke-width:0.06628809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:none;stroke:#00ff00;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
+ d="m 6.249932,8.3 v 0.9 l -0.5,0.1 1,0.2 -1,0.2 1,0.2 -1,0.2 1,0.2 -0.5,0.1 v 0.9"
+ transform="matrix(0,7.0555556,-7.0555556,0,194.72778,27.903257)"
+ id="path1676-7"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 434.64567,461.10237 h -94.48819 l 0,-37.79528"
+ id="path1739"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 340.15748,347.71654 -6.65233,-73.135"
+ id="path1741"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 491.33859,461.10237 h 113.38583 l 4.55393,-294.76825"
+ id="path1743"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#00ff00;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 434.64567,272.12599 -90.31577,1.94009"
+ id="path1745"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#00ff00;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 510.23623,272.12599 h 132.28346 l 3.87206,-103.73002"
+ id="path1747"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.02362204;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 340.15748,461.10237 0,37.79527 h 321.25985 l 5.07752,-338.74909"
+ id="path1749"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="472.44095"
+ y="309.92126"
+ id="text832"
+ transform="matrix(0.26458333,0,0,0.26458333,-4.3714005,0)"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150"><tspan
+ sodipodi:role="line"
+ id="tspan830"
+ x="472.44095"
+ y="309.92126">47kΩ</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ x="377.95276"
+ y="385.51181"
+ id="text836"
+ transform="matrix(0.26458333,0,0,0.26458333,-3.1824361,2.1170918)"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150"><tspan
+ sodipodi:role="line"
+ id="tspan834"
+ x="377.95276"
+ y="385.51181">22kΩ</tspan></text>
+ </g>
+</svg>
diff --git a/additions/HW/thermostat/rf-receiver.jpg b/additions/HW/thermostat/rf-receiver.jpg
new file mode 100644
index 0000000..3e4e217
--- /dev/null
+++ b/additions/HW/thermostat/rf-receiver.jpg
Binary files differ
diff --git a/additions/HW/thermostat/rf-transmitter.jpg b/additions/HW/thermostat/rf-transmitter.jpg
new file mode 100644
index 0000000..3c283ac
--- /dev/null
+++ b/additions/HW/thermostat/rf-transmitter.jpg
Binary files differ
diff --git a/additions/HW/thermostat/rf-trasmitter-diagram.png b/additions/HW/thermostat/rf-trasmitter-diagram.png
new file mode 100644
index 0000000..eb84d56
--- /dev/null
+++ b/additions/HW/thermostat/rf-trasmitter-diagram.png
Binary files differ
diff --git a/additions/HW/thermostat/rf-trasmitter-diagram.svg b/additions/HW/thermostat/rf-trasmitter-diagram.svg
new file mode 100644
index 0000000..1d8e885
--- /dev/null
+++ b/additions/HW/thermostat/rf-trasmitter-diagram.svg
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 210 297"
+ version="1.1"
+ id="svg5467"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="rf-trasmitter-diagram.svg">
+ <defs
+ id="defs5461" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.94"
+ inkscape:cx="309.41886"
+ inkscape:cy="560"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="3838"
+ inkscape:window-height="2124"
+ inkscape:window-x="0"
+ inkscape:window-y="5"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid6152"
+ units="mm"
+ spacingx="5"
+ spacingy="5" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata5464">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/rf-transmitter.jpg"
+ xlink:href="rf-transmitter.jpg"
+ inkscape:export-ydpi="150"
+ inkscape:export-xdpi="150"
+ style="stroke-width:6.80133772"
+ transform="matrix(0.03890166,0,0,0.03890166,85.411292,47)"
+ width="1149.3333"
+ height="1149.3333"
+ preserveAspectRatio="none"
+ id="image6078" />
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/arduino.jpg"
+ xlink:href="arduino.jpg"
+ inkscape:export-ydpi="150"
+ inkscape:export-xdpi="150"
+ style="stroke-width:6.94737434"
+ transform="matrix(0.03808393,0,0,0.03808393,48.432015,115.66023)"
+ width="3116"
+ height="4332"
+ preserveAspectRatio="none"
+ id="image6147" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 591.75258,708.0867 69.66475,-1.31504 V 385.51182 H 415.74804 l 0,-56.69292"
+ id="path6150"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 585.82677,668.97638 56.69292,1e-5 V 404.40945 H 377.95276 l 0,-75.59055"
+ id="path6154"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#00ff00;stroke-width:3.77952766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 226.77165,631.1811 -56.69291,10e-6 V 366.61418 H 396.8504 l 0,-37.79528"
+ id="path6156"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="ccccc"
+ inkscape:export-xdpi="150"
+ inkscape:export-ydpi="150" />
+ </g>
+</svg>
diff --git a/additions/HW/thermostat/stereo-cable.jpg b/additions/HW/thermostat/stereo-cable.jpg
new file mode 100644
index 0000000..66e943f
--- /dev/null
+++ b/additions/HW/thermostat/stereo-cable.jpg
Binary files differ
diff --git a/additions/HW/thermostat/thermometer-diagram.png b/additions/HW/thermostat/thermometer-diagram.png
new file mode 100644
index 0000000..365b874
--- /dev/null
+++ b/additions/HW/thermostat/thermometer-diagram.png
Binary files differ
diff --git a/additions/HW/thermostat/thermometer-diagram.svg b/additions/HW/thermostat/thermometer-diagram.svg
new file mode 100644
index 0000000..6eeace3
--- /dev/null
+++ b/additions/HW/thermostat/thermometer-diagram.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ viewBox="0 0 210 297"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="thermometer-diagram.svg">
+ <defs
+ id="defs2" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="3.88"
+ inkscape:cx="443.43102"
+ inkscape:cy="676.70146"
+ inkscape:document-units="mm"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="3838"
+ inkscape:window-height="2124"
+ inkscape:window-x="0"
+ inkscape:window-y="5"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/esp32.jpg"
+ xlink:href="esp32.jpg"
+ inkscape:export-ydpi="150.08569"
+ inkscape:export-xdpi="150.08569"
+ style="stroke-width:9.56562138"
+ transform="matrix(0.02765982,0,0,0.02765982,32.956168,85.607066)"
+ width="3389.3333"
+ height="1434.6667"
+ preserveAspectRatio="none"
+ id="image877" />
+ <image
+ sodipodi:absref="/home/dakkar/website/thenautilus/additions/HW/thermostat/dht11.jpg"
+ xlink:href="dht11.jpg"
+ inkscape:export-ydpi="150.08569"
+ inkscape:export-xdpi="150.08569"
+ style="stroke-width:9.11190224"
+ transform="matrix(0.02903711,0,0,0.02903711,141.85486,85.607066)"
+ width="1004"
+ height="2292"
+ preserveAspectRatio="none"
+ id="image939" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.8897638;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 327.06186,341.59185 V 245.2001 h 246.64949 v 119.58763"
+ id="path942"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cccc"
+ inkscape:export-xdpi="150.08569"
+ inkscape:export-ydpi="150.08569" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.8897638;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 318.04124,343.13824 V 236.69494 H 606.18557 V 364.78773"
+ id="path944"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cccc"
+ inkscape:export-xdpi="150.08569"
+ inkscape:export-ydpi="150.08569" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#00f700;stroke-width:1.8897638;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 248.71134,342.10731 V 212.72587 h 341.49484 v 150.51546"
+ id="path946"
+ inkscape:connector-curvature="0"
+ transform="scale(0.26458333)"
+ sodipodi:nodetypes="cccc"
+ inkscape:export-xdpi="150.08569"
+ inkscape:export-ydpi="150.08569" />
+ </g>
+</svg>
diff --git a/additions/HW/thermostat/thermometer.jpg b/additions/HW/thermostat/thermometer.jpg
new file mode 100644
index 0000000..cbe30b5
--- /dev/null
+++ b/additions/HW/thermostat/thermometer.jpg
Binary files differ
diff --git a/additions/HW/thermostat/transmitter-build.jpg b/additions/HW/thermostat/transmitter-build.jpg
new file mode 100644
index 0000000..c998f32
--- /dev/null
+++ b/additions/HW/thermostat/transmitter-build.jpg
Binary files differ
diff --git a/src/HW/thermostat/.gitignore b/src/HW/thermostat/.gitignore
new file mode 100644
index 0000000..08d33d4
--- /dev/null
+++ b/src/HW/thermostat/.gitignore
@@ -0,0 +1,2 @@
+/document.en.du.xml
+/document.it.du.xml
diff --git a/src/HW/thermostat/document.en.rest.txt b/src/HW/thermostat/document.en.rest.txt
new file mode 100644
index 0000000..d3c282d
--- /dev/null
+++ b/src/HW/thermostat/document.en.rest.txt
@@ -0,0 +1,105 @@
+===========================
+Building a smart thermostat
+===========================
+:CreationDate: 2018-03-25 12:47:54
+:Id: HW/thermostat
+:tags: - hardware
+ - software
+
+I'd like to have a computer-controller thermostat, that behaves the
+way I want to, doesn't need to talk to external servers, can measure
+temperature in multiple rooms.
+
+I'll need:
+
+* multiple cheap temperature sensors that can report their readings
+ wirelessly
+* a way to start / stop the boiler
+* some clever software to decide when to turn the boiler on/off based
+ on the temperature readings
+* a computer to run that software
+
+The sensors
+===========
+
+The current candidate is a ESP32_ running off (probably alkaline)
+batteries, using a DHT11_ sensor.
+
+.. figure:: thermometer-diagram.png
+ :align: center
+
+ Connections:
+
+ =============== ======
+ microcontroller sensor
+ =============== ======
+ +5V VCC
+ GND GND
+ pin 13 DATA
+ =============== ======
+
+`The code for the thermometer`_ uses the DHTesp_ library to read the
+sensor, and the `esp8266-oled-ssd1306`_ library to drive the
+display. The final sensor will most probably not have a display.
+
+.. _ESP32: https://en.wikipedia.org/wiki/ESP32
+.. _DHT11: https://www.adafruit.com/product/386
+.. _`The code for the thermometer:
+ https://www.thenautilus.net/cgit/thermostat/tree/sensor/thermostat.ino
+.. _DHTesp: https://github.com/beegee-tokyo/DHTesp
+.. _`esp8266-oled-ssd1306`:
+ https://github.com/ThingPulse/esp8266-oled-ssd1306/
+
+Talking to the boiler
+=====================
+
+Using the process described by `Steven Hale`_, `Dave Hope`_, `Ross
+Harper`_ and probably others, I connected a 433MHz receiver to my
+soundcard:
+
+.. figure:: rf-receiver-diagram.png
+ :align: center
+
+ Connections:
+
+ ============= =======
+ From To
+ ============= =======
+ Power + receiver VCC
+ Power - receiver GND
+ Power - microphone cable shielding via 22kΩ resistor
+ receiver data microphone cable channel via 47kΩ resistor
+ ============= =======
+
+By turning the knob the thermostat that was installed with the boiler,
+I generated the on and off signals. I recorded them with Audacity_,
+and spent a few hours puzzling them out (I'll write more details about
+this part at some future time).
+
+Then I built a transmitter:
+
+.. figure:: rf-trasmitter-diagram.png
+ :align: center
+
+ Connections:
+
+ =============== ===========
+ microcontroller transmitter
+ =============== ===========
+ +3.3V VCC
+ GND GND
+ pin 7 DATA
+ =============== ===========
+
+and wrote `code to send the correct pulse train`_. The receiver wired
+to the boiler recognises the signals and turns on and off.
+
+.. _`Steven Hale`:
+ http://www.stevenhale.co.uk/main/2013/08/home-automation-reverse-engineering-a-worcester-bosch-dt10rf-wireless-thermostat/
+.. _`Dave Hope`:
+ https://damn.technology/controlling-british-gas-wr1-receiver-arduino
+.. _`Ross Harper`:
+ http://rossharper.net/2015/11/decoding-a-siemens-rcr10433-thermostat-signal-to-control-a-boiler-from-a-raspberry-pi/
+.. _Audacity: https://www.audacityteam.org/
+.. _`code to send the correct pulse train`:
+ https://www.thenautilus.net/cgit/thermostat/tree/trasmitter/sender.ino
diff --git a/src/HW/thermostat/du2html.xsl b/src/HW/thermostat/du2html.xsl
new file mode 120000
index 0000000..e2487e0
--- /dev/null
+++ b/src/HW/thermostat/du2html.xsl
@@ -0,0 +1 @@
+../../../templates/du2html.xsl \ No newline at end of file