Entwicklung einer 1wire-zu-WLAN-Bridge

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

Vorheriges Thema - Nächstes Thema

habeIchVergessen

#465
Eigentlich sollte es unverändert 1-wire Devices finden.
Ggf. Kannst du _DEBUG_SETUP und _DEBUG_TIMING in der ino-Datei mit dem langen Namen setzen.

Nachtrag:
Als IDE verwende ich 1.6.5 r5

Ausgabe sollte so aussehen (WiFi natürlich nur so wie konfiguriert):

Hostname: ESP_xxxxxx
MAC:      60:01:xx:xx:xx:xx
starting WiFi
Wifi not connected
starting SoftAP: done (192.168.4.1)
starting WebServer

scanning i2c bus:
found DS2482-100 @ 0x18
done (4.43 ms)

bus #1: scanning .. (261.79 ms)
list all devices
device: 10.503fe4020800.40 -> DS18S20 res: 12 bit alarm low: 20 high: 25
device: 12.c4d8c1000000.14 -> DS2406
Wifi connected: 192.xxx.xxx.xxx/255.255.255.0 192.xxx.xxx.xxx
stopping SoftAP: done
httpHandleConfig: 17 ms
httpHandleConfig: 11 ms
bus #1: alarm search  (5.41 ms)
bus #1: alarm search  (5.27 ms)

Pf@nne

Im Arduino-Board war der serielle Debug-Port aus..... ::)
FHEM auf: DS415+ (Master), Raspberry Pi 2

Pf@nne

Wo kann ich die GPIOs für 1W und I2C einstellen?
FHEM auf: DS415+ (Master), Raspberry Pi 2

habeIchVergessen

probeI2C und probeGPIO haben Default-Parameter.
i2c hat SDA und SCL als default
gpio 0

HotteFred

Zitat von: habeIchVergessen am 03 März 2017, 22:08:38
Kann der DS2438 schon auf die Positiv-Liste?

Bin mir nicht sicher. Habe deinen Code von GitHub verwendet.
Ein DS18B20 funktioniert.
Den DS2438 angeschlossen kommt im Serial Monitor immer wieder das hier im Sekundentakt:



bus #1: scanning
Exception (29):
epc1=0x402037c9 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000008 depc=0x00000000

ctx: cont
sp: 3ffef3c0 end: 3ffef6b0 offset: 01a0

>>>stack>>>
3ffef560:  00000020 0000000c 00000100 40205025 
3ffef570:  40106fb4 00000001 00000100 3fff05f4 
3ffef580:  3ffef5e0 3fffbfec 3fff0624 401004d8 
3ffef590:  00000000 00000080 3fff05dc 402056b8 
3ffef5a0:  3ffef5e0 3fffbfec 3fff0624 40203ae3 
3ffef5b0:  00000012 00000000 3fff0624 00000000 
3ffef5c0:  3ffee674 000000e9 000000e9 3ffee680 
3ffef5d0:  0005447e 00000002 3fff05f4 40203bbf 
3ffef5e0:  7121e426 2d000001 3fff0614 40205ca8 
3ffef5f0:  00000000 3fff05f4 3fff0614 4020277b 
3ffef600:  00000000 00000000 00000000 00000000 
3ffef610:  00000000 00000000 3ffee548 402025e9 
3ffef620:  00000000 3fff05dc 3ffee548 40202694 
3ffef630:  feefeffe feefeffe 3ffef6f0 3ffee680 
3ffef640:  3fffdad0 3ffee548 3ffef6f0 40204335 
3ffef650:  feefeffe feefeffe feefeffe feefeffe 
3ffef660:  feefeffe feefeffe feefeffe feefeffe 
3ffef670:  feefeffe feefeffe feefeffe feefeffe 
3ffef680:  feefeffe feefeffe feefeffe feefeffe 
3ffef690:  3fffdad0 00000000 3ffee678 402057b0 
3ffef6a0:  feefeffe feefeffe 3ffee690 40100718 
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v60000318
~ld


VG
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

ergerd hat auch Probleme mit mehreren Sensoren. Konnten wir bis dato nicht lösen. läuft der DS2438 solo?

Pf@nne

Sollte das Speichern der MQTT-Daten aus dem WebIF schon laufen?

#ifdef _MQTT_SUPPORT
Serial.println("mqtt: " + server.arg("mqtt"));
    if (server.arg("mqtt") == "submit") {
      if (server.arg("action") == "test") {
        Serial.println(server.arg("action"));
        espConfig.setValue("mqttServer", server.arg("server"));
        espConfig.setValue("mqttPort", server.arg("port"));
        espConfig.setValue("mqttUser", server.arg("user"));
        espConfig.setValue("mqttPassword", server.arg("password"));
//        configEspMqtt();
      } else if (server.arg("action") == "setup") {
        Serial.println(server.arg("action"));
        espConfig.saveToFile();
        Serial.println("mqttServer");
        Serial.println(espConfig.getValue("mqttServer"));
      }
      server.client().setNoDelay(true);
      server.sendHeader("Location", "/");
      server.send(303, "text/plain", "See Other");
      return;
    }
#endif


Das Auslesen nach einem "Setup" der klappt irgendwie nicht.
FHEM auf: DS415+ (Master), Raspberry Pi 2

habeIchVergessen

#472
Zitat von: Pf@nne am 05 März 2017, 21:54:03
Sollte das Speichern der MQTT-Daten aus dem WebIF schon laufen?
da sind zwei Button erst Test drücken (überträgt die Änderung) und Setup speichert dann.

habeIchVergessen

#473
Zitat von: HotteFred am 05 März 2017, 21:21:29
Bin mir nicht sicher. Habe deinen Code von GitHub verwendet.
Ein DS18B20 funktioniert.
Den DS2438 angeschlossen kommt im Serial Monitor immer wieder das hier im Sekundentakt:

habe den Code auf github aktualisiert. habe noch einen Bug gefunden.
wenn weiterhin Abstürze passieren, dann bitte in loop() mal den Aufruf von alarmSearch(); auskommentieren (da sehe ich die Ursache).

Nachtrag: schon wieder aktualisiert. alarmSearch habe ich nochmals angepasst
Nachtrag 2: ich denke jetzt den Schuldigen gefunden zu haben  (mich).

habeIchVergessen

#474
ich denke den Schuldigen ausgemacht zu haben (mich).

im Ernst. wireSearch vom Busmaster hat bei jeder Suche (eine Schleife) immer wieder die Suchbedingungen zurückgesetzt. Dadurch wurden immer Temperatur-Sensoren gefunden, die ein Alarm haben (default sind 70 - 75°C; einmal gesetzt merken die sich das; auch nach power off). was ausser mir noch keiner geändert hat. Somit erklärt sich, warum "nur" bei den Anderen es nicht geht.

Code auf github aktualisiert

habeIchVergessen

#475
ergerd hat immer noch Probleme. Könnt ihr bitte eine Rückmeldung geben, bei wem was läuft?
Anzahl und Art der Sensoren, i2c/gpio, 3,3/5V + WeMos-Version (auf der Rückseite bei RX & TX sind 2 oder mehr Bauteile).

HotteFred

#476
ZitatBei mir kommt immer noch die Ausgabe wie in meinem letzten Post mit der Exception.

VG


Edit: Stimmt nicht. Hab den falschen Code geflashed.

Jetzt kommt:



Hostname:
MAC:      5C:CF:7F:AA:C2:A3
starting WiFi
Wifi not connected
starting SoftAP: done (192.168.4.1)
starting WebServer

scanning i2c bus:
done (0.66 ms)

probe gpio #0: ok

bus #1: scanning .+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Exception (29):
epc1=0x40208b03 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000008 depc=0x00000000

ctx: cont
sp: 3fff0930 end: 3fff0c30 offset: 01a0

>>>stack>>>
3fff0ad0:  3fff3094 3fff306c 3fff0c78 3fffbfdc 
3fff0ae0:  3fff3094 3fff306c 3fff0b60 401004d8 
3fff0af0:  40106fc0 00000001 3fff0b60 4021068c 
3fff0b00:  3fff3094 3fff306c 3fff0b60 40208df1 
3fff0b10:  00000000 00000080 3fff3054 4020ca46 
3fff0b20:  3fff0b60 00000000 00000007 00000001 
3fff0b30:  00000012 00000000 3fff3094 40212941 
3fff0b40:  3ffefbf4 00000372 00000372 3ffefc00 
3fff0b50:  0477aaff 00000002 3fff306c 40208ecc 
3fff0b60:  7121e426 2d000001 3fff2a6c 4021258c 
3fff0b70:  00000000 00000001 3fff2a6c 402079af 
3fff0b80:  00000000 00000000 00000000 00000000 
3fff0b90:  00000000 00000000 3ffefad2 3ffefc00 
3fff0ba0:  00000000 0477a2c5 3fff0c78 4020bb34 
3fff0bb0:  00000000 00000000 00000000 3ffefc00 
3fff0bc0:  3fffdad0 3ffefa60 3fff0c78 4020bd2d 
3fff0bd0:  feefeffe feefeffe feefeffe feefeffe 
3fff0be0:  feefeffe feefeffe feefeffe feefeffe 
3fff0bf0:  feefeffe feefeffe feefeffe feefeffe 
3fff0c00:  feefeffe feefeffe feefeffe feefeffe 
3fff0c10:  3fffdad0 00000000 3ffefbf8 402107c0 
3fff0c20:  feefeffe feefeffe 3ffefc10 40100718 
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

habeIchVergessen

#477
scheinbar wird auf dem gpio nicht aufsteigend erkannt. egal war eh ein bug

habe den code aktualisiert.

die lange +-Liste waren mehr als 550 Devices (natürlich nur fiktive, da immer das gleiche).

ergerd

Hm, ich habe beide Counter dran und sie werden registriert.

starting WiFi
Wifi not connected
starting SoftAP: done (192.168.4.1)
starting WebServer

scanning i2c bus:
found DS2482-100 @ 0x18
done (4.47 ms)

bus #1: scanning .+ (135.50 ms)
list all devices
device: 1d.2bd20d000000.cd -> DS2423
device: 1d.404c0f000000.e4 -> DS2423
bus #1: alarm search  (5.22 ms)
bus #1: alarm search  (5.15 ms)


Allerdings erhalte ich keine Count-Werte.

Grüße
ergerd
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

habeIchVergessen

counter werden alle 60s abgefragt


void loop() {
  // read alarm
  if ((lastAlarm + 5000) < millis()) {
 
  // read counter
  if ((lastCounter + 60000) < millis()) {
 
  // read temp
  if ((lastTemp + 60000) < millis()) {

  // read batt
  if ((lastBatt + 30000) < millis()) {