diff --git a/README.md b/README.md index 8fe80c27c..e9cf2414e 100644 --- a/README.md +++ b/README.md @@ -103,21 +103,23 @@ I've included a prototype boards you can build yourself on a breadboard. One par We need the Rx/Tx of the ESP8266 for flashing, so the code in ``emsuart.cpp`` switches the UART pins to use RX1 and TX1 (GPIO13/D7 and GPIO15/D8 respectively). This also prevents any bogus stack data being sent to EMS bus when the ESP8266 decides to crash like after a Watch Dog Reset. -The breadboard layout was done using [DIY Layout Creator](https://github.com/bancika/diy-layout-creator) and sources files are included in the repo. +The breadboard layout was done using [DIY Layout Creator](https://github.com/bancika/diy-layout-creator) and sources files are included in this repo. -Read Only | Both Read and Write ---- | --- -![Read only](doc/schematics/readonly.JPG) | ![Read and Write)](doc/schematics/readwrite.JPG) +![Breadboard Circuit](doc/schematics/breadboard.png) -The schematic (designed by [susisstrolch](https://github.com/susisstrolch/EMS-ESP8266_12-PCB)): +The schematic used (as designed by [susisstrolch](https://github.com/susisstrolch/EMS-ESP8266_12-PCB)): ![Schematic](doc/schematics/circuit.png) -*Optionally I've also added 2 polyfuses between the EMS and the two inductors which are not shown in the layout or schematics above.* +*Optionally I've also added 2 polyfuses between the EMS and the two inductors* -Below is an early messy prototype circuit using a NodeMcu2 with the additional LEDs and 5v buck converter. The inputs from the EMS are not shown but there are at J60 and J58 at the top left. If you don't want to build the circuit [bbqkees](http://www.domoticz.com/forum/memberlist.php?mode=viewprofile&u=1736) can sell you one which looks like the photo below running on a Wemos D1 Mini: +And here's an early prototype circuit using a NodeMcu2 with the additional LEDs added and 5v buck converter to power the ESP8266 also from the EMS line. -![Breadboard](doc/schematics/breadboard.png) | ![WemosD1](doc/schematics/wemos_kees.png) +![Breadboard](doc/schematics/breadboard_example.png) + +And lastly if you don't fancy building the circuit [bbqkees](http://www.domoticz.com/forum/memberlist.php?mode=viewprofile&u=1736) can sell you one which looks like the photo below running on a Wemos D1 Mini: + +![WemosD1](doc/schematics/wemos_kees.png) diff --git a/doc/schematics/breadboard.png b/doc/schematics/breadboard.png index ac033dc5a..59e4f8f4e 100644 Binary files a/doc/schematics/breadboard.png and b/doc/schematics/breadboard.png differ diff --git a/doc/schematics/breadboard_example.png b/doc/schematics/breadboard_example.png new file mode 100644 index 000000000..211a0039e Binary files /dev/null and b/doc/schematics/breadboard_example.png differ diff --git a/doc/schematics/ems_full.diy b/doc/schematics/ems_full.diy index 69ddf190d..ac9e1a144 100644 --- a/doc/schematics/ems_full.diy +++ b/doc/schematics/ems_full.diy @@ -79,7 +79,7 @@ in - + ROUND 0.8 @@ -91,7 +91,7 @@ - + ROUND _1 @@ -100,7 +100,7 @@ - + ROUND _1 @@ -109,250 +109,7 @@ - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - + ROUND _1 @@ -366,15 +123,6 @@ _1 - - - - - - ROUND - - _1 - @@ -388,79 +136,7 @@ - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - + ROUND _1 @@ -478,43 +154,7 @@ - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - + ROUND _1 @@ -579,24 +219,6 @@ _1 - - Pad1 - - - - ROUND - - _1 - - - Pad2 - - - - ROUND - - _1 - @@ -610,7 +232,7 @@ - + ROUND _1 @@ -619,7 +241,7 @@ - + ROUND _1 @@ -633,15 +255,6 @@ _1 - - - - - - ROUND - - _1 - @@ -682,110 +295,56 @@ Pad3 - - + + ROUND - - _1 - - - Pad4 - - - - ROUND - - _1 - - - Pad5 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - + _1 Pad6 - - + + ROUND - - _1 - - - Pad7 - - - - ROUND - - _1 - - - Pad8 - - - - ROUND - + _1 - - + + ROUND - + _1 - - + + ROUND - + _1 - - + + ROUND - + _1 - - + + ROUND - + _1 @@ -810,276 +369,101 @@ - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - + + ROUND - + _1 - - + + ROUND - + _1 - - - - ROUND - - _1 - - - - - + + ROUND - + _1 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - + + ROUND - + _1 - - + + ROUND - + _1 Pad9 - - - + + + ROUND - + _1 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - + + ROUND - + _1 - - - - ROUND - - _1 - - - - - + + ROUND - - _1 - - - - - - - ROUND - - _1 - - - Pad10 - - - - ROUND - - _1 - - - Pad11 - - - - ROUND - + _1 Pad12 - - + + ROUND - + _1 Pad13 - - + + ROUND - + _1 Pad14 - - + + ROUND - - _1 - - - Pad15 - - - - ROUND - + _1 @@ -1104,20 +488,20 @@ - - + + ROUND - + _1 - - + + ROUND - + _1 @@ -1142,21 +526,41 @@ - - - + + + ROUND - + + _1 + + + + + 0.09 + in + + + 0 + 0 + 0 + 255 + + + ROUND + + 0.8 + mm + _1 W1 127 - - - - + + + + 0 @@ -1171,10 +575,10 @@ W2 127 - - - - + + + + FOUR @@ -1239,52 +643,6 @@ false - - C5 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - 240 - 230 - 140 - 255 - - - 168 - 161 - 98 - 255 - - - - 204 - 204 - 204 - 255 - - NAME - false - - 0.1 - in - - - 68.0 - pF - - _63V - D4 127 @@ -1318,7 +676,12 @@ 255 255 - + + 204 + 204 + 204 + 255 + NAME false BAT46 @@ -1348,7 +711,7 @@ - + NAME false BAT46 @@ -1373,7 +736,7 @@ - + NAME false BAT46 @@ -1398,7 +761,7 @@ - + NAME false BAT46 @@ -1423,7 +786,7 @@ - + NAME false BAT46 @@ -1572,8 +935,8 @@ - - + + @@ -1607,7 +970,7 @@ - + NAME false BAT46 @@ -1638,10 +1001,13 @@ 255 - + NAME false - + + 0.1 + in + 10.0 uF @@ -1689,7 +1055,7 @@ J1 127 - + @@ -1742,13 +1108,23 @@ - - + + 240 + 230 + 140 + 255 + + + 168 + 161 + 98 + 255 + - + NAME false - + 1.0 nF @@ -1759,10 +1135,10 @@ RX 127 - - - - + + + + 0 @@ -1796,7 +1172,7 @@ C11 127 - 0.15 + 0.1 in @@ -1805,15 +1181,15 @@ - + - + NAME false - + 100.0 nF @@ -1825,7 +1201,7 @@ 127 - + 255 @@ -1911,8 +1287,8 @@ 255 255 - - + + 255 0 @@ -1930,8 +1306,8 @@ - - + + 0 0 @@ -2033,11 +1409,11 @@ - - + + 255 - 255 + 102 0 255 @@ -2152,8 +1528,8 @@ - - + + 255 255 @@ -2168,9 +1544,9 @@ 127 - - - + + + 255 @@ -2323,8 +1699,8 @@ 255 255 - - + + 0 0 @@ -2342,8 +1718,8 @@ - - + + 255 0 @@ -2358,12 +1734,12 @@ 127 - - - + + + - 0 + 255 255 0 255 @@ -2371,6 +1747,135 @@ FOUR _22 + + GND1 + + + 0 + 0 + 0 + 255 + + + 0.15 + in + + DEFAULT + + + Polyfuse1 + + + + + + 0 + 0 + 255 + 255 + + + + Polyfuse2 + + + + + + + + LN1 + 127 + + + + + + 255 + 255 + 255 + 255 + + + + + 204 + 204 + 204 + 255 + + NAME + false + + 51 + 255 + 51 + 255 + + + + LN1 + 127 + + + + + + 255 + 255 + 255 + 255 + + + 0 + 0 + 0 + 255 + + + + 204 + 204 + 204 + 255 + + NAME + false + + 51 + 255 + 51 + 255 + + + + C5 + 127 + + 0.15 + in + + + 0.125 + in + + + + + + + + + + NAME + false + + + 68.0 + pF + + _63V + BOM1 @@ -2382,7 +1887,7 @@ L3 - + EMS bus @@ -2391,7 +1896,7 @@ - weight + width @@ -2406,18 +1911,18 @@ posture - - tracking - - - - width - - family Tahoma + + weight + + + + tracking + + @@ -2428,7 +1933,7 @@ L3 - + RX @@ -2437,7 +1942,7 @@ - weight + width @@ -2452,18 +1957,18 @@ posture - - tracking - - - - width - - family Tahoma + + weight + + + + tracking + + @@ -2488,7 +1993,7 @@ - weight + width @@ -2503,18 +2008,18 @@ posture - - tracking - - - - width - - family Tahoma + + weight + + + + tracking + + @@ -2539,7 +2044,7 @@ - weight + width @@ -2554,18 +2059,18 @@ posture - - tracking - - - - width - - family Tahoma + + weight + + + + tracking + + @@ -2581,7 +2086,7 @@ L3 - + TX @@ -2590,7 +2095,7 @@ - weight + width @@ -2605,18 +2110,120 @@ posture + + family + Tahoma + + + weight + + tracking + + + + 0 + 0 + 0 + 255 + +
false
+ CENTER + CENTER + DEFAULT +
+ + L3 + + UEMS + + + + superscript + + width + + size + 14.0 + + + transform + + + + posture + 0.2 + family Tahoma + + weight + 2.0 + + + tracking + + + + + + 0 + 0 + 0 + 255 + +
false
+ CENTER + CENTER + DEFAULT +
+ + L3 + + UREF + + + + superscript + + + + width + + + + size + 14.0 + + + transform + + + + posture + 0.2 + + + family + Tahoma + + + weight + 2.0 + + + tracking + + @@ -2641,7 +2248,7 @@ - weight + width @@ -2656,18 +2263,18 @@ posture - - tracking - - - - width - - family Tahoma + + weight + + + + tracking + + \ No newline at end of file diff --git a/doc/schematics/ems_readonly.diy b/doc/schematics/ems_readonly.diy deleted file mode 100644 index 2a4e8b15a..000000000 --- a/doc/schematics/ems_readonly.diy +++ /dev/null @@ -1,1818 +0,0 @@ - - - - 3 - 40 - 0 - - EMS circuit - Paul - Boiler project - - 10.0 - cm - - - 12.0 - cm - - - 0.1 - in - - - - BB1 - - Half - Inline - _180 - - - Trace1 - 127 - - - - - - - - 0 - 0 - 0 - 255 - - FOUR - - 1.0 - mm - - _1 - - - - - 0.09 - in - - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - Pad1 - - - - ROUND - - _1 - - - Pad2 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - Pad3 - - - - ROUND - - _1 - - - Pad4 - - - - ROUND - - _1 - - - Pad5 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - Pad6 - - - - ROUND - - _1 - - - Pad7 - - - - ROUND - - _1 - - - Pad8 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - W1 - 127 - - - - - - - - 0 - 255 - 0 - 255 - - FOUR - _22 - - - W2 - 127 - - - - - - - - FOUR - _22 - - - L2 - 127 - - 0.3 - in - - - 0.08 - in - - - - - - - 0 - 0 - 255 - 255 - - - - NAME - false - ABOVE - - 4.7 - uH - - false - - - L1 - 127 - - 0.3 - in - - - 0.08 - in - - - - - - - - - NAME - false - ABOVE - - 4.7 - uH - - false - - - C5 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - 240 - 230 - 140 - 255 - - - 168 - 161 - 98 - 255 - - - - 204 - 204 - 204 - 255 - - NAME - false - - 0.1 - in - - - 68.0 - pF - - _63V - - - D4 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - 225 - 240 - 255 - 255 - - - 128 - 128 - 128 - 255 - - - 255 - 255 - 255 - 255 - - - NAME - false - BAT46 - - - 230 - 110 - 49 - 255 - - - - D2 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D5 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D1 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D3 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - LM393N - 127 - - DEFAULT - _8 - - 0.1 - in - - - 0.3 - in - - - - - - - - - - - - BOTH - - - 89 - 89 - 89 - 255 - - - - 89 - 89 - 89 - 255 - - NO - - - R6 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 10.0 - K - - HALF - _5_BAND - Standard - - - R7 - 127 - - - - - - - - - - - NAME - false - - 360.0 - R - - HALF - _5_BAND - Standard - - - R9 - 127 - - - - - - - - - - - NAME - false - - 47.0 - K - - HALF - _5_BAND - Standard - - - R10 - 127 - - - - - - - - - - - NAME - false - - 10.0 - K - - HALF - _5_BAND - Standard - - - D6 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - C8 - 127 - - 5.0 - mm - - - - - - - 107 - 109 - 206 - 255 - - - 74 - 76 - 144 - 255 - - - - NAME - false - - - 10.0 - uF - - _63V - - 140 - 172 - 234 - 255 - - - true - false - - 0.2 - in - - false - - - R12 - 127 - - - - - - - - - - - NAME - false - - 4.7 - K - - HALF - _5_BAND - Standard - - - J1 - 127 - - - - - - - - - 0 - 0 - 0 - 255 - - NAME - false - - - R13 - 127 - - - - - - - - - - - NAME - false - - 4.7 - K - - HALF - _5_BAND - Standard - - - C9 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - - - - NAME - false - - - 1.0 - nF - - _63V - - - RX - 127 - - - - - - - - 0 - 0 - 255 - 255 - - FOUR - _22 - - - J2 - 127 - - - - - - - - - 255 - 51 - 51 - 255 - - NAME - false - - - C11 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - - - - NAME - false - - - 100.0 - nF - - _63V - - - J1 - 127 - - - - - - 255 - 255 - 255 - 255 - - - 0 - 0 - 0 - 255 - - - - 0 - 0 - 0 - 255 - - NAME - false - - - R11 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 100.0 - K - - HALF - _5_BAND - Standard - - - J3 - 127 - - - - - - 255 - 255 - 255 - 255 - - - - - 255 - 0 - 0 - 255 - - NAME - false - - - J4 - 127 - - - - - - - - - 0 - 0 - 0 - 255 - - NAME - false - - - BOM1 - - 10.0 - cm - - - - - - L3 - - EMS - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - RX - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - 5V - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - GND - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
-
- - - - - - - size - - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - -
\ No newline at end of file diff --git a/doc/schematics/readonly.JPG b/doc/schematics/readonly.JPG deleted file mode 100644 index 3764ba68f..000000000 Binary files a/doc/schematics/readonly.JPG and /dev/null differ diff --git a/doc/schematics/readwrite.JPG b/doc/schematics/readwrite.JPG deleted file mode 100644 index 43aef8245..000000000 Binary files a/doc/schematics/readwrite.JPG and /dev/null differ diff --git a/src/ems.cpp b/src/ems.cpp index f0b02644b..18e40f7e1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -359,6 +359,8 @@ void _processType(uint8_t * telegram, uint8_t length) { strcpy(src_s, "Boiler"); } else if (src == EMS_ID_THERMOSTAT) { strcpy(src_s, "Thermostat"); + } else { + strcpy(src_s, ""); } // was it sent specifically to us? diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 8e08326ad..587a9867f 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -134,7 +134,7 @@ void ICACHE_FLASH_ATTR emsuart_init() { ETS_UART_INTR_ATTACH(emsuart_rx_intr_handler, NULL); ETS_UART_INTR_ENABLE(); - // when all ready swap Rx and Tx pins (to use GPIO13 (D7) and GPIO15 (D8) ) + // swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively system_uart_swap(); }