I also tried the hardware serial and some timing tricks, but finally I had need for more than one UART.
I wrote a small library to use any GPIO-Port for RS485.
Maybe you can use it (pull requests are very welcome!)
My project is to create a low cost web server ESP8266 (lua) which implements the functions of SDM120c Modbus RTU and allow the reading of the electrical parameters Kwh, V, A, PF, Hz, W etc.
The schematic that attach do you think it can work?
I do not know whether you need to lower the 3.7V to 3.3V.
P.S. Pardon my bad English.
I think it can work. The max 485 can handle to to 5v, and also 3.3v would not really be a problem. I do not know if the esp8266 is compatible with 3.7v or sometimes even more for li ion batteries.
Apart from that, my library is not included in nodemcu (the lua firmware). It is only a plain c library.