Unable to get ESP8266 wifi working

Posted on
  • Read this old thread: http://forum.espruino.com/conversations/­267148/?offset=75

    Am dealing with Ollie's situation, all I get back is Uncaught No 'ready' after AT+RST. Seems his issue was fixed by updating ESP8266, so I'm doing that (I'm not using a shim). I manually put the ESP into bootloader mode, made the update to esptool.py, and ran the following command.

    Rob::Robs-iMac { ~/Downloads }-> esptool.py -p /dev/cu.usbmodem1411 -b 115200 write_flash 0 ESP8266_AT25-SDK112-512k.bin 
    esptool.py v1.3
    Connecting...
    Auto-detected Flash size: 8m
    Running Cesanta flasher stub...
    
    A fatal error occurred: Invalid head of packet ('\x13')
    
  • The 10µf cap I put between GND and 3.3v is radial electrolytic. I think someone said to use ceramic. Will this make a difference?

    Reading this just now. Seems like I need to make a trip to Fry's.
    quora.com/What-is-the-differ­ence-between-Ceramic-and-Electrolytic-ca­pacitors-Where-should-I-use-a-ceramic-on­e-Can-I-use-a-250V-22pF-ceramic-capacito­r-in-a-full-wave-bridge-rectifier-circui­t

  • ...you are fine with a electrolytic cap... just make sure connections are good... I guess you are using a ESP866 ESP-01 and a PICO? - see Breadboard friendly ESP8266 ESP-01 and Pico.

  • Yup, you are correct. Wow, some cool stuff in that thread, I want.

    I've quintuple checked every connection. Getting the board version works, but nothing else does.

    ""
    "AT+GMR\r\r\nAT version:0.40.0.0(Aug  8 2015 14:45:58)\r\nSDK version:1.3.0\r\nAi-Thinker Technology Co.,Ltd.\r\nBuild:1.3.0.2 Sep 11 2015 11:48:04\r\nOK\r\n"
    ")e\xE9M\xAAK\xF8"
    Done!
    
  • Are you using the wifi module or serial to test. If the module ensure the correct one, there are a couple, since internals have changed to accommodate firmware revisions. If no joy try AT calls using serial to test.

    Also is capacitor big enough, docs use 47uf and I used 100uf i think.

    It's a while back but in my case think I had duff firmware, and flashing resolved.

  • I'm using the code samples on this page: espruino.com/ESP8266

    How do I make AT calls?

  • The code you used to get the fw version is an At call

    serial.write("AT+GMR\r\n");
    

    What are you using for 3.3v power supply?

  • The Espruino 3.3v pin.

  • Should be fine. So I guess to get it to boot mode you ground GPIO0 with a resistor, apply power from Espruino, remove the resistor and flash.

    In my case the board has v0.60.0 fw so just changing the module ESP8266WiFi_0v25 to ESP8266WiFi solved it for me.

    Serial4.setup(115200, { rx: C11, tx : C10 });
    var wifi = require("ESP8266WiFi_0v25").connect(Seri­al4, function() {
      //                ^^^^^^^^^^^^^^^^
      //                Use ESP8266WiFi here (and 9600 baud) if you have an ESP8266 with firmware older than 0.25
     ...
    }
    
  • Can you post up the code you're using to try and connect?

    And this is definitely on an Espruino Pico? The fact that your module has 0.40 now is great - that should work without a problem - so it should just be an issue with how Serial is set up or the Baud rate used.

    You could also try wifi.getVersion(print) - this does basically what you were doing before, but in the module. If that doesn't work then it might help to narrow down what's wrong

  • var wifi = require("ESP8266WiFi_0v25").connect(Seri­al2, function(err){ wifi.getVersion(print); });
    

    > null undefined

    The code I'm using from espruino.com/ESP8266:

    digitalWrite(B9,1);
    digitalWrite(A1,0);
    digitalWrite(A10,0);
    digitalWrite(A10,1);
    Serial2.setup(115200, { rx: A3, tx: A2 });
    Serial2.on('data', function(d) { USB.write(d); });
    USB.on('data', function(d) { Serial2.write(d); });
    Serial1.setConsole();
    
    digitalWrite(B9,1);
    Serial2.setup(115200, { rx: A3, tx: A2 });
    
    var wifi = require("ESP8266WiFi_0v25").connect(Seri­al2, function(err){
    
      if (err) throw err;
      console.log("Connecting to WiFi");
    
      wifi.connect("MY_LAN", "PASSWORD", function(err){
    
        if (err) throw err;
        console.log("Connected");
    
        require("http").get("http://www.pur3.co.­uk/hello.txt", function(res){
          console.log("Response: ", res);
          res.on('data', function(d){ console.log("--->"+d); });
        });
      });
    });
    
  • Is it possible that you're using both of those bits of code together? All you'd need is the second part:

    digitalWrite(B9,1);
    Serial2.setup(115200, { rx: A3, tx: A2 });
    var wifi = require("ESP8266WiFi_0v25").connect(Seri­al2, function(err){
      if (err) throw err;
      console.log("Connecting to WiFi");
      wifi.connect("MY_LAN", "PASSWORD", function(err){
        if (err) throw err;
        console.log("Connected");
        require("http").get("http://www.pur3.co.­uk/hello.txt", function(res){
          console.log("Response: ", res);
          res.on('data', function(d){ console.log("--->"+d); });
        });
      });
    });
    
  • I think my pico might be damaged. It behaves inconsistently. At one point I connected VBAT to GND because it looked like you were doing some weird connecting of those pins in your video. It was only for a brief instant and it seems like it is working, but sometimes the Web IDE refuses to print any new text output from the Pico and the only way to make things work again is disconnecting the Pico from power and starting over. I have some more coming in the mail.

  • Not using the code snippets together.


    1 Attachment

    • Screenshot 2017-02-07 00.48.19.png
  • That is strange. So that's exactly the same wiring you had when running the version checking code?

    You do seem to have some saved code though - could you try typing reset() followed by save() on the left-hand side, and then trying upload again?

    I guess it's possible that the ESP8266 was already powered up by the saved code, and the combination of turning it off for a split second for the reset and then powering it back on caused some kind of problems.

    Sorry to hear about your Pico - what revision is the PCB on it (it should be printed on the back I think)? The later ones have a self-resetting fuse so even if you short ground and VCC you're very unlikely to cause any damage.

    One other thing - could you add wifi.at.debug() right after your existing code - so:

    digitalWrite(B9,1);
    Serial2.setup(115200, { rx: A3, tx: A2 });
    var wifi = require("ESP8266WiFi_0v25").connect(Seri­al2, function(err){
      if (err) throw err;
      console.log("Connecting to WiFi");
      wifi.connect("MY_LAN", "PASSWORD", function(err){
        if (err) throw err;
        console.log("Connected");
        require("http").get("http://www.pur3.co.­uk/hello.txt", function(res){
          console.log("Response: ", res);
          res.on('data', function(d){ console.log("--->"+d); });
        });
      });
    });
    wifi.at.debug();
    

    and post up what gets printed out? It might help I guess.

  • Is there any other way to get the revision number? I will have to dismantle wires and remove solder to get the pico off the perfboard.

    Sometimes the blue light on the ESP comes on during power up, other times it doesn't.

    Here's the output from debug:

    Connected
    ><- Serial1
    >
    >
     _____                 _
    |   __|___ ___ ___ _ _|_|___ ___
    |   __|_ -| . |  _| | | |   | . |
    |_____|___|  _|_| |___|_|_|_|___|
              |_| http://espruino.com
     1v90 Copyright 2016 G.Williams
    >
    =undefined
    ] "s" <--- "s"
    ] "sl\x00l" <--- "l\x00l"
    ] "sl\x00l\x9C\x90" <--- "\x9C\x90"
    ] "sl\x00l\x9C\x90r" <--- "r"
    ] "sl\x00l\x9C\x90r\x02" <--- "\x02"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3" <--- "\x8Cb\x02\xE3"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n" <--- "n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f"­ <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80" <--- "\x8C\x1C\x80"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l" <--- "l"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp" <--- "\xEC\x1Cp"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E" <--- "\x8C|\x8E"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83" <--- "\x83"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00" <--- "\x9F\x00"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03" <--- "\xECp\x03"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92" <--- "\x92"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F" <--- "\x9E\x8F"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92" <--- "\x92"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xEC" <--- "\x9C\xEC"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­" <--- "l\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c" <--- "c"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3" <--- "\x8Cp~\xF3"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n" <--- "n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00ln" <--- "\x9F\x00ln"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn" <--- "n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b" <--- "\x9C\x13b"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C" <--- "\fb\x1Cp\x8C"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl" <--- "\x8Ebl"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02" <--- "`\x02"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02r" <--- "r"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n" <--- "lp\xF2n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0" <--- "\xE0"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82" <--- "\x82"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00"­ <--- "\x9C\x00"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82" <--- "\x82"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80" <--- "\x8E\x80"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l" <--- "l"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\f" <--- "\f\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn" <--- "b\fn"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­" <--- "\xE2\xE2"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­n" <--- "n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl" <--- "l"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C" <--- "\xEC\x1C\xE2\x8C"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep" <--- "\x8Ep"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f" <--- "\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n"­ <--- "\x8C|\x7F\xF2n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE" <--- "\xEE"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02" <--- "\x02"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C" <--- "l\x8C"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l" <--- "\x8E\x00l"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90" <--- "`\x02\x90"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13" <--- "\x13\x13"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13n"­ <--- "n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f" <--- "n\f"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8F" <--- "\x8F"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fs" <--- "s"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E" <--- "l\x0F\x02ns\x8E"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92" <--- "\x92"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er" <--- "\x9Er"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03" <--- "\x03\f\f\x03"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n" <--- "\fr\x8C\x9C\x7F\xF2n"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C" <--- "\x0E\x02nr\x8F\x92\x9Fs\x1C"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`" <--- "\x8E\x00l`"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2" <--- "s\x03l`\x7F\xF2"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00"­ <--- "\x00"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80" <--- "\f\xECl\x80"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82" <--- "lpb\x82"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92" <--- "\x02\x8C|\x92"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92r" <--- "r"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl" <--- "l"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E" <--- "\x8E"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13­" <--- "\x13"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13­\x90" <--- "\x90"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13­\x90o" <--- "o"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13­\x90o\x02" <--- "\x02"
    ] "sl\x00l\x9C\x90r\x02\x8Cb\x02\xE3n\f\f\­f\x8C\x1C\x80l\xEC\x1Cp\x8C|\x8E\x83\x9F­\x00\xECp\x03\x92\x9E\x8F\x92\x9C\xECl\f­c\x8Cp~\xF3n\x9F\x00lnn\x9C\x13b\fb\x1Cp­\x8C\x8Ebl`\x02rlp\xF2n\xE0\x82\x9C\x00\­f\f\x82\x8E\x80l\f\f\f\f\f\fb\fn\xE2\xE2­nl\xEC\x1C\xE2\x8C\x8Ep\f\x8C|\x7F\xF2n\­xEE\x02l\x8C\x8E\x00l`\x02\x90\x13\x13nn­\f\x8Fsl\x0F\x02ns\x8E\x92\x9Er\x03\f\f\­x03\fr\x8C\x9C\x7F\xF2n\x0E\x02nr\x8F\x9­2\x9Fs\x1C\x8E\x00l`s\x03l`\x7F\xF2\x00\­f\xECl\x80lpb\x82\x02\x8C|\x92rl\x8E\x13­\x90o\x02\xCC\xFF\r\nAi-Thinker Technology Co.,Ltd.\r\n\r\ninvalid\r\n" <--- "\xCC\xFF\r\nAi-Thinker Technology Co.,Ltd.\r\n\r\ninvalid\r\n"
    >Uncaught No 'ready' after AT+RST
    
  • Does your Pico have a white sticker with a number on top of the processor? You can also getSerial() to return the serial number of your Pico. I'm only speculating but maybe either or both of these could be related to board revision based on @gordon's production records.

  • The simplest way is whether the USB connector says 'espruino.com' on the top, or if it says something like 'CTR1 1234'. Also if it has a little white chip (the fuse) next to that text or not.

    Did you attach B9 to CH_PD as well? I'm wondering if the WiFi hasn't had time to power up before it gets the 'reset' sent - please could you try this?

    digitalWrite(B9,1);
    Serial2.setup(115200, { rx: A3, tx: A2 });
    var wifi;
    setTimeout(function() {
     wifi = require("ESP8266WiFi_0v25").connect(Seri­al2, function(err){
      if (err) throw err;
      console.log("Connecting to WiFi");
      wifi.connect("MY_LAN", "PASSWORD", function(err){
        if (err) throw err;
        console.log("Connected");
        require("http").get("http://www.pur3.co.­uk/hello.txt", function(res){
          console.log("Response: ", res);
          res.on('data', function(d){ console.log("--->"+d); });
        });
      });
     });
     wifi.at.debug();
    }, 1000);
    
  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Unable to get ESP8266 wifi working

Posted by Avatar for CriscoCrusader @CriscoCrusader

Actions