Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. ESP8266 WiFi gateway port for MySensors

ESP8266 WiFi gateway port for MySensors

Scheduled Pinned Locked Moved Development
328 Posts 56 Posters 309.6k Views 39 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AndurilA Anduril

    @Yveaux tried with a nano to print out "ß" to serial, no problems. After that I tried that sketch on ESP:

    void setup() {
      Serial.begin(115200);
      const char *pass = "ß1ß";
      Serial.println(" "); //to break line after rubbish at init
      Serial.println(pass);
    }
    
    [not readable/copyable stuff]
    ß1ß
    

    So in general it should be no problem compiling the char 'ß' even on ESP.. Also in the ESPGateway sketch I don't see anything that is changing the *pass, but maybe you know what is going on with this string in more detail.

    edit: it seems to happen even before void setup in the gw sketch. I uncommented everything in setup, loop and output, but still get the distorted serial print of pass.

    YveauxY Offline
    YveauxY Offline
    Yveaux
    Mod
    wrote on last edited by
    #166

    @Anduril I guess it shouldn't make a difference. What happens if you copy/paste the "ß1ß" string from your test sketch into the ESP gateway sketch as password and print that to serial? (make sure to use the same editor on both sketches)

    http://yveaux.blogspot.nl

    1 Reply Last reply
    0
    • AndurilA Offline
      AndurilA Offline
      Anduril
      wrote on last edited by Anduril
      #167

      @Yveaux already tried that. When using my own sketch I get "ß1ß", when using the gw sketch (with really everything commented out, so no functionality) I get "ß1ß". I thought that it might be a problem of UFT encoding, had this issue with transfering LaTeX files created on linux system to windows system and vice versa: the system that creates the file sets the charset.
      But I also created a completely new .ino with the gateway-code inside and new created gatewayutil.h with data copied in notepad++, but no succes.
      And yes I use Arduino IDE as editor. Is there a good way to use another editor and compile/upload without the IDE?

      YveauxY 1 Reply Last reply
      0
      • AndurilA Anduril

        @Yveaux already tried that. When using my own sketch I get "ß1ß", when using the gw sketch (with really everything commented out, so no functionality) I get "ß1ß". I thought that it might be a problem of UFT encoding, had this issue with transfering LaTeX files created on linux system to windows system and vice versa: the system that creates the file sets the charset.
        But I also created a completely new .ino with the gateway-code inside and new created gatewayutil.h with data copied in notepad++, but no succes.
        And yes I use Arduino IDE as editor. Is there a good way to use another editor and compile/upload without the IDE?

        YveauxY Offline
        YveauxY Offline
        Yveaux
        Mod
        wrote on last edited by
        #168

        @Anduril I'm still convinced it has something to do with Unicode, but very hard to nail from a distance without the actual files...
        Maybe @hek has seen this before?

        http://yveaux.blogspot.nl

        1 Reply Last reply
        0
        • hekH Offline
          hekH Offline
          hek
          Admin
          wrote on last edited by
          #169

          Nope, not the slightest idea.

          @Anduril
          Couldn't you just temporarily change password on router to rule out other stuff?

          1 Reply Last reply
          0
          • AndurilA Offline
            AndurilA Offline
            Anduril
            wrote on last edited by
            #170

            @hek yeah already did this, when leaving out ß it works perfect. So no problem with router or ESP hardware. But changing the wifi password would be the worst case, as I have to reassign that to squeezeboxes, smartphones, laptops, wifi printer,... (and all guest devices of friends/familie) but still possible if all other things fail.
            @Yveaux Would it help if I send you the files for verification? Is it possible inside this forum or only via email?

            1 Reply Last reply
            0
            • AndurilA Offline
              AndurilA Offline
              Anduril
              wrote on last edited by
              #171

              @Yveaux thank you very much for offering help with verification, but something strange happened during preperation of files: I took an example sketch and modified it to print the "ß1ß" on serial --> working fine.
              But after saving the file I tried again, only reading rubbish. Thats strange! So it has something to do with saving the file and maybe setting a special encoding. Maybe thats related to the editor? Could you please try to redo what I explained and see if you get the same results? Thank you. @hek have you ever had such a problem of a sketch behaving differently after saving?

              YveauxY 1 Reply Last reply
              0
              • AndurilA Anduril

                @Yveaux thank you very much for offering help with verification, but something strange happened during preperation of files: I took an example sketch and modified it to print the "ß1ß" on serial --> working fine.
                But after saving the file I tried again, only reading rubbish. Thats strange! So it has something to do with saving the file and maybe setting a special encoding. Maybe thats related to the editor? Could you please try to redo what I explained and see if you get the same results? Thank you. @hek have you ever had such a problem of a sketch behaving differently after saving?

                YveauxY Offline
                YveauxY Offline
                Yveaux
                Mod
                wrote on last edited by Yveaux
                #172

                @Anduril Ok, did some tests:

                Copied your problematic example string from this topic into Arduino IDE (1.6.5), on Windows 10:

                upload-d3f2ea5f-8442-4f01-9f16-d77ffc2c4b49

                Saved the sketch.

                Viewed sketch.ino in notepad:
                upload-65587bba-2f55-4d38-9071-303fa5df2772
                Newlines are f*cked up, but "ß1ß" can clearly be recognized.

                Viewed the same sketch in HxD hex viewer:
                upload-d5300e08-17b9-4d7b-b069-dddba71f6649

                And there we are! The string is stored as Unicode characters!

                Reading it back in Arduino IDE:
                upload-01fb9b7d-3b1d-40c5-8916-6a1da46913fa

                Everything looks fine again.

                Apparently the unicode string gets compiled directly and shows as multiple, wrong characters in your sketch when used/printed...

                Ok, one more idea: you can try to store the ß character as an escaped ASCII character in you string (refer to this ).
                This will look strange in the code, but should print correctly to the console:

                The ASCII escape sequence for ß is \xE1
                Your test sequence "ß1ß" then becomes "\xE11\xE1"
                

                Please try this...

                http://yveaux.blogspot.nl

                1 Reply Last reply
                1
                • YveauxY Yveaux

                  @Mickey In principle the MQTT gateway should also run on the ESP8266, if you make the same changes to it as I did to the Ethernet gateway example (diff of the files should help a lot: https://www.diffchecker.com/eeo5ahzn).
                  On the other hand, the pubsubclient (https://github.com/knolleary/pubsubclient) MQTT client implementation by knolleary is heavily tested and works fine on ESP8266 (I tested it myself).
                  The ESP8266 has a lot more Flash & RAM available than an ATMega, so implementing MQTT should not be a problem.

                  M Offline
                  M Offline
                  mkeyno
                  wrote on last edited by
                  #173

                  @Yveaux
                  hi
                  there is problem for sensor library when we intend use the its examples as following
                  In file included from \libraries\MySensors\MyGateway.cpp:13:0:

                  \libraries\MySensors\utility/MsTimer2.h:7:2: error: #error MsTimer2 library only works on AVR architecture
                  #error MsTimer2 library only works on AVR architecture
                  ^
                  In file included from \libraries\MySensors\MyGateway.cpp:14:0:
                  \libraries\MySensors\utility/PinChangeInt.h:103:19: fatal error: new.h: No such file or directory
                  #include <new.h>
                  ^
                  compilation terminated.
                  Error compiling.

                  YveauxY 1 Reply Last reply
                  0
                  • M mkeyno

                    @Yveaux
                    hi
                    there is problem for sensor library when we intend use the its examples as following
                    In file included from \libraries\MySensors\MyGateway.cpp:13:0:

                    \libraries\MySensors\utility/MsTimer2.h:7:2: error: #error MsTimer2 library only works on AVR architecture
                    #error MsTimer2 library only works on AVR architecture
                    ^
                    In file included from \libraries\MySensors\MyGateway.cpp:14:0:
                    \libraries\MySensors\utility/PinChangeInt.h:103:19: fatal error: new.h: No such file or directory
                    #include <new.h>
                    ^
                    compilation terminated.
                    Error compiling.

                    YveauxY Offline
                    YveauxY Offline
                    Yveaux
                    Mod
                    wrote on last edited by
                    #174

                    @mkeyno did you change anything to the gateway code, and which version of MySensors are you running?
                    I've ported the gateway code to ESP8266. That doesn't mean any sensor code will also automatically run on an ESP.
                    Packaged with MySensors are a lot of libraries that will not compile on ESP, so if you try to use one (pinchange int or timers) it will likely fail to compile.

                    http://yveaux.blogspot.nl

                    M 1 Reply Last reply
                    0
                    • AndurilA Offline
                      AndurilA Offline
                      Anduril
                      wrote on last edited by
                      #175

                      @Yveaux SUCCES!!! Thank you very much, your way worked nearly perfect. ONly small change: "ß" is represented by hexcode DF, so using \eDF gives the correct wifi password for me.
                      Now a last thing as bonus: how to setup a fixed ip and not using dhcp? My dhcp is not very usable as it reassigns all IPs on reboot (stupid firmware by Deutsche Telekom).

                      YveauxY 1 Reply Last reply
                      0
                      • AndurilA Anduril

                        @Yveaux SUCCES!!! Thank you very much, your way worked nearly perfect. ONly small change: "ß" is represented by hexcode DF, so using \eDF gives the correct wifi password for me.
                        Now a last thing as bonus: how to setup a fixed ip and not using dhcp? My dhcp is not very usable as it reassigns all IPs on reboot (stupid firmware by Deutsche Telekom).

                        YveauxY Offline
                        YveauxY Offline
                        Yveaux
                        Mod
                        wrote on last edited by
                        #176

                        @Anduril Great to hear you got it to work!

                        how to setup a fixed ip and not using dhcp?

                        Google'd a bit. Seems like Wifi.config requires 3 parameters:

                            // static ip, gateway, netmask
                            WiFi.config(IPAddress(192,168,1,100), IPAddress(192,168,1,1), IPAddress(255,255,255,0));
                        

                        Make sure to call it after WiFi.begin().

                        Btw. ESP8266 Arduino port follows the Arduino WiFi library API.

                        http://yveaux.blogspot.nl

                        1 Reply Last reply
                        0
                        • hekH Offline
                          hekH Offline
                          hek
                          Admin
                          wrote on last edited by
                          #177

                          You can set static ip in the dev-branch.

                          YveauxY 1 Reply Last reply
                          0
                          • hekH hek

                            You can set static ip in the dev-branch.

                            YveauxY Offline
                            YveauxY Offline
                            Yveaux
                            Mod
                            wrote on last edited by
                            #178

                            @hek said:

                            You can set static ip in the dev-branch.

                            Even better :+1:

                            http://yveaux.blogspot.nl

                            1 Reply Last reply
                            0
                            • YveauxY Yveaux

                              @mkeyno did you change anything to the gateway code, and which version of MySensors are you running?
                              I've ported the gateway code to ESP8266. That doesn't mean any sensor code will also automatically run on an ESP.
                              Packaged with MySensors are a lot of libraries that will not compile on ESP, so if you try to use one (pinchange int or timers) it will likely fail to compile.

                              M Offline
                              M Offline
                              mkeyno
                              wrote on last edited by
                              #179

                              @Yveaux no buddy I used the last update of your repository, my question is , are you aware that your esp8266 sample sketch call library that wont work with esp architecture? I've compare last update with previous library and I've find the for couple of header file following code has been added
                              #ifdef AVR
                              #include <avr/interrupt.h>
                              #else
                              #error MsTimer2 library only works on AVR architecture
                              #endif

                              and I was wondering why your sample sketch call such file into the compiling

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                D_dude
                                wrote on last edited by D_dude
                                #180

                                Hi @Yveaux

                                could you please assist in the error.

                                ESP8266 MySensors Gateway
                                Connecting to HoUsEoFcLoWnS
                                scandone
                                f 0, scandone
                                .add 0
                                aid 5
                                pm open phy_2,type:2 0 0
                                cnt 
                                
                                connected with HoUsEoFcLoWnS, channel 11
                                dhcp client start...
                                .ip:192.168.0.23,mask:255.255.255.0,gw:192.168.0.1
                                .Connected!
                                IP: 192.168.0.23
                                
                                 ets Jan  8 2013,rst cause:4, boot mode:(3,7)
                                
                                wdt reset
                                load 0x4010f000, len 1264, room 16 
                                tail 0
                                chksum 0x42
                                csum 0x42
                                ~ld
                                
                                

                                The gateway just keeps looping and connecting.
                                I'm using a NodeMCU with a NRF ( both from ebay),
                                Using the Regular library, and default sketch with SSID/pass updated.

                                i tried checking the error "rst cause:4, boot mode:(3,7)" but wasn't able to find something.

                                I even tried to power it using a USB cellphone charger, but i was unable to telnet so that rules out the power issue

                                Thanks in advance

                                YveauxY 1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  D_dude
                                  wrote on last edited by
                                  #181

                                  update,
                                  the error changed to "rst cause:4, boot mode:(3,6)" once i added a capacitor.

                                  1 Reply Last reply
                                  0
                                  • D D_dude

                                    Hi @Yveaux

                                    could you please assist in the error.

                                    ESP8266 MySensors Gateway
                                    Connecting to HoUsEoFcLoWnS
                                    scandone
                                    f 0, scandone
                                    .add 0
                                    aid 5
                                    pm open phy_2,type:2 0 0
                                    cnt 
                                    
                                    connected with HoUsEoFcLoWnS, channel 11
                                    dhcp client start...
                                    .ip:192.168.0.23,mask:255.255.255.0,gw:192.168.0.1
                                    .Connected!
                                    IP: 192.168.0.23
                                    
                                     ets Jan  8 2013,rst cause:4, boot mode:(3,7)
                                    
                                    wdt reset
                                    load 0x4010f000, len 1264, room 16 
                                    tail 0
                                    chksum 0x42
                                    csum 0x42
                                    ~ld
                                    
                                    

                                    The gateway just keeps looping and connecting.
                                    I'm using a NodeMCU with a NRF ( both from ebay),
                                    Using the Regular library, and default sketch with SSID/pass updated.

                                    i tried checking the error "rst cause:4, boot mode:(3,7)" but wasn't able to find something.

                                    I even tried to power it using a USB cellphone charger, but i was unable to telnet so that rules out the power issue

                                    Thanks in advance

                                    YveauxY Offline
                                    YveauxY Offline
                                    Yveaux
                                    Mod
                                    wrote on last edited by
                                    #182

                                    @D_dude said:

                                    These ESP's seem to walk in mysterious ways...
                                    A lot of people have them, running without any issues (including myself and hek) and some people can't seem to get them to run stable.
                                    On the net, a lot of stability/reset issues are are claimed to have a relation to power supply.

                                    I even tried to power it using a USB cellphone charger, but i was unable to telnet so that rules out the power issue

                                    There are a lot of assumptions in this sentence ;-)
                                    What current rating is the cellphone charger? I'd advise one with at least 1amps, and a stable output.
                                    Not being able to telnet to the gateway can have more issues then just the ESP crashing...

                                    http://yveaux.blogspot.nl

                                    D 1 Reply Last reply
                                    0
                                    • YveauxY Yveaux

                                      @D_dude said:

                                      These ESP's seem to walk in mysterious ways...
                                      A lot of people have them, running without any issues (including myself and hek) and some people can't seem to get them to run stable.
                                      On the net, a lot of stability/reset issues are are claimed to have a relation to power supply.

                                      I even tried to power it using a USB cellphone charger, but i was unable to telnet so that rules out the power issue

                                      There are a lot of assumptions in this sentence ;-)
                                      What current rating is the cellphone charger? I'd advise one with at least 1amps, and a stable output.
                                      Not being able to telnet to the gateway can have more issues then just the ESP crashing...

                                      D Offline
                                      D Offline
                                      D_dude
                                      wrote on last edited by D_dude
                                      #183

                                      @Yveaux
                                      Thank you for the response.

                                      As for the cell phone charger, I'm using a tablet charger Specifically original HP stream 7 charger, and it is able to provide more that 1amp. I Will try to use other charger/power supply to see if that helps.

                                      PS: I reloaded the gateway sketch and the error went back to boot mode (3,7) even with cap present.

                                      YveauxY 1 Reply Last reply
                                      0
                                      • D D_dude

                                        @Yveaux
                                        Thank you for the response.

                                        As for the cell phone charger, I'm using a tablet charger Specifically original HP stream 7 charger, and it is able to provide more that 1amp. I Will try to use other charger/power supply to see if that helps.

                                        PS: I reloaded the gateway sketch and the error went back to boot mode (3,7) even with cap present.

                                        YveauxY Offline
                                        YveauxY Offline
                                        Yveaux
                                        Mod
                                        wrote on last edited by
                                        #184

                                        @D_dude I searched the net for a description of reset causes and boot modes but failed to find one.
                                        I have no clue of what they mean.

                                        http://yveaux.blogspot.nl

                                        D 1 Reply Last reply
                                        0
                                        • YveauxY Yveaux

                                          @D_dude I searched the net for a description of reset causes and boot modes but failed to find one.
                                          I have no clue of what they mean.

                                          D Offline
                                          D Offline
                                          D_dude
                                          wrote on last edited by
                                          #185

                                          @Yveaux
                                          thank you for your assistance. I will try adding some debug in the code on the weekend to see what exactly is not running and possibly causing crash.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          14

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular