SIM800C GSM module works via PC but not on battery
Have you ensured that there is a shared ground between the SIM800 module and the NodeMCU module? In your first example this common ground would be provided by being connected to the PC over the USB connections but in your second schematic there doesn't appear to be a connection. 

Even though you have the NodeMCU GND pin connected to the BOOT pin on the SIM800 you should provide a dedicated ground to make sure that everything shares the same point of reference.

See this post for further information: Why do networks need a common ground cable?