Chat about current Lua tools and IDEs

User avatar
By timg11
#72750 Hi,
First time using Node MCU, in Windows 10 /64 environment.
I have the "D1 Mini NodeMcu 4M bytes Lua WIFI Development Boards ESP8266 by WeMos"
I'm roughly following the process outlined in https://www.instructables.com/id/Web-Clock-Version-20/

The device reports as:
Code: Select all      C:\Data\DEV\ESPtool-master>python esptool.py --port COM5 flash_id
      esptool.py v2.3-dev
      Connecting....
      Detecting chip type... ESP8266
      Chip is ESP8266EX
      Uploading stub...
      Running stub...
      Stub running...
      Manufacturer: 5e
      Device: 4016
      Detected flash size: 4MB
      Hard resetting...
      
      C:\Data\DEV\ESPtool-master>


I built the firmware at https://nodemcu-build.com/
including modules bit, file, GPIO, I2C, net, node, PWM, timer, UART and WiFi.

I downloaded the flashing tool: https://github.com/marcelstoer/nodemcu- ... r/releases

Flashing the generated firmware (nodemcu-master-8-modules-2017-12-27-23-08-54-integer.bin") results in:
Code: Select all      Connecting....
      Detecting chip type... ESP8266
      Chip is ESP8266EX
      Uploading stub...
      Running stub...
      Stub running...
      Configuring flash size...
      Auto-detected Flash size: 4MB
      Flash params set to 0x0240
      Compressed 580528 bytes to 375036...
      Wrote 580528 bytes (375036 compressed) at 0x00000000 in 33.1 seconds (effective 140.4 kbit/s)...
      Hash of data verified.
      
      Leaving...
      
      Done.



I run into problems with code uploading. I have a set of .lua files I need to upload: accept.lua, button.lua, calculateTime.lua, doloops.lua, googleTime.lua, init.lua, lcdprint.lua, udpserver.lua

I first tried https://github.com/kmpm/nodemcu-uploader
It fails with the following:
Code: Select all      C:\Data\DEV\NodeMCU_Uploader>python nodemcu-uploader.py -p COM5 -B 115200 upload filename "C:\Data\DEV\ESP8266 - Wemos Web Clock Version 2\*.lua"
      opening port COM5 with 115200 baud
      Preparing esp for transfer.
      Transferring C as \Data\DEV\ESP8266 - Wemos Web Clock Version 2\*.lua
      did not ack destination filename
      Traceback (most recent call last):
        File "nodemcu-uploader.py", line 11, in <module>
          main.main_func()
        File "C:\Data\DEV\NodeMCU_Uploader\nodemcu_uploader\main.py", line 267, in main_func
          args.restart)
        File "C:\Data\DEV\NodeMCU_Uploader\nodemcu_uploader\main.py", line 56, in operation_upload
          uploader.write_file(filename, dst, verify)
        File "C:\Data\DEV\NodeMCU_Uploader\nodemcu_uploader\uploader.py", line 270, in write_file
          raise NoAckException('Device did not ACK destination filename')
      nodemcu_uploader.exceptions.NoAckException: Device did not ACK destination filename


I then tried Esplorer.
I open the port where the NodeMCU is connected (COM5) and get:
Code: Select allPORT OPEN 115200
Communication with MCU..


It remains in this state indefinitely.
I tried opening the COM port with all baud rates from 9600 to 115200, and I get the same result.


I can go back to the esptool.py and still get flash status:
Code: Select allC:\Data\DEV\ESPtool-master>python esptool.py --port COM5 flash_id
esptool.py v2.3-dev
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting...

C:\Data\DEV\ESPtool-master>


So presumably module is not bricked. What am I missing with the code uploading? Why does neither tool work?
User avatar
By timg11
#72753 Further searching found http://benlo.com/esp8266/index.html#LuaLoader

This program does seem to work:

Code: Select all> = node.heap()
44184
> uart.setup(0,9600,8,0,1,0)
> > >
Thursday, December 28, 2017  11:20:35


Text upload: C:\Data\DEV\ESP8266 - Wemos Web Clock Version 2\init.lua

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
2782 bytes uploaded to init.lua

> = node.heap()
44184


I'm still curious about why the others don't work....