Entwicklung einer 1wire-zu-WLAN-Bridge

Begonnen von hexenmeister, 18 Dezember 2015, 01:03:45

Vorheriges Thema - Nächstes Thema

Lucky2k12

So ich hab jetzt eine Version mit TASKS_MAX=24 und 8 Devices pro Seite compiliert. Funktioniert soweit problemlos auf meinem Sonoff TH.
Danke @hexenmeister !

Allerdings hab ich es immer noch nicht geschafft, mit PlatformIO zu flashen (ich habe den ESP8266Flasher benutzt). Den Flash hatte ich vorher gelöscht und konnte mich dann auch problemlos mit dem Sonoff AP und 192.168.4.1 verbinden. 

Firmware für aktuelles  ESPEasy Build 20100 1024 anbei.
HP T610, HM, Jeelink, LGW, mapleCUL868+434

hexenmeister

Ich habe bis jetzt gar nicht versucht, mit PlatformIO zu flashen. Nehme auch immer den ESO8266Flasher. Der macht genau, was man will  :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

maci

Einer meiner Wemos D1 Mini mit ESP Easy liefert zwar noch Werte, aber ich ich kann mich seit heute nicht mehr anmelden.
Der  Webbrowser läuft und läuft, bis ich ihn  nach 1 Stunde evtl abbreche. Die IP kann ich pingen, das wars aber auch schon.
Ein Reset (Neustart) ändert nichts an dem Verhalten.

Ich denke dem hats etwas vom ESP Easy zerschossen.
Was kann noch sein?

Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

maci

Update:
Habe das Board nun reseted.
Neue Firmware aufgespielt, nun läuft es wieder.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

hexenmeister

Oh, merkwürdig. Meine laufen bis jetzt ohne Probleme. Habe leider keine Erklärung, aber gut, dass es wieder funktioniert :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Sven77

Zitat von: habeIchVergessen am 04 März 2017, 12:31:33
hab mal den WiFi-Kram mit rein gepackt.
Compilieren, Flashen und an AP "Esp1wire@<8-stellige Zahl>" anmelden. Passwort ist die Zahl.
Im Browser 192.168.4.1 öffnen und WLAN konfigurieren.

Versenden von Nachrichten habe ich erst mal deaktiviert.

In FHEM noch 36_KVPUDP.pm ins Verzeichnis FHEM kopieren, reload und "define myKVPUDP KVPUDP" ausführen.

Nach einem Reset vom WeMos sollte ein "list myKVPUDP" die IP + ein wenig anderen Kram vom WeMos ausspucken.

Nachtrag:
hab mich mal an Dokumentation versucht.

Auch wenn hier lange nichts passiert ist...
Ich wollte nun endlich mal meine 1wire-zu-WLAN-Bridge in Betrieb nehmen - da ich auf jeden Fall Alarme setzen will/muss und später auch mal weitere Gerätetypen mit einbauen will, kommt wohl ESPeasy nicht in Frage. Daher stürze ich mich mal auf das Werk von habeIchVergessen :-)

Ich musste gestern lange nach der hier zitierten Anleitung suchen - wie wär's, wenn die mit im Github in der README.MD aufgenommen wird?

Weiterhin: was kann man nach Inbetriebnahme mit dem Ding anstellen?
Das WebGUI beschränkt sich auf Konfigurationen - selbst bei einem DS1820 kann ich nur die Alarmtemperaturen setzen, aber sehe ich auch irgendwo die aktuell gemessene (wie im ESPeasy)?

Da ich (noch) kein FHEM laufen habe, würde mich auch eine allgemeine Anbindung bzw. Möglichkeit zum Auslesen der Sensoren interessieren. Das geht offenbar über MQTT (kenne ich, habe ich auch nicht) oder KVPUDP...
Gibt es zu letzterem eine Dokumentation bzw. einfache Beispiele, wie man das abfragen kann?
Werden UDP-Nachrichten aktiv gesendet, wenn ja: wer kennt eine Möglichkeit (außer Wireshark), diese an einer Console anzuzeigen?

PS: Beim Compilieren mit der ArduinoIDE kamen gestern leider zu viele Fehler, um es mal eben nebenbei zu beheben. Sobald ich das im Griff habe, kann ich die Temperaturanzeige ja selbst nachrüsten. Und vielleicht eine simple HTTP-GET-Abfrage...
VG, Sven

habeIchVergessen

#636
Esp1wire ist aktuell "nur" darauf ausgelegt, in einem konfigurierbaren Intervall eine Aktion auf den 1-wire Bus auszuführen.
z.B. kann alle 5 min. die Temperatur-Berechnung für alle unterstützten Devices gestartet werden. Nach Abschluss wird von allen Devices die Temperatur ausgelesen und per UDP-Multicast oder MQTT-Push an einen konfigurierten MQTT-Server gesendet.

In Wesentlichen wird "nur" die Konfiguration vom ESP und der 1-wire Devices im RAM gespeichert. Der Rest ist stateless.

bzgl. kompilieren ist die Doku nicht ausreichend?

mit perl UDP-Multicast Nachrichten erzeugen

use IO::Socket::Multicast;

# create a new UDP socket ready to read datagrams on port 1100
my $s = IO::Socket::Multicast->new(LocalPort=>1100);

# Set time to live on outgoing multicast packets
$s->mcast_ttl(1);

# Multicast a message to group 225.0.0.1
$s->mcast_send('OK VALUES TEST 0 1=Test,','239.0.0.57:12345');
$s->mcast_send('OK VALUES TEST 0 1=Test,','239.0.0.57:12345');


empfangen

use IO::Socket::Multicast;

use constant mCastAddr => '239.0.0.57';
use constant mCastPort => '12345';

# create a new UDP socket ready to read datagrams on port 1100
my $s = IO::Socket::Multicast->new
  (
    Domain    => AF_INET,
    Proto     => 'udp',
    LocalPort => mCastPort,
    ReuseAddr => 1,     # true
  );

die "couldn\'t create socket!" if (!defined($s));

# Add a multicast group
$s->mcast_add(mCastAddr) || die "set multicast group failed!";

print "\nrecv from multicast address " .  mCastAddr . ":" . mCastPort . "\n";

# recv a message
while (1) {
        my $data;
        next unless $s->recv($data, 1024);
        print $s->peerhost() . ": " . $data . "\n";
}

Sven77

Zitat von: habeIchVergessen am 12 Oktober 2018, 14:08:23
bzgl. kompilieren ist die Doku nicht ausreichend?
Entweder das, oder ich bin zu blöd...  ;D

Spaß beiseite: er meckert über eine fehlende "PubSubClient.h" - ohne MQTT-Support kompiliert er alles ordentlich.
Es gibt ja hunderte von MQTT-Bibliotheken in der Arduino IDE, ist die EspMqtt.h eine davon - oder woher bekommt man die PubSubClient.h ?
VG, Sven

habeIchVergessen

hab die fehlende Bibliothek als Submodule ergänzt. sind nicht 100% identisch aber immerhin der gleiche Autor.

bisher nur kompilieren getestet.

majorshark

Wo kann man denn noch SMD bestückte PCB´s beziehen. Eine reicht mir.  ;)
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

hexenmeister

Zitat von: majorshark am 17 Oktober 2018, 20:43:49
Wo kann man denn noch SMD bestückte PCB´s beziehen. Eine reicht mir.  ;)
Eine habe ich noch liegen. Mit Wemos-Modul, oder ohne?
Schaffe jedoch erst in ca. 1,5 Wochen (bin unterwegs). Ich hoffe, du hast nicht so dringend. Mags Du dich Ende nächster Woche noch mal melden?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

majorshark

Klasse, die nehme ich. Wemos und die anderen Kleinteile habe ich. Ich mach mir mal ne Wiedervorlage auf den 29.10.  ;)
Ich komme dann per PM rum.

Danke.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

pole23

Hallo,

ist es möglich, hier noch Module zu erwerben?

AxelSchweiss

Hi
Ich hätte Interesse an einer Platine ... gibts da noch welche ?

Ist es möglich den ESP runter zu lassen und nur den I2C für den Raspberry abzugreifen und mittels OWFS abzufragen?
Der 1-Wire Chip wir von OWFS unterstützt.


hexenmeister

Zitat von: pole23 am 21 April 2019, 10:22:14
Hallo,

ist es möglich, hier noch Module zu erwerben?
Das Projekt ist zwar schon länger beendet, aber etwas restposten habe ich übrig. Müsste aber zusammenlöten. Was genau und wieviel benötigst du? Am besten den Anwendungszweck beschreiben.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy