EMS > ESP8266-12 WLAN-Modul

OP #3979905
Lesenswert?

Der Buderus EMS-Bus wird (hier) bisher in vier Threads:

Beitrag "Logamatic 2107 Schnittstelle"
Beitrag "Buderus EMS-"Gateway" mit PIC18F / Sammelbestellung"
Beitrag "Faktensammlung Buderus EMS"
Beitrag "EMS > Adapter > NetIO > Raspi"

sowie in Ingo.F's Wiki: http://ems-gateway.myds.me/dokuwiki/doku.php
detailliert beschrieben.

Dieser neue Thread beschäftigt sich mit dem Ersatz des NETIO durch
den SoC ESP8266, eine MCU mit integriertem WLAN-Modul und einigen
freien GPIOs.

Auf dem Markt sind derzeit verschiedene ESP-Module erhältlich, welche
sich (je nach Quelle) in der Preislage von 3,00€ - 10,00€ bewegen.

Momentan bin ich dabei, eine neue Platine mit dem ESP8266, ESP-12 zu 
entwickeln. Das eigentliche EMS-Interface basiert auf dem bereits beim 
ESP-GW bewährten Design.

Die doppelseitige Platine wird wieder bei "DirtyPCBs" gefertigt.

Wesentliche Merkmale:
- Größe: ca 5x10 cm²
- EMS-Interface basiert auf Niffkos Design
- "konventionelle" Bauteile - (SMD bekomme ich nicht hingetattert)
- Spannungsversorgung direkt vom EMS-Bus
- Alle relevanten GPIOs und Signale auf 14-pol. Stiftleiste
  -> Erweiterung via Huckepack-Platine möglich
- Software-Update über serielle Schnittstelle, Arduino-komp. Header

Die Software selbst ist momentan noch im frühen Experimental-Stadium.
Primäre Funktionen:
- EMS-GW kompatibel zum "collectord"
- Basiskonfiguration über "telnet"

Schätzkosten:
- Leerplatine:     2,00 € (DirtyPCBs)
- ESP8266-ESP12:   5,00 €
- Buckkonverter:   6,00 €
- Bauteile:      <10,00 €
#3983384
Lesenswert?

Hallo Juergen,

Die Leiterplatte ist genau das, was ich versuchte zu entwerfen, aber war 
mein design noch nicht fertig
Wenn es eine zusätzliche gibt, möchte Ich es gerne von Ihnen zu kaufen.

Software that I was designing was build upon
https://github.com/tuanpmt/esp_mqtt and updating the 
https://github.com/tuanpmt/esp_mqtt/blob/master/driver/uart.c
uart0_rx_intr_handler to change the frame error handling to identify the 
messages.
Still very early stage.
OP #3983493
Lesenswert?

Hier ist das Redesign der Platine, mit massefreiem Antennenbereich.
Btw, es kann auch das pinkompatible Modul ESP-07 eingesetzt werden, 
welches einen u.fl Antennenanschluß besitzt.

Nach Abschluß einiger Kleinigkeiten (GPIO4/5 vertauscht, 
Header-Bezeichnung) wird das Layout an DirtyPCBs gehen, d.h. die 
Platinen werden in 4-8 Wochen zur Verfügung stehen.

Der Code wird, incl PCB-Schema,  als GIT-Repo zur Verfügung gestellt, 
sobald er ein wenig restrukturiert ist.
Angehängte Dateien:
OP #3985837
Lesenswert?

Habe das Board nochmal komplett neu designed, da ich mit Eagles 
Toprouter nicht zufrieden war.

- Debug Tx Anschluß entfällt, da bereits auf Ext. Port (GPIO2)
- CH_PD auf Ext. Port geführt
- Längsregler mit LED anstelle 3er Dioden. Als Seiteneffekt gibts eine
  Betriebsanzeige - Farbe ganz nach Gusto...
- EMS-Tx Ausgang (LM334) auf 100R reduziert
- 4x 910R in 2x 470R optimiert
- Bestückung kompakter - Boardgröße 77x50 mm²
- RC-Kombination CH_PD und REST lt. Espressif HW-SDK

@Linkcore Sch.: sobald die Boards fertig sind, gebe ich hier nochmal 
Bescheid. Dauert bis zu 8 Wochen...
Angehängte Dateien:
Gast #3986428
Lesenswert?

Hi Jürgen

Super Idee!

Frage,
bekommst du noch einen

MCP23S17 mit
Extra 2x 9 Pinheader für

7 6 5 4 3 2 1 0 INT
I I I I I I I I I
I I I I I I I I I

also
PORTA IIIIIIII
PORTB IIIIIIII
INT A I
INT B I
------
Adressierung:
A0   als offener löt jumper I / 0 bzw einfach auf GND
A1   als offener löt jumper I / 0 bzw einfach auf GND
A2   als offener löt jumper I / 0 bzw einfach auf GND
------


offene lötjumper
SPI
GPIO Pins
MISO - > GPIO 13
MOSI - > GPIO 12
CLK  - > echter GPIO 5 also falsch printed GPIO 4
CS   - > echter GPIO 4 also falsch printed GPIO 5

lg rudi ;-)
#3986490
Lesenswert?

Hallo Jürgen,

nach dem Boardlayout ist der GND NUR mit GPIO15 verbunden und hat keine 
Verbindung zum GND-Fläche.
Ist das nur ein Fehler im Bild, oder ist das in Wirklichkeit auch so.

Wäre es nicht noch besser unterhalb der Antenne die GND-FLäche etwas 
auszuschneiden?
gehört die Gerade linie neben der geschlängelten Linie vom WLAN-Chip 
auch zur Antenne? Der wäre ja direkt über der GND-Fläche.

Gruß
IngoF
OP #3986687
Lesenswert?

Danke, Ingo. Soll natürlich nicht so sein.
Massefläche ist bereits verkleinert, sodaß die Antenne frei liegt.

@Rudi:
Auf dem Extension-Port sind alle notwendigen Signale für Erweiterungen
herausgeführt - GPIO15 kommt da auch mit drauf, sodaß für den Betrieb
ohne Extension-Board ein einfacher Jumper ausreicht.
GPIO4/GPIO5 werde ich nicht tauschen, da
a) ESP-07 diesen Fehler nicht hat
b) nicht ausgeschlossen ist, das neuere ESP-12 ein korrektes Layout 
haben
c) das Basis-Interface GPIO4/GPIO5 nicht benötigt.
#3990033
Lesenswert?

Hi Jürgen

Did you find a way to avoid crap output from the ESP8266 going into the 
EMS bus?
When I start I did no find a way to directly avoid any message. Hence I 
was thinking that it maybe better to add a tri-state buffer and connect 
it to one of the GPIO pins.

Then we can boot the ESP without any worry that the bootmessages and 
crap is send on the EMS bus, and when properly initialised we can 
connect the bus by steering the GPIO ping

e.g. something like 74LS244 Octal Tri-state Buffer / CD4503 Hex 
Tri-state Buffer.

secondly, when serial FTDI is connected we could also use the DTR / RTS 
line to trigger the mode (programming/non program mode) and when we have 
the buffer in place we could drop the pins to control it.

[entschuldigen Sie mich für mein Englisch, mein Deutsch ist nicht so 
gut)
OP #3990070
Lesenswert?

The ESP bootmsg doesn't disturb the EMS, 'cause it's send with 74880baud 
- only a few, fast glitches on the EMS bus.

I dislike the DTR/RTS, cause it adds additional HW overhead w/o any
real benefit.
Ideally, the serial prog is required only once - for initial load.
Later on, update will be handled OtA - either by TFTP (like 
esp8266-frankenstein) or via cloud update.

Btw - PCBs are at the board house...
OP #4004903
Lesenswert?

Da die Boards nun auf dem Wege nach Europa sind, habe ich eine 
Stückliste erstellt und bei Reichelt als Warenkorb angelegt:
https://secure.reichelt.de/index.html?&ACTION=20&LA=5010&AWKID=1025427&PROVID=2084

Den 10µF MKS-2 gibt es leider nicht bei R. Ich bezog ihn bei C* unter 
der Bestellnummer 450662-62. Gibt bestimmt günstigere Quellen oder eine 
bipolare Alternative. Ob auch ein 6,8uF (den gäbe es nämlich) für den 
gleitenden Mittelwert ausreicht kann ich leider nicht sagen. Vielleicht 
auch nen SMD 10uF Keramik reinfrickeln (diese Alternative habe ich beim 
Design übsersehen) - Platz ist ja ausreichend.

Als Buck-Converter wird der D24V3F3 von POLOLU verwendet, der passende 
Sockel (1x4) ist im Warenkorb.

Das ESP-12 Modul habe ich aus Rudis ;) 
Beitrag "Sammelbestellung WLAN2Serial ESP8266". Alternativ kann auch 
ein ESP-07 verwendet werden. Der Unterschied besteht in der Möglichkeit, 
eine externe Antenne anzuschließen.

Basierend auf den aktuellen Preisen komme ich auf folgende 
Materialkosten (ohne Versand):
Warenkorb:   4,72 €
10µF MKS:    4,46 €
D24V3F3:     3,95 €
ESP-12:     ~3,50 €
OP #4014795
Lesenswert?

Der ESP-12 ist ein SoC mit integriertem WLAN-Modul und besitzt kein 
Ethernet-Interface.

Wenn Du das Board nur teilweise bestückst kannst Du es wie den Konverter 
für den NetIO (bis auf die LEDs) verwenden.

Spannungsversorgung extern (NetIO) bzw über EMS-Bus. In letzterem Falle 
den 3V3 Buckkonverter gegen den 5V-Typen tauschen.
Gast #4021559
Lesenswert?

Hallo Jürgen,

gibt es eigentlich schon eine Software für den ESP8266 ?

Ich habe jetzt deine Platinen bestückt.Ich habe ein Terminalprogramm 
drangehängt und es kommen anscheinend vernünftige Daten. Da ich im 
Moment kein Net-IO habe überlege ich den ESP-8266 zu verwenden.

mfg

Andreas
OP #4021669
Lesenswert?

Momentan verwende ich eine modifizierte "ESP8266-transparent-bridge"
und logge die Daten auf meiner Synlology als ASCII-Hexdump:
1
DiskStation> tail ems-1424363043.log
2
[      1454.327692 280.255  16.384 080  16] 08 00 18 1b 00 00 00 00 00 00 00 2f 08 00 ? 7f:7f
3
[      1456.944667 101.985  33.792 080  33] 08 00 18 00 35 01 ab 64 00 01 01 30 00 83 00 7d 00 80 00 00 00 ff 30 43 00 00 ff 00 10 83 00 ? c1:c1
4
[      1457.225545 280.878  16.384 080  16] 08 00 18 1b 00 00 00 00 00 00 00 2f 08 00 ? 7f:7f
5
[      1457.642332 121.446  31.744 080  31] 08 00 19 00 00 46 01 aa 01 87 ff ff ff 64 01 21 a6 04 2f 64 00 00 00 04 2d 5c 01 21 50 ? 78:78
6
[      1457.917175 274.843   9.216 080   9] 08 00 14 00 19 94 27 ? 19:19
7
[      1459.042660  89.913  33.792 080  33] 08 00 18 00 35 01 aa 64 00 01 01 30 00 83 00 7d 00 80 00 00 00 ff 30 43 00 00 ff 00 10 83 00 ? 96:96
8
[      1459.322914 280.254  16.384 080  16] 08 00 18 1b 00 00 00 00 00 00 00 2f 08 00 ? 7f:7f
9
[      1460.041704  92.931  33.792 080  33] 08 00 18 00 35 01 a9 64 00 01 01 30 00 83 00 7d 00 80 00 00 00 ff 30 43 00 00 ff 00 10 83 00 ? 6f:6f
10
[      1460.321958 280.254  16.384 080  16] 08 00 18 1b 00 00 00 00 00 00 00 2f 08 00 ? 7f:7f
11
[      1464.037883  57.028  33.792 080  33] 08 00 18 00 35 01 a8 64 00 01 01 30 00 83 00 7d 00 80 00 00 00 ff 30 43 00 00 ff 00 10 83 00 ? 38:38

Data logger:
1
netcat -w 3 192.168.254.134 23 >>ems-$(date +%s).log

Läuft ziemlich stabil - nur alle 4-5 Tage mal ein Aussetzer im WLAN...

Grüble noch immer, ob ich auf FreeRTOS oder Espressif-SDK basierend 
bauen werde. Minimaler Funktionsumfang wie das EMSGW, um direkt mit dem 
collectord zu kommunizieren.

Ziel:
- EMS Controll Port (zum Loggen, um Commands direkt abzusetzen und 
verschiedene Betriebsparameter [SSID, IP etc] einzustellen)
- EMS Data Port - wie beim NetIO
- TFTP basierender Software-Update
- einfacher SQL-Client, um direkt in die DB zu schreiben

Eric wollte sich etwas mit MQTT bauen - ich weiß jedoch nicht, ober er 
schon mit Coding begonnen hat.

Werde diese Tage die modifizierte Bridge auf Github (zusammen mit den
kompletten Layouts) zur Verfügung stellen.
OP #4230392
Lesenswert?

Ich habe das Projekt jetzt mal auf ESP-LINK von Thorsten von Eicken 
umgestellt.
Vorteil:
 - Konfiguration über Web-Browser
 - integrierter HTTPD
 - einfacher Update (OTA)

Bin noch heftigst am ausdünnen, da einige Funktionen definitiv nicht 
benötigt werden und das Flash auf einem ESP07 knapp wird.

Aktuell werden lediglich folgende Funktionen unterstützt:
- WLAN Konfiguration über Browser
- Zeitabfrage über NTP-Server
- Anzeige WLAN-Einstellungen
- einfache Logausgabe (Hexdump) in Browser-Fenster
- Log-Ausgabe (binär) über Telnet

Das Log hat folgendes Format:
NTP-Timestamp (s, uint32)
ESP-Timestamp (µS, uint32)
Länge EMS-Paket (uint16)
EMS-Datenpaket
Trailer (0xe51a, uint16)

Was fehlt:
- nahezu alles, was mit dem Collectord zu tun hat
- einfache Webmaske mit rudimentären EMS-Daten (Laufzeit, Temp)
- Unterstützung beim Webinterface

Die Projektfiles sowie die Beschreibung sind auf github:
https://github.com/susisstrolch/ems-esp-link
OP #4234124
Lesenswert?

Hier mal ein paar Screenshots:
1. Eingangsseite, mit WLAN Status
   Hier soll später die Kurzübersicht über den Heizungsstatus kommen
   (Systemzeit, Betriebsdauer, Aussentemperatur, Rücklauftemperatur...)
2. Konfigurationsseite
   Ist für die initiale Konfiguration (oder bei AP-Wechsel) wichtig
   Todo: NTP-Timeserver (momentan 0.europe.pool.ntp.org)
         Collector-Daemon Adresse:Port
3. Aktueller EMS-Dump (mit Hilfsinfos)
   4 Byte NTP-Timestamp (1s)
   4 Byte System Timestamp (1uS)
   2 Byte EMS Paketlänge
   <EMS-Paket>
   2 Byte Trailer (0xe5 0x1a)
4. System-Debug Screen
Angehängte Dateien:
(Firma: www.harerod.de) Persönliche Seite #4301820
Lesenswert?

Hi Jürgen,
sehr cooles Projekt. Schade, dass ich keine eigene Heizung habe. ;)

Ich habe mir gerade Dein Projekt von github gezogen und mir gleich mal 
das Userinterface im html-Verzeichnis angeschaut. Das kommt vom Äußeren 
her deutlich nüchterner rüber, als Deinem obenstehenden Post.

Was muss man denn noch dazugeben, um so ein schickes buntes 
HTML-User-Interface zu bekommen?

Danke Dir,
 Marcus

P.S.: Ah, ok: Du sparst Platz und hast die Köpfe welche die Stylesheets 
laden von den Körpern getrennt. So bekommt man natürlich viel mehr in 
die Gefriertruhe, will sagen: ins Dataflash.
OP #4305248
Lesenswert?

Momentan baue ich gerade das GitHUB-Repo um, damit ich Änderungen von 
Thorsten einfacher mergen kann.

master:
  Der aktuelle Entwicklungszweig - momentan Parent(stable)

stable:
  aktueller, lauffähiger Build (basiert noch weitgehendst auf der
  Version 1.04 von TvE) mit m.E. sinnvollen Merges aus der
  2.x Version (Makefile, HTTPD).
  Dieser Zweig wird immer dann aktualisiert, wenn Updates vorliegen.

TvEmaster:
  Das upstream Repository von TvE - mit minimalen (non-EMS) Anpassungen

EMS-Link:
  die zukünftige Softwareversion, basierend auf Rev 2.x von TvE. Kann ab
  und an mal ein wenig strubbelig sein ;)
  Enthält dann aber (zukünftig!) Goddies wie mqtt, mysql

Alle anderen Repos sind Basteleien - und demzufolge mit extremer 
Vorsicht zu geniessen!
OP #4307364
Lesenswert?

Um die Langzeitstabilität zu testen, habe ich ein Java-Programm
angehängt, welches das Raw-Protokoll zu einem Syslog-Server
weiterleitet.

Aufruf:
  java -jar EmsSyslog.jar EMS-Link Syslog-Server
Entweder in einer "screen" Session starten oder via
  nohup ... &
im Hintergrund laufen lassen.

@gmann, danke für die JAVA-Vorlage.
Für die Selbstkompilierer: Ich verwende syslog4j...
Angehängte Dateien:
OP #4319970
Lesenswert?

Und hier nochmal zwei Korrekturen für die Hardware.

1. Der Bestückungsaufdruck für T1 und T2 ist verdreht!
   Bitte darauf achten, dass der Emitter zum unteren Platinenrand -
   sprich Richtung Klemmleiste - zeigt!

2. T1 wird ziemlich brutal geschaltet, da ich im Design den Basis-
   widerstand vergessen habe. Dies kann zu Störungen führen, wenn
   der Bus bereits stärker belastet ist, da beim Wechsel Break/Idle
   ein heftiger Peak entsteht.

   Ein Widerstand 10k - 20k zwischen LED-Kathode und der Basis von T1
   hilft hier ungemein.
   Auf der Platinen-Oberseite die Verbindung zwischen Kathode und Basis
   auftrennen. Auf der Unterseite passt dann der Widerstand schön
   zwischen Basis und den Anschluss des 10k Vorwiderstandes der LED.

Mit den angegebenen Modifikationen nimmt der Adapter ca 40mA im Dauer-
Sendebetrieb auf.
Angehängte Dateien:
#4373309
Lesenswert?

Hi Juergen,

I was wondering if your eagle PCB layouts have been updated so that they 
reflect the fixes as stated in the "update" posts.

If not, am I correct that
* R6 10k should be replaced by a 5.6k
* connect the VIN from the Buckconveter to the SHDN pin
* only the silkscreen for the two transistors is swapped, pinning is 
correct
* the connection between the LED cathode and transistor base has to be 
cut and a 10~20k resistor should replace the orignal trace

/Bjorn

Entschuldigung, ich spreche kein Deutsch.
OP #4373357
Lesenswert?

Hi Bjorn,
no, I didn't change the eagle layout until now.
* exchanging R6 isn't really necessary. A longtime test with two boards 
didn't show any differences in raw data.
° Buckconverter: yep, suggested change otherwise you can get random 
brown outs (very rare, happened only on my desktop)
° T1/T2 - yep - silk screen is swapped
° LED - additional resistor is necessary (I really vapored a LED because 
of the missing resistor)

Even for existing layouts, it's no big deal to do those changes.
- buckconverter: I simply used a jumper to connect the two pins
- LED resistor: can be easily patched on the solder side

cheers,
Jürgen
Gast #4420021
Lesenswert?

Moin Leute,

es ist soweit ich habe Zeit mich endlich mit dem Projekt zu 
beschäftigen.
Hatte vorher schon Ethersex am laufen. Lief ein Jahr problemlos.
Mit der neuen Heizperiode ist die Hardware irgendwie ausgestiegen.
Wenn ich den Adapter an die Heizung (Buderus GB152T) stecke geht diese 
in Störung.
Aber das ist ein anderes Thema. Ich will ja den ESP8266 (Suuuuper 
Teil!!!!)

Zuerst möchte ich die Software auf den ESP8266 bringen, um schon mal das 
GUI zu testen, aber leider bekomme ich es nicht hin.
Bin auch nicht der unbedingte Profi.
Zur Sache:
Im Git hängt ja ein File mit der kompilierten Firmware -> ems-link.tgz.
Richtig???
An welche Adressen sind die einzelnen Dateien zu flashen wenn unter Win8 
der ESP8266Flasher.exe benutzt wird???
Ich habe auch versucht unter lubuntu VM (.ova von Espressiv) selbst zu 
kompilieren -> kein Erfolg. Ich erspare euch die Fehlermeldungen. Dieser 
Sonntag ist futsch.
Meine Frage: gibt es ein ToDo mit -
- welche Pakete müssen installiert werden
- wie muss die Verzeichnisstruktur aussehen
- wie muss das Makefile angepasst werden

Ich habe bisher mit der Arduino IDE für ESP8266 gearbeitet und maximale 
Erfolge zu verzeichnen (DS18B2 mit mysql Client, Zeitschaltuhr, SPIFF, 
sntp, FHEM Anbindung etc.).

Danke für jeden Hinweis!!

@NorbertD
OP #4420695
Lesenswert?

Nun, da habe ich wohl stillschweigend zu viel Erfahrung mit der ESP8266 
Buildumgebung vorausgesetzt...

Flashen über die serielle Schnittstelle
=======================================
Die Datei ems-link.tgz enthält alle benötigten Blobs:
1
boot_v1.4(b1).bin => 0x00000
2
user1.bin         => 0x01000
3
blank.bin         => 0x3FE000
4
blank.bin         => 0x7FE000 (zusätzlich bei >512KB Flash)

Ab diesem Zeitpunkt kannst du via WLAN flashen (sofern die 
Basiskonfiguration - Umschaltung von AP -> STA) durchgeführt wurde.

Da ich nichts zum ESPFlasher.exe sagen kann (ich arbeite nur mit  Linux) 
empfehle ich hierfür das Espressif Flashtool zu verwenden.

Hier der Link zur aktuellen Version 
(FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar):
  http://bbs.espressif.com/viewtopic.php?f=57&t=433#p1658

OTA - Over The Air Update
=========================
Du benötigst "curl" (Command-Line Tool) umd das Binary zu flashen. Des 
Weiteren MUSS das ESP8266-Modul min 1MByte Flash-Memory haben (bspw. 
ESP-12E).

curl -m 10 -s http://$hostname/flash/next
- zeigt das NÄCHSTE zu verwendende Binary an

curl -m 10 -XPOST --data-binary "@user1.bin" 
http://$hostname/flash/upload
- schreibt user1.bin in das Flash-Memory.

curl -m 10 -s "http://$hostname/flash/reboot";
- Reboot EMS-Link

curl -m 10 $v -s "http://$hostname/flash/next";
- zeigt das NÄCHSTE zu verwendende Binary an (im Beispiel: user2.bin)

(Wenn ich in die Verlegenheit komme, mit Windows arbeiten zu müssen,
verwende ich MobaXterm, da dies eine vernünftige Umgebung - cygwin- mit 
bringt.
Zusätzliche Pakete kannst du - wie in einem Debian-System - via apt-get 
nachinstallieren - wie beispielsweise curl...)

Selbst bauen - Linux
==========================
Notwendige Repositories:
- esp-open-sdk (lädt das passende SDK automatisch herunter)
- ems-esp-link

git, make, autoconf und gcc sollten installiert sein. Details:
-> esp-open-sdk: README.md
-> ems-esp-link: README.md
1
mkdir dev
2
cd dev
3
git clone https://github.com/pfalcon/esp-open-sdk.git
4
git clone https://github.com/susisstrolch/ems-esp-link.git
5
cd esp-open-sdk
6
# baue Toolchain, download SDK
7
make STANDALONE=y
8
cd ..
9
unzip esp-open-sdk/esp_iot_sdk_v1.4.0_15_09_18.zip
10
cd ems-esp-link
11
make

Flashen via Seriellschnittstelle: make flash
Flash Over the Air: make wiflash


Selbst bauen - Windows
======================
Hierfür musst du leider eine der Suchmaschinen deiner Wahl bemühen...
#4421467
Lesenswert?

Hallo Jürgen,

bin noch auf Arbeit, aber schon mal vielen Dank für Deine schnelle und 
umfangreiche Hilfe. DANKE!!!!
Hab wie gesagt bislang mit Arduino IDE gearbeitet (hat bisher gereicht).
Kann auch OTA SPIFF etc..

Werd mal Linux testen.

1MB Flash - kein Problem. Hab alle Flash-Chips ausgetauscht gegen 
Winbond 25Q64FWSIG (8MB). War ne ziemliche Frickelei beim löten.
Geht aber und funzt super.

Melde mich dann.

@NorbertD
OP #4422095
Lesenswert?

Moin,

mach mal Deine Änderung im Makefile rückgängig (git checkout Makefile).
Ich meine, das alte Build-System hatte da ein paar Probleme mit 
Abhängigkeiten.

Du brauchst das Makefile nicht ändern. Es ist so ausgelegt, das 
ENV-Variablen Priorität haben (deshalb die ?= Zuweisungen).
1
ESPPORT=/dev/buspirate make flash
2
MODULES= make wiflash

Du kannst Dir auch eine "local.conf" erstellen, in der Deine Änderungen 
stehen.
1
# helper for parent Makefile
2
LOCALCONF = yes
3

4
# --------------- build environment   ---------------
5
#ESPTOOL   ?= $(abspath ../esp-open-sdk/esptool/esptool.py)
6
ESPPORT   ?= /dev/esp8266
7
ESPBAUD   ?= 115200
8
SDK_BASE  ?= $(abspath ../esp_iot_sdk_v1.5.1)
9

10
# --------------- chipset configuration   ---------------
11
# Pick your flash size: "512KB", "1MB", or "4MB"
12
FLASH_SIZE ?= 4MB
13

14
# --------------- esp-link config options ---------------
15
STA_SSID ?= AccessPoint
16
STA_PASS ?= topsecret
17
CHANGE_TO_STA ?= yes
18

19
# Optional Modules: ems, syslog, mysql, sntp
20
MODULES = mqtt rest ems syslog
21

22
# --------------- EMS-link config options ---------------
23
# hostname or IP address for wifi flashing
24
ESP_HOSTNAME        ?= ems-link02
25

26
ifneq (,$(findstring ems,$(MODULES)))
27
        CFLAGS          += -DEMSBUS
28
endif
29

30
ifneq (,$(findstring syslog,$(MODULES)))
31
        CFLAGS          += -DSYSLOG
32
endif
33

34
ifneq (,$(findstring mysql,$(MODULES)))
35
        CFLAGS          += -DMYSQL
36
endif
#4423168
Lesenswert?

Moin,

komme nicht weiter :-( der Kopf brummt. Mach für heute Schluss.

Ist Jürgen eigentlich der Einzige der das Build geschafft hat ???

Vielleicht noch jemand anderes der's mal versuchen kann.

Oder ich lass einfach die Finger davon und arbeite mit den fertigen 
Blobs.

Läuft ja auch schon. Wichtig ist ja eigentlich das Frontend mit mySQL.

Also dann für heute: guts nächtle
OP #4423205
Lesenswert?

Um dein Problem einzugrenzen:
1
make clean
2
VERBOSE=1 make 2>&1 >build.log
3
ls -ltrR build >lsltrR.log
und schieb' die beiden Logfiles hoch...

Wichtig: lass mal die MODULES so wie sie waren...

Nun - für den Anschluss an einen CollectorD fehlt noch ein wenig...
(hauptsächlich Zeit...). Und der SQL-Treiber muß "lediglich" von C++ 
(Arduino) auf plain C umgestrickt werden.

Zumindest kann man via Telnet-Port die Daten mitlesen (so wie die kleine 
Syslog-JAVA APP) und ggf aufbereitet in einen SQL-Server schieben, um 
dann mit den WebFrontend drauf zu zu greifen.

Die Schnittstelle zum CollectorD kommt, sobald ich mal wieder etwas mehr 
Zeit finde und die Funktionen aus Rev 1.x in die 2.x übernommen habe.
#4423558
Lesenswert?

Moin Moin Jürgen,

da hab ich wohl schon zu viel erwartet. Ist ja auch ne Menge Arbeit!!!
Ich meinte den Ethersex NetIo und den Adapter einfach gegen die
ESP8266-Platine austauschen zu können und wieder das Browserinterface
von moosy nutzen zu können.
Als "Middleware" hatte ich einen BananaPi im Einsatz.

Nun gut dann gilt es halt abzuwarten. Leider kann ich nichts zum Projekt
beitragen. Ich bin kein Spezialist. Kann nur "nachbauen und anpassen" 
;-).

Apropo nachbauen. Ich hab die Logfiles wie empfohlen mit rangehängt.
Das make läuft offensichtlich nicht komplett ins Logfile.
Deswegen mal in buildscreen.log schauen.
Da ist der Terminalscreen vom kompletten Vorgang.

Have a nice day.
Angehängte Dateien:
#4423583
Lesenswert?

Ja. Build ist leer. Ist mir auch schon aufgefallen.
Aber woran liegt's???

ls wie in buildscreen.log.txt (vorletzte Zeile) zu sehen ausgeführt.
Share ist ein Gemeinsamer Folder der VirtualBox VM auf LW C vom Host.
Platz ist genug:

esp8266@esp8266-VirtualBox:/mnt/Share$ df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
udev            492M    4.0K  492M    1% /dev
tmpfs           101M    868K  100M    1% /run
/dev/sda1       6.8G    3.5G  2.9G   55% /
none            4.0K       0  4.0K    0% /sys/fs/cgroup
none            5.0M       0  5.0M    0% /run/lock
none            501M       0  501M    0% /run/shm
none            100M     20K  100M    1% /run/user
none            210G    116G   94G   56% /media/sf_share
none            210G    116G   94G   56% /mnt/Share
esp8266@esp8266-VirtualBox:/mnt/Share$
OP #4424774
Lesenswert?

Das hängt m.E. definitiv an deiner Build-Umgebung.
Was verwendest du denn?
Hast du "esp-open-sdk" gebaut und installiert?
Was gibt dir der Befehl "id" in deiner Build-Umgebung aus?
Wie viel Speicher (Befehl: free) hat deine Umgebung?
Mach mal "make clean; make; dmesg|tail 64"
und "tail -64 /var/log/messages"
und  "tail -64 /var/log/syslog"
#4426219
Lesenswert?

Hallo Jürgen,

kurzer Zwischenstand.

Hab gestern (bzw. Rechner lief über Nacht) noch mal versucht direkt im 
Filesystem der VM (also nicht im Shared Folder) das esp-open-sdk neu zu 
bauen.
Lief gegenüber dem ersten mal verdammt lange, so das ich schon mal zu 
Bett gegangen bin.
Heute morgen dann: "No space left on device" .
Die VM von Espressif ist ja auch nur 8,6 GB groß.
Hab das log mal drangehängt.

Werd am Wochenende weitermachen.

Melde mich dann.
Angehängte Dateien:
#4429697
Lesenswert?

Soooooooooooooooo. Das war vielleicht ne schwere Geburt!!

Diverse Probleme mühsam behoben. Diese Wochenende ist für'n Ars....
Neue VM mit Ubuntu 15.10 erstellt.
esp-open-sdk gebaut -> dauert ca. 3h (auf meinem Rechner!?)
ems-esp-link gebaut -> massive Probleme c_types.h java Pfade etc.

aber Alles irgendwie!!?? hinbekommen

Bauen -> geht
Flashen seriell -> geht (muss als root gemacht werden. sonst kein 
Zugriff auf ttyUSB0)
Flashen OTA -> geht nicht wg. Wechsel zu STA-Mode nicht möglich.

Im Browser (am Handy mit AP verbunden) wird das lokale WLAN nicht 
gefunden.
Und somit ist unter "Wifi Association" kein Wechsel möglich.

Hab local.conf eingebunden und dort
STA_SSID ?= meineSSID
STA_PASS ?= meinPassword
CHANGE_TO_STA ?= yes
eingefügt.

Geht aber nich. Irgendwelche Tips????

Bin weiter am Testen.

Melde mich wieder.
Für heute reichts erstmal. Gibt ja auch gleich nen Tatort zum Abschalten 
(Ach ne sehe grade heute gibts nen Polizeiruf. Na egal Hauptsache 
Feierabend)
OP #4440341
Lesenswert?

Ich habe den Build noch einmal auf einem frisch installierten Linux-Mint 
in einer VMware (2GB Mem, 2CPU) ausprobiert.
1
sudo apt-get install make unrar autoconf automake libtool gcc g++ gperf \
2
    flex bison texinfo gawk ncurses-dev libexpat-dev python python-serial \
3
    sed git libz-dev
4

5
mkdir develop
6
cd develop
7
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
8
git clone https://github.com/susisstrolch/ems-esp-link.git
9

10
cd esp-open-sdk
11
make
12
cd ..
13
unzip esp-open-sdk/esp_iot_sdk_v1.4.0_15_09_18.zip
14
cd ems-esp-link
15
make
Wird ohne jegliche Warnings sauber kompiliert.

Bzgl Flash via Seriell-Schnittstelle:
Einfach den User in die Gruppe "dialout" aufnehmen - bspw. mittels "sudo 
vim /etc/group" die Zeile "dialout:x:20:" um den Benutzernamen ergänzen.
#4447979
Lesenswert?

Hallo Jürgen,

hat alles so funktioniert wie du es beschrieben hast! Ohne Mucken und 
Murren und ohne einen Error !!?? Und auch deutlich schneller als bei 
Ubuntu.

Soll es wirklich nur an Ubuntu gelegen haben?? Hab dort eigentlich genau 
das gleiche gemacht wie bei Mint.

Nun ja, "Stromes Wege sind unergründlich". Es funktioniert ja jetzt,
und ich muss nicht wissen "Was die Welt im Innersten zusammenhält".
Aus dem Alter bin ich raus.

Allerdings gibt es, wenn alles geflasht ist, bei der "Wifi 
Configuration" des ESP noch Probleme.
Kann aber auch an meiner Infrastruktur liegen. Hat heute schon mal 
funktioniert.
Der ESP findet keine WLAN-Netze bei denen er sich anmelden könnte.
Hab mal ne Thoshiba FlashAir-SD zusätzlich i.B. genommen (ist ja ein 
AP).
Da waren auf einmal die WLANs beim ESP da. Meine Fritz!Box u. flashair.

Aber ich werde die Sache jetzt aber nicht weiter forcieren, aber 
demnächst mal die Platine bestücken u. i.B. nehmen.

Die Mint-VM wird für spätere Aktionen erstmal gesichert.

Wie ist denn der Stand des Projektes sonst so? Gibt es Fortschritte bei 
mySQL u. GUI?

Vielen Dank noch mal für deine "aufopferungsvolle" Hilfe ;-) und eine 
schönes WE.

Ich bleib dran. Zeit ist im Monent bischen knapp. Wird noch schlimmer 
wenn der Frühling "demnächst" kommt. Wohne auf dem Dorf mit Haus u. 
Garten.

@Norbert
Gast #4495106
Lesenswert?

Hi Juergen,

sorry about posting this in English, because my German is not good.

I am interested in the PCBs if you can ship to Belgium.

Before I make the decision I still have some questions:
- is this the correct BOM
  * 
https://secure.reichelt.de/index.html?&ACTION=20&AWKID=1034698&PROVID=2084
  * esp8266-12
  * which voltage converter?

- what I can do with this?
 * is it compatible with buderus GB162-30T40S + rc35
 * can I view/change settings?
 * can I turn on/off the boiler ignoring the RC35's settnigs?
OP #4504337
Lesenswert?

Hi mws,

sure, I can ship the PCBs to Belgium. Simply send me a private Msg with 
your complete address.

1 PCB: 2,90€
2 PCBs: 5,50€

I bought the step-down converter from 
http://www.exp-tech.de/pololu-3-3v-300ma-step-down-spannungsregler-d24v3f3.

The BOM is nearly complete - found that I missed the clamp connecter.
Should be a RM 5.04 one...

ES8266-12E are available on eBay (or via AliExpress).

Currently, you can only log the EMS events via a JAVA application to a 
syslog server. Software is still in development, but I'm pretty short in 
time, so it will still need a bit.

Plan is, to make the function compatible to NetIO, with buildin 
WebInterface and MQTT.
Gast #4856902
Lesenswert?

Hallo Juergen_o,
bei meiner Suche nach einer Möglichkeit meine Heizung smarter zu machen 
bin ich auf diesen Thread gekommen. Das klingt wirklich nach einer Menge 
Hirnschmalz, die hier bereits reingesteckt wurde. Respekt!

Ich suche nach einer Möglichkeit die Heizung mit MQTT zu verbinden. 
Damit möchte ich vor allem Daten loggen (Brennerlaufzeit für die 
Verbrauchsmessung, Außentemperatur etc). Und ggf. Urlaubsmodus zu 
aktivieren oder andere Parameter zu ändern).

Wie weit ist die die Integration schon gediehen und welche Möglichkeiten 
bietet diese?

Für die Sicherheit wäre es bestimmt auch sinnvoll bei der Kommunikation 
mit MQTT eine zertifikatsbasierte Authentifizierung zu verwenden.  Die 
bösen Buben sind ja heute überall :-)
Für ESP-12F und den Mosquitto Server hab ich das schon gemacht. Das ist 
nicht sonderlich kompliziert.

Hast zu zufällig auch noch ein PCB übrig das ich käuflich erwerben 
könnte?

Gruß,
Sven
#5043467
Lesenswert?

Hi Jürgen,

das Projekt hört sich super an.
Wollte mir eigentlich die nächsten Tage die Variante mit dem NetIO 
basteln und bin auf deine Version aufmerksam geworden.

Ist das Projekt inzwischen so weit lauffähig, das ich die Werte mit dem 
ColletorD auslesen kann?

Gibt es noch Leerplatinen?

Viele Grüße:
Andreas
Gast #5050344
Lesenswert?

Hello,

sorry in english (ist besser).
i made the attached pcb for connecting EMS bus, but it is designed at 
5V.
Because i need 3V3 for ESP8266 which resistor do i need to replace at 
the upper right part 4k7/4k7???
Is it a 100ohm resistor so i get 4k7/100ohm????
If i change all my voltages to 3V3 instead including PSU (Pin #8) of the 
LM393 of 5V it would work???

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren