下载建设银行官方网站下载,北碚区网站建设,网站 多语,免费网站正能量不用下载电脑端运行通讯猫调试助手,作为服务端: 电脑端
电脑的IP地址是: 192.168.2.232
手机与电脑之间的TCP通讯
手机端运行网络调试精灵,作为客户端: 手机端 如果从手机端点击发送按钮,则也会将ghhh东方红广场几个字发送到电脑上(服务端). ESP8266作为客户… 电脑端运行通讯猫调试助手,作为服务端: 电脑端
电脑的IP地址是: 192.168.2.232
手机与电脑之间的TCP通讯
手机端运行网络调试精灵,作为客户端: 手机端 如果从手机端点击发送按钮,则也会将ghhh东方红广场几个字发送到电脑上(服务端). ESP8266作为客户端: // 注意如果是本地设备作服务器,则要求TCP Sever 和 ESP8266 都连接到同一个路由器。
#include ESP8266WiFi.h
#define AP_SSID trdjtxxx //所用WiFi的名字
#define AP_PSW xh36xxxx //所用WiFi的密码const uint16_t port 10002; //Tcp 服务器的端口
const char * host 120.76.100.197; //Tcp 服务器的ip地址WiFiClient client; //创建一个tcp client连接void setup() {Serial.begin(115200);delay(5000);WiFi.mode(WIFI_STA); //设置WiFi 为 Station 模式WiFi.begin(AP_SSID,AP_PSW); //连接WiFiSerial.println(Connecting to WiFi... );//等待wifi连接成功while (WiFi.status() ! WL_CONNECTED) {Serial.println(Failed!);delay(500);}Serial.println();Serial.println(Connected);Serial.println(Local IP: );Serial.println(WiFi.localIP());delay(500);
}void loop() {Serial.println(Connecting to TCP Server :);Serial.println(host);if (!client.connect(host, port)) {Serial.println(Failed);Serial.println(Reconnect in 5 seconds);delay(5000);return;}// 发送数据到 Tcp Server Serial.println(Send The String to TCP Server :\I am Esp8266\);client.println(String(I am Esp8266));//读取从 Tcp Server 返回的数据以回车符结尾String line client.readStringUntil(\n);Serial.println(line);//3s 后关闭连接delay(3000);Serial.println();client.stop();//等待5s程序循环运行即5s后从新开始连接Serial.println(wait 5 sec...);delay(5000);
}120.76.100.197 即:webtcp.tongxinmao.com的IP地址. ESP8266作为TCP服务器: // ESP8266 TCP服务端程序,同时也作为一个WIFI AP // 注意作为客户端的电脑或手机必须先通过WIFI连接到此ESP8200上 // 即和 ESP8266 都连接到同一个网络中。
Arduino 程序代码:
#include ESP8266WiFi.h
#define MAX_SRV_CLIENTS 3 //最大同时连接数即可接入的设备数量的最大值//8266 tcpserver只能接入5个此数据不确定网上是这么说的WiFiServer server(8266); //端口号范围 0-65535
WiFiClient serverClients[MAX_SRV_CLIENTS];const char WiFiAPPSW[] xh36xxxx; //设置AP模式下模块所发出的WIFI的密码
char data[1500];
int ind 0;void setupWiFi()
{WiFi.mode(WIFI_AP);uint8_t mac[WL_MAC_ADDR_LENGTH];WiFi.softAPmacAddress(mac);String macID String(mac[WL_MAC_ADDR_LENGTH - 3], HEX) String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);macID.toUpperCase();//设置AP模式下的WIFI名称12345678_ MAC地址后六位 String AP_NameString 12345678 macID;char AP_NameChar[AP_NameString.length() 1];memset(AP_NameChar, AP_NameString.length() 1, 0);for (int i0; iAP_NameString.length(); i)AP_NameChar[i] AP_NameString.charAt(i);WiFi.softAP(AP_NameChar, WiFiAPPSW);Serial.println();Serial.print ( IP address: );Serial.println ( WiFi.softAPIP() );server.begin();}
void setup()
{Serial.begin(115200);Serial.println (\nBegin now!!!);setupWiFi();
}void loop()
{uint8_t i;//检测服务器端是否有活动的客户端连接if (server.hasClient()){ for (i 0; i MAX_SRV_CLIENTS; i)//查找空闲或者断开连接的客户端并置为可用{if (!serverClients[i] || !serverClients[i].connected()){if (serverClients[i]) serverClients[i].stop(); //未连接,就释放serverClients[i] server.available(); //分配新的// Serial.print(New client: ); Serial.println(i);continue;} }//若没有可用客户端则停止连接WiFiClient serverClient server.available();serverClient.stop();}//检查客户端的数据for (i 0; i MAX_SRV_CLIENTS; i){if (serverClients[i] serverClients[i].connected()){if (serverClients[i].available()){Serial.println(Connected to client !!! );//从Telnet客户端获取数据while (serverClients[i].available()) {data[ind] serverClients[i].read(); //读取client端发送的字符ind;}for(int j0;j ind; j){Serial.print(data[j]);}Serial.println();ind 0;serverClients[i].print(OK! Got your request.); //在client端回复 } }}
}参考:
esp笔记5esp8266 与 TCP Sever 建立通讯_esp8266tcp server程序-CSDN博客
【ESP8266】ESP8266作为TCPServer与其他设备建立一个TCP网络进行局域网通讯_多个esp8266如何组网-CSDN博客