IOT Gerät entwickeln

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von BitBrösel.

    IOT Gerät entwickeln

    Hallo,

    ich habe einen Brennofen. Der hatte ursprünglich einen einfachen Schalter unter den man einen Keramikkegel platziert hat. Wenn der Ofen die Temperatur erreicht hatte, hat der Kegel sich verformt und der Schalter hat abgeschaltet. Da ich Elektroniker bin, hab ich die ganze primitive Sch* ausgebaut und einen Regler eingebaut. Danach konnte man die Temperatur einfach einstellen. Wenn man Keramik oder Gips brennt muss man allerdings eine gewisse Brennrampe einhalten, also musste ich jede Stunde händisch die Temperatur einstellen. Letzte Woche habe ich mir aus einem Arduino, einem Thermoelement, einem LCD Display und ein paar Tastern selber einen Regler gebaut und programmiert. Man kann eine beliebige Brennrampe definieren, auf Start drücken und alles läuft automatisch. Funktioniert supi. Ein Brennvorgang dauert irgendwas zwischen 8 Stunden und 3 Tagen.

    Jetzt überlege ich dem Arduino nicht ein Wlan Modul spendieren kann um ein paar Daten zu sammeln. Der Ofen soll alle paar Minuten die Ist- und Solltemperatur irgendwo hochladen, sodass ich vom Telefon oder PC mir ein schickes Diagramm mit der Brennkurve angucken kann. Die letzten x Brennvorgänge sollen gespeichert werden. Es sollte auch noch eine Funktion geben um den Ofen aus der Ferne abzuschalten. Wie genau würde man sowas angehen? Ich hab von Web-Entwicklung leider exakt null Ahnung. Soll ich mir eine Domain zulegen und eine Art REST-API entwickeln? Ich bin für alle Vorschläge offen :)

    Grüße
    Hey,

    anstatt eines Arduino nimm so ein Board, schneller, mehr Speicher, mehr RAM und als i-Tüpfelchen WLAN und BlueTooth.(WROOM32 Modul)(Hab die auch im Einsatz)
    amazon.de/AZDelivery-NodeMCU-D…ell-ESP8266/dp/B074RGW2VQ

    Darauf einen TCP-Server oder Client laufen lassen, kannst entweder ein bestehendes WLAN nutzen oder eins mit dem Board aufspannen. Dann via TCP die Daten holen, alternativ im Netzwerk irgendwo eine REST-API laufen lassen und Daten hochladen.

    Solltest du auch übers Internet drauf zugreifen wollen, Port zum API-Server forwarden, eine Domain kaufen/mieten musst du nicht, gibt kostenloses DynDNS
    noip.com/de-DE

    Dann hast du eine dyndns Adresse. Entweder kannst du dann deinen Router die IP dort Updaten lassen, sofern der das unterstützt, du kannst aber auch von denen den Service downloaden und installieren, dann wird von dem System(die haben glaub ich auch eine API dafür, könnte man dann auch vom ESP-Modul aus updaten) aus alle X Minuten die IP geupdatet.

    Sollte ein Gerät mal neu starten, könnte das einen Brennvorgang ruinieren, besser auch alle X Minuten den Status updaten, bzw. in einer DB den Vorgang speichern, dann kannst du wieder die Temperatur passend für diesen Zeitpunkt wieder einstellen.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „BitBrösel“ ()

    Die Daten sollten schon über Internet verfügbar sein. Hättest du vielleicht ein paar Quellen die zeigen wie man so eine REST-API implementiert und wie man Authentication korrekt einrichtet? Es soll ja nicht jeder wissen wie heiß mein Ofen ist ;)
    Ist sowas vielleicht in C# programmierbar, oder muss ich mich erst mit PHP & Co auseinandersetzen?
    Wenn diese API auf dem Board laufen soll, reicht theoretisch schon ein Webserver aus.

    Nachdem du in der Arduino IDE die Bibliotheken für das Modul installiert hat, sollten in den Beispielen, HTTPDinger zu finden sein, aber auch ein WebServer. Wie im Anhang zu sehen, ist auch etwas dabei wie man eine einfache Anmeldung machen kann. Es sind diverse Besiele in den ESP-Bibltiotheken vorhanden.

    Aber da solche Geräte auch mal neu starten könnten sichere dein Brennvorgang ab, z.B. auf einer SD-Karte, also einen "Brennplan" und dann denn Status regelmäßig updaten, wenn neu gestartet wurde, schauen ob ein Brennvorgang aktiv sein sollte und alles schalten.


    PHP musst du nicht lernen, aber ein wenig HTML, CSS und JS könnte nützlich sein. C++ kannst du ja bereits. Ob du dann einen Webbrowser zur Ansicht nimmst, oder dir eine Handy-App oder Desktop-App machst um das anzuzeigen hängt von dir ab, hast also für das Frontend die freie Wahl deiner LIeblingssprache.
    Bilder
    • Unbenannt.jpg

      19,04 kB, 504×248, 47 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „BitBrösel“ ()