給您幾個思路
1. ESP8266用AT指令進行指令下達和TCP/UDP通訊
2. 您需要一組Serial讓ESP8266和51通訊,並傳送AT指令
3. Arduino是指esp8266端,這端可以不必做,因為您有額外的51當作主MCU,ESP8266當作module使用(slave)
4. 所有控制邏輯和AT指令在51這端編寫,收發AT指令和TCP/UDP的Data
以上供參考
51单片机上面只有一路I2C总线,因此在不使用更多元件的情况下,你需要从TCP获取数据之后再通过I2C总线发出去
arduino里面本来就有I2C的库,你可以直接调用这个库来操作I2C总线