Gå til innhold
  • Bli medlem
roarfred

Lesing av AMS data (AMS/HAN -> IoT)

Anbefalte innlegg

14 minutter siden, xibriz skrev:

Jeg har en LED-driver som døde. Den er ratet til 220-240v. Akkurat i tidspunktet den døde har jeg logg på at spenningen var oppe i 242v flere ganger. Tror dere jeg kommer noen vei med dette? :)

 

Netteier skal levere 207-253v, så de har levert det de skal. Hvilke marginer LED-driveren skal tåle vet jeg ikke...

Del dette innlegget


Lenke til innlegg
Del på andre sider
15 minutter siden, xibriz skrev:

Jeg har en LED-driver som døde. Den er ratet til 220-240v. Akkurat i tidspunktet den døde har jeg logg på at spenningen var oppe i 242v flere ganger. Tror dere jeg kommer noen vei med dette? :)

Tviler. Hadde 258V over lengre tid på jobb. 

UPS og PCer som skrudde seg av i hytt og pine, ødelagte strømforsyninger på projektor etc, kom ingen vei selv med dokumentasjon. 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Javell.. da skal det nok mere avvik til før man får noe erstatning altså.

Del dette innlegget


Lenke til innlegg
Del på andre sider

Noen som trenger kretskort? 

Kortene er er av type "ENIG", altså blyfri og god kvalitet. 

70,- inkl. brevfrakt i Norge.

 

F433C3D2-9700-4442-828C-44D4430DBE43.thumb.jpeg.0914b09efed39dda685e43de2f8e47e5.jpeg

006BE258-E543-4CA4-A8B1-F2000C62219B.thumb.jpeg.b5397fae3a3ab4dd65cd8638be333dc8.jpeg

Endret av DIYglenn
  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

Prøver å programmere fra source nå. Er det noen instruksjoner?

AFAIK skal man holder Reset + Flash, og så slippe reset mens man holder flash?

USB-strøm og USB-programmer må vel begge være tilkoblet samtidig?

 

Jeg får denne feilen:

HanReader.h: No such file or directory

HanReader.h: No such file or directory

 

Update:

Prøvde å kopiere over bibliotek igjen, og da virket det. Får nå denne:

 

WARNING: Spurious .vs folder in '' library
ADVARSEL: Kategori '' i bibliotek  er ikke gyldig. Innstiller til 'Uncategorized'
Mangler 'name' fra biblioteket i C:\Users\glenn\Documents\Arduino\libraries\HanReader

Error compiling for board Generic ESP8266 Module.

Update 2:

Flyttet vekk ".vs" mappen da den mest sannsynlig ikke skal være med uansett.

Disse meldingene fortsatt:

ADVARSEL: Kategori '' i bibliotek  er ikke gyldig. Innstiller til 'Uncategorized'
Mangler 'name' fra biblioteket i C:\Users\glenn\Documents\Arduino\libraries\HanReader

Update 3:

Oppdaterte library.properties (som var tom???)

name=HANreader
version=1.0.0
author=roarfred
maintainer=roarfred <not@important.com>
sentence=HAN support
paragraph=HAN support
category=Sensors
url=https://github.com/roarfred/AmsToMqttBridge
architectures=*

Men fortsatt får jeg ikke kompilert:

Spoiler

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino: In function 'void readHanPort_Kamstrup(int)':

AmsToMqttBridge:223: error: 'StaticJsonBuffer' was not declared in this scope

   StaticJsonBuffer<500> jsonBuffer;

   ^

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:223:3: note: suggested alternative:

In file included from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/StaticJsonDocument.hpp:8:0,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:10,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

                 from C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:10:

C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/StaticJsonBuffer.hpp:110:7: note:   'ArduinoJson::Internals::StaticJsonBuffer'

 class StaticJsonBuffer : public Internals::StaticJsonBufferBase {

       ^

AmsToMqttBridge:223: error: 'jsonBuffer' was not declared in this scope

   StaticJsonBuffer<500> jsonBuffer;

                         ^

AmsToMqttBridge:233: error: invalid initialization of non-const reference of type 'ArduinoJson::JsonObject&' from an rvalue of type 'ArduinoJson::JsonObject'

   JsonObject& data = root.createNestedObject("data");

                                                    ^

AmsToMqttBridge:278: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'

    root.printTo(*debugger);

         ^

AmsToMqttBridge:288: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'

   root.printTo(msg, 1024);

        ^

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino: In function 'void readHanPort_Kaifa(int)':

AmsToMqttBridge:316: error: 'DynamicJsonBuffer' was not declared in this scope

   DynamicJsonBuffer jsonBuffer;

   ^

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:316:3: note: suggested alternative:

In file included from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

                 from C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:10:

C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note:   'ArduinoJson::Internals::DynamicJsonBuffer'

     DynamicJsonBuffer;

     ^

AmsToMqttBridge:316: error: expected ';' before 'jsonBuffer'

   DynamicJsonBuffer jsonBuffer;

                     ^

AmsToMqttBridge:317: error: 'jsonBuffer' was not declared in this scope

   JsonObject& root = jsonBuffer.createObject();

                      ^

AmsToMqttBridge:326: error: invalid initialization of non-const reference of type 'ArduinoJson::JsonObject&' from an rvalue of type 'ArduinoJson::JsonObject'

   JsonObject& data = root.createNestedObject("data");

                                                    ^

AmsToMqttBridge:375: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'

    root.printTo(*debugger);

         ^

AmsToMqttBridge:385: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'

   root.printTo(msg, 1024);

        ^

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino: In function 'void sendMqttData(String)':

AmsToMqttBridge:493: error: 'DynamicJsonBuffer' was not declared in this scope

  DynamicJsonBuffer jsonBuffer;

  ^

C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:493:2: note: suggested alternative:

In file included from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

                 from C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

                 from C:\Users\glenn\Documents\AmsToMqttBridge\Code\Arduino\AmsToMqttBridge\AmsToMqttBridge.ino:10:

C:\Users\glenn\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note:   'ArduinoJson::Internals::DynamicJsonBuffer'

     DynamicJsonBuffer;

     ^

AmsToMqttBridge:493: error: expected ';' before 'jsonBuffer'

  DynamicJsonBuffer jsonBuffer;

                    ^

AmsToMqttBridge:494: error: 'jsonBuffer' was not declared in this scope

  JsonObject& json = jsonBuffer.createObject();

                     ^

AmsToMqttBridge:501: error: 'class ArduinoJson::JsonObject' has no member named 'printTo'

  json.printTo(msg);

       ^

exit status 1
'StaticJsonBuffer' was not declared in this scope

 

 

Update 4:

Avinstallerte ArduinoJson og installerte 5.3.12.

 

Holdte inn Reset (Sw1) deretter Prog (Sw2) og slapp Reset, fortsatte å holde inn Prog, og oppdaterte via Arduino IDE. Slapp deretter Prog.

 

DONE!

Endret av DIYglenn
  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider

Har AP tilgjengelig, kan koble til, men blir ikke redirected til webside for oppsett. Usikker på hvor denne feilen ligger da jeg ikke har endret kode.

 

Er det noen guider på hvordan ting settes opp? 

Evt. skulle noen ha lagt det til på GitHub? Jeg kan godt skrive en full guide for montering og konfigurasjon om noen peker meg i riktig retning.

 

Jeg trodde jeg skulle ha mer trøbbel med SMD-komponentene enn jeg faktisk hadde, men for nybegynnere kan det nok være greit med en liten guide. Og når man endelig har fått elektronikken på plass, så er det en del manuelt arbeid i Arduino IDE for å faktisk få det til å kompilere, og ikke minst laste opp til ESP8266.

Vil være litt vanskelig for noen som aldri har rørt Arduino før. 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Det er en del ting å passe på ja.

 

Hvis du har fått den opp som AP så er IPen: http://192.168.4.1/

Auto redirect funker bare på epleprodukter om jeg husker rett.

 

Hvilken måler har du? Den koden vil kun fungere for Kaifa. Jeg har en modifisert versjon for Kamstrup 1 og 3 fase måler.

 

 

Jeg tror også at buffersize måtte endres i Json-biblioteket for å støtte så store json-meldinger som sendes her.

MQTT_MAX_PACKET_SIZE må settes høyere i pubsubclient.h

 

Endret av xibriz
  • Like 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
11 timer siden, DIYglenn skrev:

Evt. skulle noen ha lagt det til på GitHub? Jeg kan godt skrive en full guide for montering og konfigurasjon om noen peker meg i riktig retning.

 

Det hadde vært topp med en guide! :) 

Dessverre gikk @roarfred brått bort i april, så mulig det må opprettes en fork av prosjektet for å fortsette det gode arbeidet han har lagt ned.

 

Er det noen her som er lagt til som «collaborator» på prosjektet hans? Eller er alle contributions lagt inn via PR? Hvis man forker prosjektet hadde det jo vært fint om man kunne redigert ReadMe til å henvise til den nye fork’en. 

 

EDIT:

Kan se ut til at "hlovdal" kanskje er "contributor", men han/hun er visst ikke på dette forumet. Skal se om jeg finner noen måte å ta kontakt på. :) 

Endret av ZoRaC
  • Sad 1

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 timer siden, ZoRaC skrev:

 

Det hadde vært topp med en guide! :) 

Dessverre gikk @roarfred brått bort i april, så mulig det må opprettes en fork av prosjektet for å fortsette det gode arbeidet han har lagt ned.

 

Er det noen her som er lagt til som «collaborator» på prosjektet hans? Eller er alle contributions lagt inn via PR? Hvis man forker prosjektet hadde det jo vært fint om man kunne redigert ReadMe til å henvise til den nye fork’en. 

 

EDIT:

Kan se ut til at "hlovdal" kanskje er "contributor", men han/hun er visst ikke på dette forumet. Skal se om jeg finner noen måte å ta kontakt på. :) 

Woooa.. Det fikk jeg ikke med meg 😰  Huff...

 

Det er jo fantastisk bra arbeid som er gjort, jeg kan gjerne bistå med en guide. Skal bygge en til snart, og kan godt ta noen bilder og dokumentere byggeprosessen, og deretter programmeringsmåte. 

 

Det er relativt enkelt å følge en guide, men som newbie er det mye å skulle sette seg inn i. 

 

Jeg har fått testet på en PC med Wifi, og får da opp en side etter ny flash ,men av en eller annen grunn er seriell monitor bare tull...

 

AMS.PNG

 

Kan det være grunnet at den kjører på bare 2400 Baud? 

Endret av DIYglenn

Del dette innlegget


Lenke til innlegg
Del på andre sider

Har du prøvd å lukke serial-vinduet, restarte ESPen også åpne vinduet etterpå?

Jeg blir aldri konfortabel med serie-vinduet i Arduino faktisk viser data.

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 timer siden, xibriz skrev:

Auto redirect funker bare på epleprodukter om jeg husker rett.

Neida, fungerer på win også. men jeg fikk aldri chrome til å vise websiden. Måtte bruke IE.

 

Del dette innlegget


Lenke til innlegg
Del på andre sider
2 minutter siden, StenO skrev:

Neida, fungerer på win også. men jeg fikk aldri chrome til å vise websiden. Måtte bruke IE.

 

 

Ah... Da var det kanskje at det ikke funket på googleprodukter (arduino, chrome etc).

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, xibriz skrev:

Har du prøvd å lukke serial-vinduet, restarte ESPen også åpne vinduet etterpå?

Jeg blir aldri konfortabel med serie-vinduet i Arduino faktisk viser data.

Jupp. dessverre ingenting som funker.

Det skal sies at HAN ikke er tilkoblet og JP1 og JP2 er uten jumper. Kan det forstyrre?

Del dette innlegget


Lenke til innlegg
Del på andre sider
4 timer siden, xibriz skrev:

Det er en del ting å passe på ja.

 

Hvis du har fått den opp som AP så er IPen: http://192.168.4.1/

Auto redirect funker bare på epleprodukter om jeg husker rett.

 

Hvilken måler har du? Den koden vil kun fungere for Kaifa. Jeg har en modifisert versjon for Kamstrup 1 og 3 fase måler.

 

 

Jeg tror også at buffersize måtte endres i Json-biblioteket for å støtte så store json-meldinger som sendes her.

MQTT_MAX_PACKET_SIZE må settes høyere i pubsubclient.h

 

Kaifa Nuri.

 

Hva må den settes til?

Noe som kanskje bør legges inn som pull request til info etterhvert.

 

Jeg fikk ikke opp noe som helst på min Mac, men fikk opp siden i Chrome på en PC nå. Må reloade for å få opp MQTT-info, som oftest laster bare halvparten av en eller annen grunn. 

 

Jeg får fortsatt bare garbage i serial monitor. Prøvde å flashe med 9600 og bruke samme i monitor, men ingen forskjell, så har flashet tilbake.

 

Noen ganger står det bare "WiFi", også refresher jeg og får opp resten. Ser seriell output oppdateres, men kun garbage altså... 

 

Kanskje det ikke er så viktig, men hadde jo vært greit for å finne ut hva som faktisk skjer. 

 

Btw støtter MQTT med SSL? Dvs over port 8883? 

 

Edit:

Får opp info med Serial Port Monitor, ser da den informasjonen som mest sannsynlig skulle vært der når jeg velger å ha "parity" til "even". 

Endret av DIYglenn

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 minutt siden, DIYglenn skrev:

Gode gamle Putty med 2400 Baud og Parity = Evenputty.PNG.56e5b1aa327ee81f1dd24adbe4ec573e.PNG

Da er du der du skal være :-)

 

Del dette innlegget


Lenke til innlegg
Del på andre sider
35 minutter siden, DIYglenn skrev:

Hva må den settes til?

Noe som kanskje bør legges inn som pull request til info etterhvert.

 

512 burde holde. Jeg har valgt å kjøre hver verdi på en egen MQTT topic istedet for alt i en stor JSON på kun en topic.

 

Ser putty fungerte ja :) Den serial monitoren i Arduino er veldig ustabil.

Del dette innlegget


Lenke til innlegg
Del på andre sider

Enig i at det gir mening å splitte opp topic.

Dette må da gjøres i koden?

 

Kanskje dette er noe som burde reflekteres tilbake på GitHub når det blir mulig?

 

Hva med MQTTS/TLS? 

 

Jeg skal sette opp Mosquitto på nytt på min Homey, da jeg aldri har tatt det 100% i bruk, og ønsker å bruke TLS. 

 

Hvordan er støtten for dette?

Endret av DIYglenn

Del dette innlegget


Lenke til innlegg
Del på andre sider
3 timer siden, DIYglenn skrev:

Enig i at det gir mening å splitte opp topic.

Dette må da gjøres i koden?

 

Kanskje dette er noe som burde reflekteres tilbake på GitHub når det blir mulig?

Jeg har en fork av koden her: https://github.com/xibriz/AmsToMqttBridge/blob/master/Code/Arduino/AmsToMqttBridge/AmsToMqttBridge.ino

 

Du får en idè om hvordan jeg gjør det, men ikke bruk den helt rått fordi den vil bare fungere med Kamstrup. Jeg har også lagt til mulighet til å oppdatere firmware trådløst.

Del dette innlegget


Lenke til innlegg
Del på andre sider

Ok. Jeg har ikke satt meg helt inn i originalkoden ennå heller, som sikkert ikke var finpusset uansett. Jeg ser jo for meg at OTA updates burde inn, og kanskje kamstrup-endringene? Ved AP har man jo mulighet til å velge mellom de ulike målerne, er det da kun Kaifa som virker i den koden? 

 

Hadde vært fint å nøste sammen alt på GitHub hvis det blir tilgang. 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Får ikke kontakt hjemme. Jeg har kun Mac/iPhone/iPad som har trådløst nettverk, og her får jeg bare "forbindelsen ble brutt" eller noe lignende.

For meg virker det som det kanskje er noe feil med header i koden? Safari er lite tilgivende på sånt.

 

Et eksempel jeg har sett på for å kontrollere to knapper via web på ESP8266 er følgende, som fungerer helt fint på OS X:

Spoiler

  WiFiClient client = server.available();   // Listen for incoming clients

  if (client) {                             // If a new client connects,
    Serial.println("New Client.");          // print a message out in the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected()) {            // loop while the client's connected
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        header += c;
        if (c == '\n') {                    // if the byte is a newline character
          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println("Connection: close");
            client.println();
            
            // turns the GPIOs on and off
            if (header.indexOf("GET /5/on") >= 0) {
              Serial.println("GPIO 5 on");
              output5State = "on";
              digitalWrite(output5, HIGH);
            } else if (header.indexOf("GET /5/off") >= 0) {
              Serial.println("GPIO 5 off");
              output5State = "off";
              digitalWrite(output5, LOW);
            } else if (header.indexOf("GET /4/on") >= 0) {
              Serial.println("GPIO 4 on");
              output4State = "on";
              digitalWrite(output4, HIGH);
            } else if (header.indexOf("GET /4/off") >= 0) {
              Serial.println("GPIO 4 off");
              output4State = "off";
              digitalWrite(output4, LOW);
            }
            
            // Display the HTML web page
            client.println("<!DOCTYPE html><html>");
            client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
            client.println("<link rel=\"icon\" href=\"data:,\">");
            // CSS to style the on/off buttons 
            // Feel free to change the background-color and font-size attributes to fit your preferences
            client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
            client.println(".button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;");
            client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
            client.println(".button2 {background-color: #77878A;}</style></head>");
            
            // Web Page Heading
            client.println("<body><h1>EC Fan Control</h1>");
            
            // Display current state, and ON/OFF buttons for GPIO 5  
            client.println("<p>GPIO 5 - State " + output5State + "</p>");
            // If the output5State is off, it displays the ON button       
            if (output5State=="off") {
              client.println("<p><a href=\"/5/on\"><button class=\"button\">ON</button></a></p>");
            } else {
              client.println("<p><a href=\"/5/off\"><button class=\"button button2\">OFF</button></a></p>");
            } 
               
            // Display current state, and ON/OFF buttons for GPIO 4  
            client.println("<p>GPIO 4 - State " + output4State + "</p>");
            // If the output4State is off, it displays the ON button       
            if (output4State=="off") {
              client.println("<p><a href=\"/4/on\"><button class=\"button\">ON</button></a></p>");
            } else {
              client.println("<p><a href=\"/4/off\"><button class=\"button button2\">OFF</button></a></p>");
            }
            client.println("</body></html>");
            
            // The HTTP response ends with another blank line
            client.println();
            // Break out of the while loop
            break;
          } else { // if you got a newline, then clear currentLine
            currentLine = "";
          }
        } else if (c != '\r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }
      }
    }
    // Clear the header variable
    header = "";
    // Close the connection
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
  }

 

 

Skulle jeg gjette, så er det noe med "accesspoint.cpp", linje 98, som var mildt sagt innholdsrik...:

	String html = String("<html>\r\n\r\n<head>\r\n\t<style type=\"text/css\">\r\n\t\tbody,\r\n\t\tdiv,\r\n\t\tinput {\r\n\t\t\tfont-family: \"Roboto\", Arial, Lucida Grande;\r\n\t\t}\r\n\r\n\t\t.wrapper {\r\n\t\t\twidth: 50%;\r\n\t\t\tposition: absolute;\r\n\t\t\tpadding: 30px;\r\n\t\t\tbackground-color: #FFF;\r\n\t\t\tborder-radius: 1px;\r\n\t\t\tcolor: #333;\r\n\t\t\tborder-color: rgba(0, 0, 0, 0.03);\r\n\t\t\tbox-shadow: 0 2px 2px rgba(0, 0, 0, .24), 0 0 2px rgba(0, 0, 0, .12);\r\n\t\t\tmargin-left: 20px;\r\n\t\t\tmargin-top: 20px;\r\n\t\t}\r\n\r\n\t\tdiv {\r\n\t\t\tpadding-bottom: 5px;\r\n\t\t}\r\n\r\n\t\tinput {\r\n\t\t\tfont-family: \"Roboto\", \"Helvetica Neue\", sans-serif;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tline-height: 16px;\r\n\t\t\tbottom: 30px;\r\n\t\t\tborder: none;\r\n\t\t\tborder-bottom: 1px solid #d4d4d4;\r\n\t\t\tpadding: 10px;\r\n\t\t\twidth: 80%;\r\n\t\t\tbackground: transparent;\r\n\t\t\ttransition: all .25s ease;\r\n\t\t}\r\n\r\n\t\tinput[type=number] {\r\n\t\t\twidth: 70px;\r\n\t\t\tmargin-left: 5px;\r\n\t\t}\r\n\r\n\t\tinput:focus {\r\n\t\t\toutline: none;\r\n\t\t\tborder-bottom: 1px solid #3f51b5;\r\n\t\t}\r\n\r\n\t\th2 {\r\n\t\t\ttext-align: left;\r\n\t\t\tfont-size: 20px;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tletter-spacing: 3px;\r\n\t\t\tline-height: 28px;\r\n\t\t}\r\n\r\n\t\t.submit-button {\r\n\t\t\tposition: absolute;\r\n\t\t\ttext-align: right;\r\n\t\t\tborder-radius: 20px;\r\n\t\t\tborder-bottom-right-radius: 0;\r\n\t\t\tborder-top-right-radius: 0;\r\n\t\t\tbackground-color: #3f51b5;\r\n\t\t\tcolor: #FFF;\r\n\t\t\tpadding: 12px 25px;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tletter-spacing: 2px;\r\n\t\t\tright: 0px;\r\n\t\t\tbottom: 10px;\r\n\t\t\tcursor: pointer;\r\n\t\t\ttransition: all .25s ease;\r\n\t\t\tbox-shadow: 0 2px 2px rgba(0, 0, 0, .24), 0 0 2px rgba(0, 0, 0, .12);\r\n\t\t\twidth: 100px;\r\n\t\t}\r\n\r\n\t\t.select-style {\r\n\t\t\tborder-top: 10px solid white;\r\n\t\t\tborder-bottom: 1px solid #d4d4d4;\r\n\t\t\tcolor: #ffffff;\r\n\t\t\tcursor: pointer;\r\n\t\t\tdisplay: block;\r\n\t\t\tfont-family: Roboto, \"Helvetica Neue\", sans-serif;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tfont-weight: 400;\r\n\t\t\theight: 16px;\r\n\t\t\tline-height: 14px;\r\n\t\t\tmin-width: 200px;\r\n\t\t\tpadding-bottom: 7px;\r\n\t\t\tpadding-left: 0px;\r\n\t\t\tpadding-right: 0px;\r\n\t\t\tposition: relative;\r\n\t\t\ttext-align: left;\r\n\t\t\twidth: 80%;\r\n\t\t\t-webkit-box-direction: normal;\r\n\t\t\toverflow: hidden;\r\n\t\t\tbackground: #ffffff url(\"data:image/png;base64,R0lGODlhDwAUAIABAAAAAP///yH5BAEAAAEALAAAAAAPABQAAAIXjI+py+0Po5wH2HsXzmw//lHiSJZmUAAAOw==\") no-repeat 98% 50%;\r\n\t\t}\r\n\r\n\t\t.disabled-option {\r\n\t\t\tcolor: #d4d4d4;\r\n\r\n\t\t}\r\n\r\n\t\t.select-style select {\r\n\t\t\tpadding: 5px 8px;\r\n\t\t\twidth: 100%;\r\n\t\t\tborder: none;\r\n\r\n\t\t\tbox-shadow: none;\r\n\t\t\tbackground: transparent;\r\n\t\t\tbackground-image: none;\r\n\t\t\t-webkit-appearance: none;\r\n\t\t}\r\n\r\n\t\t.select-style select:focus {\r\n\t\t\toutline: none;\r\n\t\t\tborder: none;\r\n\t\t}\r\n\r\n\t\t@media only screen and (max-width: 1000px) {\r\n\t\t\t.wrapper {\r\n\t\t\t\twidth: 80%;\r\n\r\n\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media only screen and (max-width: 300px) {\r\n\t\t\t.wrapper {\r\n\t\t\t\twidth: 75%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t@media only screen and (max-width: 600px) {\r\n\t\t\t.wrapper {\r\n\t\t\t\twidth: 80%;\r\n\t\t\t\tmargin-left: 0px;\r\n\t\t\t\tmargin-top: 0px;\r\n\t\t\t}\r\n\t\t\t.submit-button {\r\n\t\t\t\tbottom: 0px;\r\n\t\t\t\twidth: 70px;\r\n\t\t\t}\r\n\t\t\tinput {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\t</style>\r\n</head>\r\n\r\n<body>\r\n\t<form method='post' action='/save'>\r\n\r\n\t\t<div class=\"wrapper\">\r\n\r\n\t\t\t<div class=\"inner-wrapper\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<h2>WiFi</h2>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='ssid' placeholder=\"SSID\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='password' name='ssidPassword' placeholder=\"Password\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"inner-wrapper\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<h2>Meter Type</h2>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"select-style\">\r\n\t\t\t\t\t<select name=\"meterType\">\r\n\t\t\t\t\t\t<option value=\"0\" disabled=\"true\" selected class=\"disabled-option\"> SELECT TYPE </option>\r\n\t\t\t\t\t\t<option value=\"1\">Kaifa</option>\r\n\t\t\t\t\t\t<option value=\"2\">Aidon</option>\r\n\t\t\t\t\t\t<option value=\"3\">Kamstrup</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"inner-wrapper\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<h2>MQTT</h2>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='mqtt' placeholder=\"Server\">\r\n\t\t\t\t\t<input type='number' name='mqttPort' value=\"1883\" placeholder=\"port\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='mqttClientID' placeholder=\"Client ID\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='mqttPublishTopic' placeholder=\"Publish Topic\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='mqttSubscribeTopic' placeholder=\"Subscribe Topic\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='text' name='mqttUser' placeholder=\"Username (leave blank for unsecure)\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input type='password' name='mqttPass' placeholder=\"Password\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<input class=\"submit-button\" type='submit' value='save'>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n\r\n\t<body>\r\n\r\n</html>");

 

Endret av DIYglenn

Del dette innlegget


Lenke til innlegg
Del på andre sider

At forbindelsen blir brutt betyr ikke nødvendigvis at det ikke fungerer. Det kan hende ESPen restarter før browseren din får svaret. Starter den alltid som AP?

 

Hvis du plages veldig kan du hardkode verdiene i "setupWiFi ()"-funksjonen i AmsToMqttBridge.ino

 

 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Den starter som AP. Dvs. jeg har lagt inn SSID som test når jeg fikk kontakt via PC med wifi (putty etc. tidligere i dag). Men med Apple-enheter har jeg ingen mulighet til å få opp nettsiden.

Når jeg søker rundt finner jeg ut at flere opplever det samme med soft AP og lignende løsninger for ESP8266.

 

Prøver derfor å finne en løsning som fungerer på OS X/iOS så det kan implementeres. Det er jo veldig nyttig når man lager et kort til andre.

Del dette innlegget


Lenke til innlegg
Del på andre sider
1 time siden, xibriz skrev:

Infoen er fra 2015 men kanskje fortsatt relevant: https://bbs.espressif.com/viewtopic.php?t=235#p1606

 

Takk, skal teste ut. 

Selvsagt vil jo min boks være montert og glemt når jeg har fått satt opp alt her (mangler stikkontakt i skapet ennå), men har et par venner som ønsker en også, og da er det lettere å vite at «alt» virker. 

 

Evt hvis noen her på forumet ikke er gira på SMD-lodding og interessert i en pre-built, så er det fint om programvare er klar til WiFi på alle plattformer, og virker med OTA for evt. endringer senere. 

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå

  • Lignende innhold

    • Av Vegard S
      Jeg har kikket litt på denne disse trådene for lesing av HAN.
       
      Jeg har endt opp med å bruke en ferdig M-Bus til TTL modul fra aliexpress koblet til en ESP-8266 ESP-01 versjonen med RoarFred sin Arduino kode:
      https://www.aliexpress.com/item/TSS721-Module-Board-M-BUS-To-TTL-with-RX-TX-Indicator-STM32-Development-Board-Free-Shipping/32751482255.html
       
      Dette fungerer feldig fint på det korte meldingene med kun Power(W) sendingene fra HAN koblingen, men når de lengre meldingene med strøm/spenning så feiler 1/3 av meldingene av å bli lest av ESP modulen. Jeg har aldri fått lest kWh meldingene fra HAN koblingen.
       
      Etter å ha sjekket litt med oscilloscope så fikk jeg se dette som er på bildet:
      Her ser vi øverst signalet direkte på HAN koblingen (M-Bus).
      Nederst TTL singalet ut fra M-bus til TTL konverteren.
       
      Her ser det ut som at konverteren ikke klarer å lage TTL signalet mot slutten av meldingen.
      Mot slutten så halveres spenningen på signalet fra 5V til ca 2.2v. Dette er litt for lavt for at ESP modulen detekterer signalet.
       
      Er det noen der ute som kan gi meg noen tips på hva jeg kan sjekke for å få konverteren til å fungere ordentlig? 
       
       
       

    • Av SigTill
      Trønderenerginett åpner HAN-porten, men hvilket utstyr skal man koble til? Hva har folk på forumet her koblet til som virker og logger data ett sted? Har Z-Wave-enheter fra før - så topp om det er kompatibelt - men ikke noe krav.
    • Av petersv
      Da den andre tråden konsenterer seg mest om hjemmelagede kort og derfor har en relativt høy terskel og er tidkrevende for å komme i gang med, tenkte jeg å lage en ny tråd der vi kan oppsummere hvordan man kan lese HAN-porten på din strøm-måler enkelt, kjapt, billig og sikkert.
       
      Det vi vet:
      HAN bruker helt standard M-BUS Man får kjøpt ferdige M-BUS til TTL kort (se link under) Ikke alle målere er åpnet for data på HAN selv om man har modulen (Hafslund) (Ikke 100% verifisert)  
      Alternativ 1 - med stikkontakt og Raspberry PI i sikringsskapet og :
      Dette er den desidert enkleste løsningen og er utviklet av Per Erik Nordbø i BKK. Med denne kan du lese ut HAN data til Raspberry Pi og meldingene kan deretter logges til skjer, fil eller multicast på LAN. For å bruke dataene videre må man lage noe IFTTT og/eller MQTT etc. for å få det inn i ditt favoritt-hjemmeautomasjonsmiljø.
       
      Du trenger:
      HW: Raspberry Pi (lefdal, elkjøp, power etc. fører disse)
      http://s.aliexpress.com/iM7rQb67
      Eller:
      https://www.aliexpress.com/item/USB-transfer-MBUS-module-slave-module-communication-debug-alternative-TSS721/32719562958.html?spm=a2g0s.9042311.0.0.c8314c4dpbv1pv
      Etter rapporter om at denne ikke takler lengre meldinger (kan tyde på for dårlig oscillator på mottaker-kretsen) frarådes kjøp av denne: https://www.aliexpress.com/item/Freeshipping-USB-to-MBUS-slave-module-discrete-component-non-TSS721-circuit-M-BUS-bus-data-monitor/32814808312.htm
       
      SW Armbian image et. al. fra: https://drive.google.com/drive/folders/0B3ZvFI0Dg1TDbDBzMU02cnU0Y28  
      Følg instruksjonene i dokumentet her.
      Gå til posten her og følg instruksjonene: 
      Node-red for MQTT videre til smarthusløsningen din, følg Thomas sin oppskrift fra side 4:
       
       
      Alternativ 2 - uten strøm i skapet med Zigbee/Z-wave
      Du trenger:
       
      HW: En konverterer fra M-BUS til TTL for å kunne lese ut dataene med standard mikrokontrollere etc. F.eks. https://www.aliexpress.com/item/TSS721-Module-Board-M-BUS-To-TTL-with-RX-TX-Indicator-STM32-Development-Board-Free-Shipping/32751482255.html
      TODO1
      SW:
      TODO2
       
      I tillegg trenger man en "datamaskin" som kan lese/parse dataene og videresende de til ditt smarthussystem eller lignende.
       
      Her er det noen alternativer, NodeMCU, Raspberry PI +++
       
      TODO3: finne en enkel og strømgjerrig kandidat som kan kjøre på strøm fra M-BUS, muligens Zigbee siden den bruker lite strøm.
×