-
Hi @MaBe,
I re-checked and have similar connected (as ap) details as in your inclusion. My browser refuses to connect when using 192.168.4.1 typed into the URL addr field, but is compliant when using the after the fact known 192.168.1.71 IP.I've been using your example along with modifications that are at the 'Internet' page that Ollie pointed out. Each time, the browser page only pops up when the browser is pointed to the exact IP (192.168.1.71) that can only be detected after inspection of the 192.168.1.254 router table. I'm attempting to get a page to render at 192.168.4.1 as the IoT device powers up, just as a PC or TV might connect as they power up.
Am I to understand from your last response, that it is not possible using the current version of Espruino, unless one hard codes the values in script or does a 192.168.1.254 router lookup first to then type in that IP addr into the browser addr field?
Could the development platform be the issue. I believe Ollie uses a Mac, I'm using Windows 10 What development platform is you PC?
-
Still going over the datasheet myself
There is an internal pull-up of ~10K-40K and needs a limiter during pull-down ~5K internal. A brief pulse to ground shouldn't be an issue, but humans aren't as good chips during a 'quick' pulse. ;-)
I always include the limiter.
Not sure if this is good practice, but I've not had an issue leaving the RST line floating as I confirmed there is an internal pull-up of ~12K. Pulling the RST line hi without a limiter is the same as shorting across the pull-up and current then is limited by the chips internal configuration. Probably will get hot as you have witnessed.
A pull-up of ten+ times the internal, say 100K+ will allow for peace of mind without that much drain on the battery. I see battery drain as the only limiting factor.
Still searching, but these might be helpful:
https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/pinouts
Link under heading GPIO pins 'Read the full spec sheet'Good explanation of shorting out reset
https://hallard.me/esp8266-autoreset/ -
I have no experience with the ESP-1, but as it isn't mentioned, are current limiting resistors used on the signal lines?
ref: 'maximum current from the espruino pins'
http://forum.espruino.com/conversations/280779/#comment12746768 -
Sat 2017.02.25
The Espruino page on Internet has numerous examples
but only when connected as a station. It is also required to be able to connect via code or a command in the WebIDE left panel.
I'm still struggling with connecting to the ESP8266-12 using a 192.168.4.1 request only from the browser in ap mode. The browser never connects and times out.
This site can’t be reached
192.168.4.1 took too long to respond.
Try:
Checking the connection
Checking the proxy and the firewall
Running Windows Network Diagnostics
ERR_CONNECTION_TIMED_OUTI have been successful at connecting as a station and using wifi.getAPIP(), wifi.getAPDetails(), wifi.getIP(), wifi.getStatus() (see post #1 above) to view the status while viewing responses from the browser when in station mode. A request of 192.168.4.1 is never recognized in ap mode as seen by wifi.getStatus()
Even tried forcing the IP
var settings = {ip:'192.168.4.1',gw:'192.168.1.254',netmask:'255.255.255.0'}; wifi.setAPIP(settings, setTimeout(function(){http.createServer(pageHandler).listen(80);},300));
but found function setAPIP() is not available in
1v89 Copyright 2016 G.Williams Uncaught Error: Function "setAPIP" not found! at line 3 col 8
and the module I have wont accept a (re)flash of 1v91 http://forum.espruino.com/comments/13481959/
I have used Chrome's suggestion to to verify there is no proxy server set and made sure the LAN setting 'Automatically detect settings' is set.
I have turned off the firewall and disabled anti-virus during testing.
Currently at a loss for other ideas to test out.
-
Sat 2017.02.25
Quoting King Arthur had to consult "The Book of Armaments!"
I have previously used port 8080 as an alternative to no port specified when using http. Bewildered when omitting that and the browser wouldn't connect.
Confirmed that :8080 is an official alternative for :80
This is a list of Internet socket port numbers used by protocols of the transport layer of the Internet Protocol Suite for the establishment of host-to-host connectivity
8080 TCP UDP Alternative port for HTTP. See also ports 80 and 8008. Official
and also at: https://www.reference.com/technology/port-8080-used-ca5f438b749de7de
Port 8080 is an alternative to port 80 and is used primarily for http traffic. It is named 8080 for its correlation to 80
What I found during testing is that the wifi.connect() function takes the .listen(8080) port reference literally, requiring the absolute use of 192.168.1.71:8080 in the address field of the browser. It is not recognized as an alternative to http browser requests, if not included.
e.g. Espruino 1v89 at this testing doesn't follow the spec verbatim, port :8080 can not be assumed an alternative and be resolvable when making a request without a port designation, such as 192.168.1.71This subtle difference forces the use of .listen(80) when it is desired that no port is specified.
-
Although I'm not an expert here;
Are you seeking the male plug with female sockets or the female receptacle with male pins? (female receptacle) This may be of some help part
What country/continent are you having difficulty in locating a suitable source? The battery page link had several sources.So others may assist here, we wont ass-u-me and it isn't quite clear:
Q: Was the flying pigtail soldered to the board, or the battery directly?
Q: What color wire was soldered to the + strip?
Q: Was the battery fully charged before surgery?I'm sure this detail was reviewed http://www.espruino.com/Pico
In order to connect to a battery, you can use either the pins marked Bat and GND (on opposite sides of the board, nearest the USB connector)
-
Thr 2017.02.23
Comments outside functions won't use space, but comments inside will.
That is a key piece I was after, and answers what would have been my next question. Thank you.
Curious why function comments are preserved during save(). Is the limiting factor the amount of space the interpreter and minification engine take up and/or the number of additional pass(es) penalty needed to pre-parse and remove embedded comments?
I'm starting to believe the reason in my save code example, the number of bytes kept increasing despite removing lines of code was that the existing state machine for the embedded comments was derailed when using a block comment around existing code containing a line comment, and/or when mixed languages contained embedded escape chars. Not finding the true end-of-comment kept piling up chars as code, eventually exceeding the available space required for the save.
Just realized, it's more likely the complexity of the state engine in attempting to retain actual code. Hadn't meant that to sound nit-picky as we realize what an undertaking it is to create a software machine. You should be quite proud of what you have accomplished as much as we are mesmorized over what we wish we could do. It is this quality that has allowed the Espruino brand to cultivate this growing community.
Gordon, Thank you for all your effort.
-
Thr 2017.02.23
global["\xFF"].history = [];
For clarification, is this just clearing the memory space of pre-existing console history entries?
I did find a separate reference on hidden global variables:
http://forum.espruino.com/conversations/274778/
trace(global["\xFF"])
Thank you for your input @navas
-
Thr 2017.02.23
Thank you @MaBe for the reminders
shorten long names eg var sFCC = String.fromCharCode;
I'll use this technique in my nearly identical html header block responses. Will take some time to refine, but this will shrink the number of lines of code significantly.
-
Thr 2017.02.23
Thank you for your responses to each of my questions:
What is the relationship between the total blocks 1700 and used bytes 12284 - 12284 Bytes is the number of chars in your javascript source
What I was after was total used space of 1700 blocks. @Wilberforce your comment 'So you have 1700 jsvars free' allowed me to do a Google search on the needed concept of 'jsvar' which turned up additional detail.
http://www.espruino.com/Internals
Variables are usually stored in fixed-size 16 byte blocks. In small devices this can get down to 12 bytes (10 bit addresses) and on PCs it's 32 bytes (32 bit addresses)
Which then led to:
http://forum.espruino.com/conversations/276825/
As a rule of thumb, expect to be able to store 12 characters for each 'JsVar' reported by process.memory, so if you have 5000 variables then that's 60,000 characters.
----snip from above #1
The offsets from an ESP-12 allow for 0x3FFF or 3 * 16 * 256 = 12288 bytes which I can see is used for the 12284 value
0x3FC000
0x3FE000
0x400000and performing the calculation: 1700 * 12 = 20400 which exceeds the physical capacity of 12284 actual bytes alloted. On to 12288 / 12 = 1024 a rough approximation on the number of 'jsvars' that will fit in the available memory.
Author note: Still would like to know why 1700 is the magic limit
Writing............ Compressed 27200 bytes to 9390 Checking... >process.memory() ={ "free": 761, "usage": 939, "total": 1700, "history": 1 } >
So, my take on this is, before minification, the environment can temporarily work with more code as it is unknown what the minification process can compress down towards. Looking at the process.memory() 'usage' argument can only approximate whether the current source code will fit. Since our base 10 is close to the 12 multiplier, one could approximate the save success probability by multiplying the 'usage' value by 10 and if that is below 12284, be reasonably certain of a successful save(). As a precaution, this implies one needs to be really observant as the 'usage' argument approaches 1000.
Note that individual mileage may vary. ;-)
-
Wed 2017.02.22
I felt this more of a topic for 'General' but also specific to the 'ESP8266' Will understand if needed to be moved to the other category.
As I attempt to clean up lines of code that will no longer fit in the available memory space, I notice that the number of bytes attempted to be saved increases, even after deleting both lines of code and comments.
The error 'Too big to save to flash' occurs and from a quick observation, it can be seen that the intended number of bytes 13139 is larger than the 12284 allotted, despite 1/3 of memory remaining.
Why, when there is 1/3 of the available space remaining, the inability to save a few additional lines of code?
1v89 Copyright 2016 G.Williams Espruino is Open Source. Our work is supported only by sales of official boards and donations: http://espruino.com/Donate Flash map 4MB:512/512, manuf 0xe0 chip 0x4016 > { "free": 415, "usage": 1285, "total": 1700, "history": 1 } >save() =undefined Erasing Flash..... Writing............... ERROR: Too big to save to flash (13139 vs 12284 bytes) Deleting command history and trying again... Erasing Flash..... Writing............... ERROR: Too Running onInit()... [L914] inside onInit()
I removed at least thirty lines of code and twenty comment lines, yet the total bytes only decreased by 48 and the memory usage block doesn't even budge. I expected around 1000+ bytes to decrease.
Writing............... ERROR: Too big to save to flash (13091 vs 12284 bytes) Deleting command history and trying again... >process.memory() ={ "free": 415, "usage": 1285, "total": 1700, "history": 1 } >
So I became more aggressive and whacked another fifty lines and to my surprise the number of bytes jumped up to 17568, despite aggressive removal of code lines. With the usage now lower and free space now larger, I now expected to be able to easily save. But as one can see, the save() routine wont allow this smaller block of source code to be archived.
Writing.................... ERROR: Too big to save to flash (17568 vs 12284 bytes) Deleting command history and trying again... >process.memory() ={ "free": 532, "usage": 1168, "total": 1700, "history": 1 } >
Is this the memory leaking that was described here?:
http://forum.espruino.com/comments/13469254/I read over:
http://www.espruino.com/ESP8266_Flashing
http://www.espruino.com/Internals
http://www.espruino.com/Performance
but didn't locate suitable info other than 'Variables are usually stored in fixed-size 16 byte blocks'The offsets from an ESP-12 allow for 0x3FFF or 3 * 16 * 256 = 12288 bytes which I can see is used for the 12284 value
0x3FC000
0x3FE000
0x400000But the other values are more puzzling.
Q: How much in bytes is the actual space indicated by 'free'
Q: How large are these blocks re: total 1700
Q: What is the relationship between the total blocks 1700 and used bytes 12284
Q: Are comments stripped from the source before 'Send to Espruino'? e.g. are they counted in used byte count?
Q: Why couldn't I save this code block despite having ample free space?
-
Sun 2017.02.19
Re-flash update:
While owning a PICO and Orig, I understand that support running on non-official Espruino boards is minimal, but I didn't want these observations to go un-noticed and this thread detail to fade.
Repeated this flashing sequence for multiple versions in entirety on two separate days. The results for this board are repeatable.
save() after a 'Send to Espruino' task ends with an immediate disconnect. Tried: 1v90 1v91 1v91.122 1v91.2150
What does work: 1v84 1v87 1v89 but not 1v88 (see below)
Initial observation is that flash with boot_v1.4(b1).bin works, while versions with boot_v1.6.bin are problematic.
The module I have running is an ESP-12 and cover is etched with the following:
FCC ID:2ADUI ESP-12
Model ESP8266MOD
Vendor AI THINKERFlashing from a Windows 10 Home ver 10.0.14393 Build 14393 laptop running Chrome ver 56.0.2924.87 Firefox ver 51.0.1 WebIDE ver 0.65.9
I have spent an entire week doing nothing but flashing this module in hopes of getting at least one of the new 1v91 versions functional.
Initially had flawless flashing of 1v84 and had running for two weeks when I decided to attempt a re-flash using 1v91 The immediate disconnect is the reason I started this thread.
As suggested previously, made sure I performed an 'erase_flash' before each firmware attempt and used the same esptool command line, except for changing the name of the boot??.bin file version and used the same code.js each attempt
Functional versions 1v84 1v87 and 1v89 have this similar output following a save() typed into the left panel
http://www.espruino.com/binaries/espruino_1v87_esp8266/
boot_v1.4(b1).bin 2016-09-13 10:55 2.7K1v84.tve_master_363580f Copyright 2015 G.Williams WARNING: the esp8266 port is in beta! Flash map 4MB:512/512, manuf 0xe0 chip 0x4016 > =undefined >process.memory() ={ "free": 639, "usage": 761, "total": 1400, "history": 517 } >save() =undefined Erasing Flash..... Writing............... ERROR: Too big to save to flash (13092 vs 12284 bytes) Deleting command history and trying again... Erasing Flash..... Writing.......... Compressed 22400 bytes to 7668 Checking... Done! >
Interestingly, I couldn't get wifi enabled (connected) on 1v88 and abandoned this version
http://www.espruino.com/binaries/espruino_1v88_esp8266/
boot_v1.6.bin 2016-11-10 11:25 3.8KUncaught [object Object] at line 1 col 6 wifi.connect(
The following would flash with no errors and would receive a file using the WebIDE 'Send to Espruino' button. However, save() in left panel would result in immediate disconnect. 1v90 1v91 1v91.122 1v91.2150
Note that the code.js content is never saved to the ESP8266http://www.espruino.com/binaries/espruino_1v90_esp8266/
boot_v1.6.bin 2016-12-16 14:56 3.8Khttp://www.espruino.com/binaries/travis/bfeb548ef8d2241d25f2c78f1b999d8077c67b8c/
espruino_1v91.122_esp8266.tgz 2017-02-12 02:20 632KMark provided yet a newer version 1v91.2150 link
Lists version and appropriate changes http://www.espruino.com/ChangeLog
Maps folder version to date http://www.espruino.com/binaries/
While stuck at 1v89 will have to purchase more ESP-12 modules in order to rule out vendor related issues. @Gordon I still find it curious that the same disconnect event occurs following a save() on the puck (a month ago) device also.
-
Good catch @Wilberforce. I re-checked my listen(8080) and now notice that Fiddler and the browser response are indicating '80' when I actually specified '8080' I have seen '80' as a sort of shorthand for the default http '8080' but not sure if their response now, is an indicator or if we have stumbled upon a clue here.
-
@Ollie, thank you for your quick reply - was hoping there was an alternate option above in case "If works" failed ;-)
Had actually tried that with several IP:Port selections. After I have entered the IP:Port in the 'Connect over TCP Address' edit field and attempt to connect using the Orange button in the upper-left of the WebIDE I get, after a five second wait, a Red 'x' and 'Connection Failed' in lower right hand corner of WebIDE. I'm never able to get a dedicated :23 port to connect.
The puzzling part, why am I able to ping from the command line? (low-level) but unable to connect from browser, nor the WebIDE via telnet.
I'm tempted to reflash back to older 1v84 as I did see browser activity one time, but only after I had manually entered ssid and p/w into http.connect() method.
-
Sun 2017.02.19
Attempting to connect to an ESP8266-12 using the browser. Always getting error "This site can’t be reached 192.168.1.71 refused to connect"
Windows 10 Home ver 10.0.14393 Build 14393 laptop running Chrome ver 56.0.2924.87 Firefox ver 51.0.1 WebIDE ver 0.65.9 Espruino ver 1v89
1v89 Copyright 2016 G.Williams
Have modified the @MaBe example to add wrapper functions to quickly access status detail (see below)
It appears I am able to connect at the transport layer, just can't gain access at the application layer
I am able to determine the IP addr using gateway access 192.168.1.254 and locate the device detail beneath Home Network Devices (in this case I.P. is 192.168.1.71)
I am able to ping the device from the command line
I am able to connect through the WebIDE calling wrapper funtions in the left panel to display the status as a station i.e. wifi.getAPIP(), wifi.getAPDetails(), wifi.getIP(), wifi.getStatus()
wifi.getStatus() { "mode": "sta", "station": "connected", "ap": "disabled", "phy": "11n", "powersave": "none", "savedMode": "off" } wifi.getIP() { "ip": "192.168.1.71", "netmask": "255.255.255.0", "gw": "192.168.1.254", "mac": "5c:cf:7f:88:f4:a0" } wifi.getAPIP() { "ip": "0.0.0.0", "netmask": "0.0.0.0", "gw": "0.0.0.0", "mac": "5e:cf:7f:88:f4:a0" } wifi.getAPDetails() { "status": "disabled", "authMode": "open", "hidden": false, "maxConn": 4, "ssid": "2WIRE113", "password": "", "savedSsid": null } =undefined
Confirmed through network settings not using a proxy server
Viewed LMHOSTS file to make sure no garbage had been deposited there
Fiddler also confirms the issued request and captures the resultant error
[Fiddler] The connection to '192.168.1.71' failed. Error: ConnectionRefused (0x274d). System.Net.Sockets.SocketException No connection could be made because the target machine actively refused it 192.168.1.71:80
Have even attempted adding this snippet in the left panel of the WebIDE
http.createServer(pageHandler).listen(8080);
and typing 192.168.1.71 or 192.168.1.71:8080 in the browser address bar
[Fiddler] The connection to '192.168.1.71' failed. Error: TimedOut (0x274c). System.Net.Sockets.SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.1.71:80
Any ideas, code snippets, would be appreciated. Thank you Robin
Edit Sun 2017.02.19
Even in AP mode a request to 192.168.4.1 results in:
[Fiddler] The connection to '192.168.4.1' failed. Error: TimedOut (0x274c). System.Net.Sockets.SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.4.1:80
-
Thanks @Ollie,
The key phrase was 'AP Mode' and the default addr of 192.168.4.1
Was the example you may have seen, the one that MaBe posted at Github, the link in #3 above?
or . . . . as Google turned up, was this the forum post: AP mode, webserver redirect?
Still looking for a good networking explanation or wikipedia article . . . .
-
Mon 2017.02.13
What is the suggested best practices methodology to detect and configure the Wifi settings for a new module that has yet to connect to a local LAN using only a browser?
I've run into a snafu attempting to connect an IoT device to the LAN using only the browser. The Espruino examples hard code the ssid and password
- http://www.espruino.com/ESP8266_Flashing#initial-flashing-on-windows
- http://www.espruino.com/wifi_humidity
- https://github.com/MaBecker/esp8266/blob/master/Espruino/JoinWifi.js
[ Credit @MaBe #3 web page to connect to an access point source code used as a framework for this discussion ]
into the existing code, use wifi.save(), which works great if you are the developer and know your way around known equipment.
But, what if you want to take your really cool IoT bot device to another location to show off? The risk exists that the I.P. addr may conflict with an existing device on the new LAN as usually I.P. addresses are dynmically assigned in order from a known range. e.g. 192.168.1.x ( where on my router, 0 <= x < 64 and can be statically assigned 64 <= x <= 253 ) We also wont have access to the WebIDE and likely can only interact with our device using the browser on our tablet/phone.
My router seems to always assign the same I.P. address as it doesn't appear to have a feature to remove an assigned entry once the IoT device connects, even after I restart the IoT device w/o a un and p/w.
Ideally, one would want to load up a browser and type in an address to reconfigure it. The Catch-22 how do you connect to that device from a browser, when the local router will attempt to (re-)assign the next I.P. in it's list, not the one our IoT device now has hard coded. More interesting is what occurs if our IoT device has a low I.P. value which likely is a conflict in the new environment.
Using 192.168.1.254 from the browser allows (Windows 10 and U-Verse gateway-router) access to the router settings and does show the I.P. address of the new device once it has been detected.
The big question:
But how does one start a configuration exchange with a device when the I.P. can't be known until after the router assigns it, after detection?
Since we wont know what the new I.P. address is, we wont be able to type an address in the browser address bar, something like 192.168.1.55 to fetch a login page hard coded into our IoT device running as a server.
The Wifi class doesn't appear to have a clear function class Wifi
and setIP() will only allow valid I.P. from within the router assigned range (can't use 0.0.0.0) - the Catch-22 how to preload an I.P. addr for a module that will get assigned a unique new value as it is detected.
Since the we want the user to open a browser and enter that I.P. address in order to interact with the module, how does one detect that unknown state/value in code, the very first time, so as to allow a connect and wifi.save() ?
Could it be as simple as creating a known name and assign it using wifi.setDHCPHostname() but how does one start a session from the browser without it's I.P. address?
Trying to make this opaque and easy for bewildered end users without the headache(s) that seem to go along with auto detection. Short of reflashing the chip (which we don't want our users to perform) mine won't forget it's assigned I.P. even after playing with wifi.setDHCPHostname() Within the router range, 192.168.1.254 wont allow me to re-assign a new I.P. and forget the original detected I.P. address. Perplexing.
- http://www.espruino.com/ESP8266_Flashing#initial-flashing-on-windows
-
I noticed these very similar issues in a separate forum topic thread
but primarily with the puck. Could changes then (a month ago) now have an effect on the existing firmware? I only bring this up as @Robin 1v84 and @Ollie 1v87 commented on stable save() use after flash, yet right around 1v90 a month ago, a few have had similar disconnect issues after save() doing different tasks on separate development environments.
18 stevie4711 1v90.09 ". . . . But I got the disconnect on save()"
19 dklinkman 1v90.12 "Same here. I get the disconnects on save periodically"
20 stevie4711 "The more you use save() the more often it happens"
21 dklinkman 1v90.12 "If I try the puck disconnects."
30 Joakim 1v91 " . . . but disconnections on save() and . . . "
32 Adam79 " . . . and trying to save the code getting disconnects."
38 Gordon "and save() which worked fine before is now broken." -
-
I did use erase_flash with no observed difference.
To rule out some of the obvious;
To confirm, your development chip is an ESP8266-12 and are you developing on the Windows 10 platform?
Might be down to a PC reboot, although I did cold start yesterday.
To me still appears to be new firmware that is causing issue, as boot_v1.6.bin is newer than that 1.4 in flash instructions.
-
Thanks @Ollie,
I'm grasping at straws here, as I've been following the flash instructions at: http://www.espruino.com/ESP8266_Flashing
python "../esptool/esptool.py" --port COM3 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 boot_v1.6.bin 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin
the only difference I see is the com port and the boot ver
This works flawlessly for ver 1v84 so I don't see why it shouldn't for 1v91
I've also tried using hardwired com port vs Wifi and get the same results.
Could there be something strange with the manufacturer of this particular chip? (unlikely)
Could it be related to WebIDE on Windows 10? BTW what PC system was used for successful 1v91.122 flash?
-
Sun 2017.02.12
@Ollie An extra pair of eyes will help here thank you.
that link to travis/master is holding 1.87 builds when I go look.
The link provided by MaBe was for the parent folder; up one level, and looked for last folder modified provided 1v91.122 http://www.espruino.com/binaries/travis/bfeb548ef8d2241d25f2c78f1b999d8077c67b8c/
Since Mark provided yet a newer version 1v91.2150 link would that make more sense?
-
Sun 2017.02.12
@MaBe Downloaded the suggested 1v91.2150 files from https://github.com/MaBecker/esp8266/tree/master/firmware/espruino_1v91.2150_esp8266
but unfortunately get the same issue when attempting to save, or use setIP()
1v91.2150 Copyright 2016 G.Williams Espruino is Open Source. Our work is supported only by sales of official boards and donations: http://espruino.com/Donate Flash map 4MB:512/512, manuf 0xe0 chip 0x4016 > =undefined >process.memory() ={ "free": 825, "usage": 775, "total": 1600, "history": 700 } >save() Disconnected
Even tried a much smaller known .js source file to quell your file size surprise
1v91.2150 Copyright 2016 G.Williams Espruino is Open Source. Our work is supported only by sales of official boards and donations: http://espruino.com/Donate Flash map 4MB:512/512, manuf 0xe0 chip 0x4016 > =undefined >process.memory() ={ "free": 1415, "usage": 185, "total": 1600, "history": 201 } >save() Disconnected
I did notice in other posts that some were having save() issues with the puck during flash. Could this be related?
Q: As 1v84 save() is working for me now, is it worth the time trying to load other versions between 1v84 and 1v91?
If so, any suggestions on the better ones to try first?
-
For a second sanity check, and as I have this flash procedure down pat now, again tried 1v91
Performing the save() command still results in an immediate disconnect:1v91.122 Copyright 2016 G.Williams Espruino is Open Source. Our work is supported only by sales of official boards and donations: http://espruino.com/Donate Flash map 4MB:512/512, manuf 0xe0 chip 0x4016 > =undefined >process.memory() ={ "free": 899, "usage": 801, "total": 1700, "history": 730 } >save() Disconnected
Engraved on chip shield:
FCC ID:2ADUI ESP-12
Model ESP8266MOD
Vendor AI THINKER
Mark, Thank you.
This is puzzling as I mentioned I was able to ping the device in post #1 above.
Have used many variants like the one you so graciously provided, and all I get this time with the above snippet and typing 192.168.4.1:8080 into browser is:
Unable to get the router to forget the IP using factory defaults without the possibility of having to make a service call at cost from a device reset.
This might rule out whether Windows 10 or the router is part of the issue.
I note that sta is not config: