- Sat Nov 28, 2015 2:47 pm
#35217
@netstat,
That is indeed cool ... however, not quite what I had in mind. If I am understanding that instructable properly, it would allow Pi written applications to write AT serial commands to the ESP8266. While that is goodness ... imagine all the existing Pi based applications ... let us take for example a simple TCP program ... "ftp". The ftp application allows one to copy files to a remote FTP server. Under the covers, it uses the TCP/IP stack that is native on Linux to perform its requests. It knows nothing about ESP8266 nor does it know anything about AT command. It expects to use Sockets APIs such as:
* socket
* connect
* send
* close
to send data to a partner.
Now, within a Linux kernel, the TCP/IP stack eventually has to drive real hardware. For a Pi, that is either an Ethernet driver or a WiFi dongle ... and both of these have device drivers to provide a hardware abstraction layer. If we could do the job properly, we could electrically connect some GPIOs from a Pi to GPIOs on an ESP8266 such that signals from the Pi could be received by code running in the ESP8266. These signals could then drive the ESP8266 network layers (probably at the LWIP level). In addition, if we had a Linux device driver that "knew" how to drive the Pi GPIOs corresponding to Linux TCP stack requests, then the TCP/IP access from Pi through Linux through an ESP8266 device driver through Pi GPIO writes through ESP8266 firmware reads through ESP8266 radio transmissions .... would be transparent.
The result would be (in principle) that every Linux application that uses TCP/IP today would "just work".
Now if all this sounds like rocket science, I believe that if we had a group of folks who know Linux device driver writing, LWIP TCP/IP stack, Pi GPIO and ESP8266 programming ... it could be done. I think this may even be considered "business as usual".
Free ESP8266 book available for download
here.