久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4062|回復(fù): 1
收起左側(cè)

Arduino+ESP8266+貝殼物聯(lián)網(wǎng)使用手機(jī)進(jìn)行遠(yuǎn)程控制

[復(fù)制鏈接]
ID:233792 發(fā)表于 2020-8-29 13:59 | 顯示全部樓層 |閱讀模式
程序通過(guò)ESP8266連接貝殼物聯(lián),使用微信關(guān)注貝殼物聯(lián)進(jìn)行控制,也可下載貝殼物聯(lián)控制APP 進(jìn)行操作。程序中加入了自動(dòng)配網(wǎng)

Arduino源程序如下:
  1. //增加聯(lián)網(wǎng)失敗,重新連接,
  2. #include <ESP8266WiFi.h>
  3. WiFiClient client;
  4. #define led 4 //接繼電器控制燈
  5. #define relay1 2 //模塊led,作網(wǎng)絡(luò)狀態(tài)指示,啟動(dòng)后常亮,則正常聯(lián)網(wǎng)
  6. #define key 5//將dht11的data口接在8266的GPIO2上
  7. const char *ssid = "Nok7";
  8. const char *password = "bfx1234567890";
  9. const char *host = "121.42.180.30";
  10. char flag=0;
  11. int x=0;
  12. int y=0;
  13. int f;
  14. bool autoConfig()
  15. {
  16.   int a=0;
  17.   pinMode(key,INPUT);
  18.   if(digitalRead(key) == LOW)
  19.   flag=1;
  20.   else
  21.   flag=0;
  22.   while(!digitalRead(key));
  23.   
  24.   if(flag==1)
  25.   {
  26.    return false;
  27.   }
  28.   else
  29.   {
  30.       WiFi.begin();
  31.       while (WiFi.status() != WL_CONNECTED)
  32.     {
  33.       Serial.println("AutoConfig Success");
  34.       Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
  35.       Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
  36.       WiFi.printDiag(Serial);
  37.       digitalWrite(relay1,HIGH);
  38.       delay(800);
  39.       delay(100);
  40.       digitalWrite(relay1,LOW);
  41.       delay(100);
  42.       a++;
  43.       if(a==20)
  44.       {
  45.         a=0;
  46.         return false;
  47.         break;
  48.       }
  49.     }
  50.     if(false)
  51.     {
  52.       Serial.println("");
  53.       Serial.println("wifi line faild !");
  54.       while(1)
  55.       {
  56.        digitalWrite(relay1,LOW);
  57.       }
  58.       
  59.     }
  60.     else
  61.     {
  62.       Serial.println("");
  63.       Serial.println("WiFi connected");
  64.       Serial.println("IP address: ");
  65.       Serial.println(WiFi.localIP());
  66.       digitalWrite(relay1,HIGH);
  67.       return true;
  68.     }
  69.   }
  70. }
  71. //*
  72. void smartConfig()
  73. {
  74.   WiFi.mode(WIFI_STA);
  75.   Serial.println("\r\nWait for Smartconfig");
  76.   WiFi.beginSmartConfig();
  77.   while (1)
  78.   {
  79.       Serial.print("Wait soft line..\r\n");
  80.     if (WiFi.smartConfigDone())
  81.     {
  82.       Serial.println("SmartConfig Success");
  83.       Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
  84.       Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
  85.       autoConfig();
  86.       //WiFi.setAutoConnect(true); // 設(shè)置自動(dòng)連接
  87.       break;
  88.     }
  89.     digitalWrite(relay1,LOW);
  90.     delay(100);
  91.     digitalWrite(relay1,HIGH);
  92.     delay(100);         
  93.   }
  94.   Serial.println("");
  95.   digitalWrite(relay1,HIGH);
  96.   Serial.println("WiFi connected");
  97.   Serial.println("IP address: ");
  98.   Serial.println(WiFi.localIP());
  99. }
  100. //*/
  101. //*
  102. void line_tcp()
  103. {
  104.   Serial.println(WiFi.localIP());
  105.   const int httpPort =8282;
  106.   client.connect(host, httpPort);
  107.   f=10;
  108.   while(f--)
  109.   {
  110.     digitalWrite(relay1,LOW);
  111.     delay(500);
  112.     digitalWrite(relay1,HIGH);
  113.     delay(500);  
  114.   }
  115.   if (!client.connect(host, httpPort))
  116.   {
  117.     Serial.println("connection failed");
  118.     return;
  119.   }
  120.   Serial.print("connecting to ");
  121.   Serial.println(host);
  122.   delay(1000);
  123.   //client.write("{\"M\":\"checkin\",\"ID\":\"12664\",\"K\":\6743d7a7c\"}\r\n");//登陸設(shè)備,修改成自己的ID和key
  124.   delay(1000);
  125.   client.write("{\"M\":\"checkin\",\"ID\":\"12664\",\"K\":\"6743d7a7c\"}\r\n");//注意:一定要加\r\n 換行才能登陸成功
  126.   delay(1000);
  127.   client.write("{\"M\":\"checkin\",\"ID\":\"12664\",\"K\":\"6743d7a7c\"}\r\n");//注意:一定要加\r\n 換行才能登陸成功
  128.   delay(1000);
  129.   client.write("{\"M\":\"checkin\",\"ID\":\"12664\",\"K\":\"6743d7a7c\"}\r\n");//注意:一定要加\r\n 換行才能登陸成功
  130. }
  131. //*/
  132. void setup()
  133. {
  134.   Serial.begin(115200);
  135.   pinMode(relay1, OUTPUT);
  136.   pinMode(led, OUTPUT);
  137.   if (!autoConfig())
  138.   {
  139.     Serial.println("Start AP mode");
  140.     smartConfig();
  141.   }
  142.   line_tcp();
  143. }

  144. void loop()
  145. {
  146.   char valueread;
  147.   while(client.available())
  148.   {
  149.     String line = client.readStringUntil('\r');
  150.     Serial.print(line);
  151.     int i;
  152.     for(i=0;i<=150;i++)
  153.     {
  154.       if((line[i]=='p') &&( line[i+1]=='l'))
  155.       {
  156.         digitalWrite(led,HIGH);
  157.         client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"\"}\r\n");
  158.       }
  159.       
  160.       if((line[i]=='s') && (line[i+1]=='t'))
  161.       {
  162.         digitalWrite(led,LOW);
  163.         client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"\"}\r\n");
  164.       }
  165.       if((line[i]=='n') && (line[i+1]=='o')&&(line[i+2]=='k'))
  166.       {
  167.         digitalWrite(relay1,LOW);
  168.        // client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"\"}\r\n");
  169.       }
  170.       //*
  171.       if(line[i]=='b')
  172.       {
  173.         //digitalWrite(relay1,LOW);
  174.         //client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is connected\",\"SIGN\":\"ok\"}\r\n");
  175.         y=0;
  176.         client.write("{\"M\":\"say\",\"ID\":\"****\",\"C\":\"12664\"}\r\n");//修改自己的ID,向設(shè)備發(fā)送信息,防止掉線  
  177.       }
  178.        //*/
  179.     }
  180.   }
  181. // delay(1000);
  182. // Serial.print(WiFi.status());
  183.   //*
  184.   x++;
  185.   if(x>=10000)
  186.   {
  187.     x=0;
  188.     y++;
  189.     //Serial.println(y);
  190.   }
  191.   if(WiFi.status()!=3||y>=1200)
  192.   {
  193.         if (!autoConfig())
  194.     {
  195.       Serial.println("Start AP mode");
  196.       smartConfig();
  197.     }
  198.     line_tcp();
  199.   }
  200.   //*/
  201. // delay(1000);
  202. }
復(fù)制代碼


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:53978 發(fā)表于 2020-8-31 08:34 | 顯示全部樓層
這個(gè)要學(xué)習(xí)一下,感謝分享。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费一级黄色录像 | 美女黄网 | 亚洲精品一区二区三区四区高清 | 黄色网址在线免费观看 | 久久久久久久久久久丰满 | 日韩在线看片 | 欧美啊v在线观看 | 亚洲第1页 | 成人综合伊人 | 手机av网 | 精品久久伊人 | 国产在视频一区二区三区吞精 | 亚洲精品一区二区三区在线观看 | 久久久91精品国产一区二区三区 | 日韩网站免费观看 | 久久久国产亚洲精品 | 日韩视频中文字幕 | 精品在线观看入口 | 999久久久久久久久6666 | 99精品欧美一区二区三区 | 亚洲精品一区二区三区中文字幕 | 国产精品免费一区二区 | 国产成人99久久亚洲综合精品 | 久久不卡日韩美女 | 久久精品91久久久久久再现 | 国产在线观看一区二区三区 | 日日久| 天天爱综合 | 免费成人av | a久久 | 久久国产精品一区二区三区 | 久久久亚洲一区 | 欧美一区二区三区四区五区无卡码 | 99精品视频免费观看 | 欧美一级欧美一级在线播放 | 久久岛国 | 黄色一级免费看 | 久久久久久免费毛片精品 | 精品91视频 | 中文字幕在线观看第一页 | 黄色免费在线观看网址 |