我需要在我的ESP8266芯片之间发送简单的整数,该芯片被配置为接入点。
我已经读完了这个问题: Sending data to ESP8266 Wi-Fi chip from Android device
但我不明白如何使用TCP套接字来接收和发送数据,因为ESP8266只能使用AT命令控制。
有人可以提供深入的解释吗?
应用中的代码段:
CEILING((DATEDIFF(MONTH, FinYearStartDate, MonthStartDate)) / 3) + 1
答案 0 :(得分:1)
您是否应该使用套接字,这取决于正在通信的设备。套接字,即Berkeley Sockets,是支持多个OSI层(IEEE 802协议,IP,ICMP,TCP,UDP等)上的众多协议的强大计算机的抽象。
从谷歌来看,ESP8266似乎是Arduino的小型扩展板。 Arduino没有实现套接字,至少开箱即用。通常,较小的设备倾向于使用自己的TCP / IP实现而不是套接字,因为后者过于笼统且难以实现。 Arduino有很多支持wifi / ethernet /蓝牙功能的主板,实际上没有人会在一个lib中支持所有功能。
在您的情况下,微控制器通过AT命令与ESP8266通信。所以这是你唯一的选择。在微控制器上使用AT命令,使用远程机器上的任何可用命令。如果它是计算机,您可以在那里使用套接字。如果它只是相同的Arduino + ESP8266,请再次使用AT命令。
可能已经为ESP8266实施了TCP,它可能会大大简化。否则,如果网络中只有两台设备,则第2层(没有IP和TCP的纯wifi)通信也可以。