本帖最后由 Dawn破晓 于 2022-1-10 15:15 编辑
先上代码- #include <ESP8266WiFi.h>
- #include <ESP8266WiFiMulti.h>
-
- ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象
- const char* host = "192.168.0.130"; // 网络服务器地址
- const int httpPort = 80; // http端口80
- // WiFi连接信息
- const char* WiFi_SSID = "Li-WiFi";
- const char* WiFi_Password = "12345678
- int wanqu = A0;
- int aa; //读取值1
- int aa2; //读取值2
- int bb; //转换值1
- int bb2; //转换值2
- int val; //赋予值
-
- void setup(){
- Serial.begin(115200);
- pinMode(wanqu,INPUT);
- WiFi.mode(WIFI_STA); // 设置ESP8266为无线终端模式
- wifiMulti.addAP(WiFi_SSID, WiFi_Password); //连接WiFi
- Serial.println("正在连接 ...");
-
- // 尝试进行wifi连接。
- int i = 0;
- while (wifiMulti.run() != WL_CONNECTED) {
- delay(1000);
- Serial.print(i++); Serial.print(' ');
- }
-
- // WiFi连接成功后将通过串口监视器输出连接成功信息
- Serial.println("");
- Serial.print("已连接 ");
- Serial.println(WiFi.SSID()); // WiFi名称
- Serial.print("IP address:\t");
- Serial.println(WiFi.localIP()); // IP
-
- WiFiClient client; // 建立WiFi客户端对象,对象名称client
- Serial.print("连接服务器:");
- Serial.print(host);
- if (client.connect(host, httpPort))
- {
- Serial.println("服务器成功连接!"); // 连接成功后串口输出“Success”信息
- }
- }
- void loop(){
-
- aa = analogRead(wanqu);
- delay(10);
- aa2 = analogRead(wanqu);
- bb = map(aa,450,330,1,20);
- bb2 = map(aa2,450,330,1,20);
- Client.print(bb);
- }
复制代码 在setup()成功连接服务器,也能发送数据,但是我在loop()发送数据Client.write(bb);编译时就报错,如果把连接服务器代码放在loop里就正常,但是那样它不停的连接服务器。我想让他连接一次服务器,后面不停的发送数据,不知道各位老师有什么办法?
|