I started working on a similar device that connects to the external serial port a few years back, before life got in the way and I had to focus on other things. I modified the esp slip firmware to add escape sequences to the slip protocol that allow me to set up and control the wifi network connection through the slip interface. Worked well. Where I got bogged down was on the mac software end. Using a serial terminal I could poke out values to set up and start the wifi connection, then connect via the InterSlip driver, and it works just fine. But writing my own slip driver to combine the wifi control and pass the network data on to MacTCP was more time consuming than I could spare.
Some hurdles you may run into - the serial connection will massively throttle down the bandwidth, and the esp slip firmware as written will pass through every packet, so you'll end up with a huge backlog of retransmitted packets further clogging up the pipe. You may want to add some sort of packet buffer on the esp that drops packets that have been retransmitted by the server while still queued up in the esp for transmission over the serial line. Also, I don't know if its just my router, or if it's a product of the evolution of the internet in the past 20 years, but I found that every packet returned from the internet had a flag set in the TCP packet which would cause MacTCP to drop it. I ended up having to add code to the esp which would modify the tcp header and recalcuate the checksum before forwarding it on over serial.
Definitely going to be watching your progress.
Some hurdles you may run into - the serial connection will massively throttle down the bandwidth, and the esp slip firmware as written will pass through every packet, so you'll end up with a huge backlog of retransmitted packets further clogging up the pipe. You may want to add some sort of packet buffer on the esp that drops packets that have been retransmitted by the server while still queued up in the esp for transmission over the serial line. Also, I don't know if its just my router, or if it's a product of the evolution of the internet in the past 20 years, but I found that every packet returned from the internet had a flag set in the TCP packet which would cause MacTCP to drop it. I ended up having to add code to the esp which would modify the tcp header and recalcuate the checksum before forwarding it on over serial.
Definitely going to be watching your progress.