ESP8266_01 (ESP_01) sendet 2x DS18x Daten an SHC

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ESP8266_01 (ESP_01) sendet 2x DS18x Daten an SHC

    Hi Leuts,

    habe mich jetzt ne weile mit dem ESP-01 und dem DS18x20 rumgeärgert.

    Ich wollte, wie an jedem anderem Sender (ob Raspi oder Arduino) den 1Wire Bus richtig nutzen. Also mehr als ein Sensor.
    Das ist mir aber bis jetzt nicht gelungen.
    Aber ich konnte den ESP-01 wenigstens an GPIO0 und GPIO2 dazu bringen, je einen Sensor zu verwenden.

    Als Firmware ist "NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4" im Einsatz.

    siehe Scripte


    Neue Version Post 10
    habe SHC aufgegeben.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von bin dann weg ()

  • einfach die feste ip löschen und eine schleife einbauen der checkt ob wifi.sta.getip() nicht "nil" ist


    hier mal nen bsp code für dht22 allerdings nicht über http-get sondern per mqtt sollte aber relativ einfach möglich sein zu ändern brauchst ja nu die Funktion read_temp()

    darin auch eine Funktion die prüft ob der chip verbunden ist ( tmr.alarm(0... )


    PHP-Quellcode

    1. tmr.alarm(0, 150, 1, function()
    2. if wifi.sta.getip() == nil then
    3. print("wait\n")
    4. else
    5. tmr.stop(0)
    6. print("mqtt start")
    7. mqtt_start()
    8. end
    9. end)
    10. function mqtt_start()
    11. mqtt = mqtt.Client("buero", 120, "", "")
    12. mqtt:on("connect", function(con) print ("connected") end)
    13. mqtt:on("offline", function(con) print ("offline") node.restart() end)
    14. mqtt:connect("192.168.0.43", 1883, 0, function(conn)
    15. print("connected")
    16. -- subscribe topic with qos = 0
    17. mqtt:subscribe("/home/temp/#",0, function(conn)
    18. -- publish a message with data = my_message, QoS = 0, retain = 0
    19. mqtt:publish("/home/temp","BueroOnline",0,0, function(conn)
    20. print("sent")
    21. end)
    22. end)
    23. end)
    24. end
    25. function read_temp(pin)
    26. --pin = 4
    27. status,temp,humi,temp_decimial,humi_decimial = dht.read(pin)
    28. if( status == dht.OK ) then
    29. -- Integer firmware using this example
    30. -- print(
    31. -- string.format(
    32. -- "DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n",
    33. -- math.floor(temp),
    34. -- temp_decimial,
    35. -- math.floor(humi),
    36. -- humi_decimial
    37. -- )
    38. -- )
    39. -- Float firmware using this example
    40. --print("DHT Temperature:"..temp..";".."Humidity:"..humi)
    41. elseif( status == dht.ERROR_CHECKSUM ) then
    42. print( "DHT Checksum error." );
    43. elseif( status == dht.ERROR_TIMEOUT ) then
    44. print( "DHT Time out." );
    45. end
    46. return temp_decimial,humi_decimial,temp,humi
    47. end
    48. tmr.alarm(1, 10000, 1, function()
    49. print("tick")
    50. read_temp(3)
    51. t = temp .. "." ..temp_decimial
    52. h = humi .. "." ..humi_decimial
    53. mqtt:publish("/home/temp/buero/temp/state",t,0,0, function(conn)
    54. print("temperatur gesendet"..t)
    55. end)
    56. mqtt:publish("/home/temp/buero/humi/state",h,0,0, function(conn)
    57. print("feuchte gesendet" ..h)
    58. end)
    59. end )
    Alles anzeigen

    zu 18x ds8b20 ich habe an einen raspberry 27stück hängen am esp mit mehren aber keine Erfahrung
    habe mal irgendwo im netz nen Bericht gelesen da hat einer auch mehre an einen esp8266 gehabt finde aber den link nicht mehr
  • Hi gMaN,

    über n Raspi ist das kein problem, aber da ich mich jetzt mit Arduinos und ESPs eingedeckt habe, ist mein Ziel, selbige zu kombinieren und für diese Aufgaben zu nutzen. Diese Raspi Zero (oder so) sind schon seit November bei Pollin gekauft, aber immer noch nicht geliefert.

    Das DHT script werde ich mir nachher mal ansehen.

    ich habe mir mal ein NodeMCU erstellt.

    This was built against the master branch and includes the following modules: dht, file, gpio, net, node, ow, tmr, uart, wifi.

    Sind diese Module ausreichend, oder soll ich eine ältere NodeMCU 0.9.6 verwenden?
    habe SHC aufgegeben.