国内综合精彩aⅤ无码不卡_日本少妇做爰全过程_欧美性爱在线播放免费_午夜?V日韩一区二区_免费a级毛片无码免费播放_成在人线av无码喷水_亚洲精品网站色视频_国产婷婷精品成人_老师撩起裙子让我桶的视频_秋霞影院国产

遠(yuǎn)程控制通訊——基于Arduino IDE ESP8266控制LED燈(不需要arduino)

作者:chenyuechi | 更新時(shí)間:2016-05-29 | 瀏覽量:7260

一、目標(biāo)

通過ESP8266連接貝殼物聯(lián)服務(wù),實(shí)現(xiàn)遠(yuǎn)程控制LED燈亮滅,并將結(jié)果反饋至控制界面。


二、硬件

三、軟件

 首先下載arduino IDE 百度網(wǎng)盤:http://pan.baidu.com/s/1qWSpA92

 安裝arduino成功后,再根據(jù)arduino中文社區(qū)一位大神的教程配置一下環(huán)境:http://www.arduino.cn/thread-17895-1-1.html

如果wifi塊是ESP8266-01的按以下接線:(按燒寫模式接線)

運(yùn)行模式接線方法:(用USB轉(zhuǎn)TTL串口連接模塊與PC)

esp8266-01         u轉(zhuǎn)串

VCC-----------3.3

GND----------GND

CH_PD--------3.3

RX-------------TX

TX-------------Rx

GPIO2---------LED正極

GND------------LED負(fù)極


其余引腳為空。

燒寫模式接線方法:燒寫模式時(shí)需要將gpio0接地,工作模式時(shí)gpio0懸空

(注意有時(shí)8266需要獨(dú)立供電,不直接在ttl取電,很多出現(xiàn)問題都在供電上,別對自己的電源太自信)

參考這篇帖子上的說明進(jìn)行接線:http://www.arduino.cn/forum.php?mod=viewthread&tid=17896&page=1&extra=#pid148026

四、代碼

#include <ESP8266WiFi.h>
 WiFiClient client;
#define relay1 2 //LED連接在8266的GPIO2上
const char *ssid     = "*****";//這里是我的wifi,你使用時(shí)修改為你要連接的wifi ssid
const char *password = "**********";//你要連接的wifi密碼
const char *host = "121.42.180.30";

void setup() {
  Serial.begin(115200);
  delay(10);
  pinMode(relay1,OUTPUT);
  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  const int httpPort =8181;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }
  Serial.print("connecting to ");
  Serial.println(host);
  client.write("{\"M\":\"checkin\",\"ID\":\"***\",\"K\":\"*******\"}\r\n");//登陸設(shè)備,修改成自己的ID和key
  delay(10);
}

void loop() {
 char valueread;
      while(client.available()){
      String line = client.readStringUntil('\r');
     Serial.print(line);
     int i;     
     for(i=0;i<=150;i++)
     { 
      if((line[i]=='o') &&( line[i+1]=='n'))
      {  
        digitalWrite(relay1,HIGH);
        client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is on\",\"SIGN\":\"ok\"}\r\n");        
        }

         if((line[i]=='o') && (line[i+1]=='f'))
      {  
        digitalWrite(relay1,LOW);
        client.write("{\"M\":\"say\",\"ID\":\"ALL\",\"C\":\"LED1 is off\",\"SIGN\":\"ok\"}\r\n");  
       }
  
     
     }   
  }
  client.write("{\"M\":\"say\",\"ID\":\"***\",\"C\":\"123456\"}\r\n");//修改自己的ID,向設(shè)備發(fā)送信息,防止掉線
  delay(2000);
}



評論:共19條

貝殼物聯(lián) 評論于:2016-03-18 21:27:02
多謝分享,注釋很詳細(xì)!
chenyuechi 回復(fù)于:2016-03-18 21:29:41
回復(fù) @貝殼物聯(lián):我這個(gè)識別指令的方法好蠢,靠數(shù)位,哭蝦
貝殼物聯(lián) 回復(fù)于:2016-03-18 21:52:05
回復(fù) @chenyuechi:json數(shù)據(jù)的順序,萬一改變,這個(gè)方法就不行了-_-!!!
命令可以長一點(diǎn),判斷接收到的字符串中是否包括你發(fā)送的命令。
wony366 回復(fù)于:2016-04-05 19:25:18
回復(fù) @貝殼物聯(lián)站長,回復(fù)怎么不能帶符合呀,我暈
貝殼物聯(lián) 回復(fù)于:2016-04-07 09:58:50
回復(fù) @wony366: 修復(fù)了一下,你再試試
peter 回復(fù)于:2016-10-11 17:25:38
回復(fù) @chenyuechi:你好,按你的程序燒到ESP8266里可以聯(lián)網(wǎng),控制開打“on”LED亮,但打
“of”或者"off"LED不能關(guān)閉,貝殼網(wǎng)站返回一直是:LED1 is on,不知道我哪里沒搞對,請指教下,謝謝。
bmy9 回復(fù)于:2017-07-27 20:47:13
回復(fù) @peter:我現(xiàn)在也有這個(gè)問題。。
ωǒ為иǐ存在 回復(fù)于:2018-04-07 14:06:51
回復(fù) @bmy9:你的問題解決了嗎?我也遇到了不會呢
z956618955 回復(fù)于:2018-10-15 11:19:30
回復(fù) @peter:你好 我和你的情況一樣 你調(diào)試好了嗎
z956618955 回復(fù)于:2018-10-15 12:00:04
回復(fù) @ωǒ為иǐ存在:你好擬解決了嗎
ωǒ為иǐ存在 回復(fù)于:2018-11-05 21:45:54
回復(fù) @z956618955:解決了
ETHOME 回復(fù)于:2019-02-19 21:03:01
回復(fù) @貝殼物聯(lián):作者已經(jīng)沒有在貝殼了嗎? 我按這個(gè)代碼寫進(jìn)去以后,發(fā)現(xiàn)經(jīng)常會掉線不會重連,有什么解決辦法嗎
厝命1 回復(fù)于:2019-04-03 01:09:41
回復(fù) @貝殼物聯(lián):請問按作者的方法進(jìn)行操作后,led燈常亮并且貝殼網(wǎng)顯示不在線是怎么回事呢 純小白 ballball大佬
wony366 評論于:2016-04-05 19:21:48
這個(gè)例子很不錯(cuò),我試了,很成功,本人是個(gè)業(yè)余arduino 愛好者我想問下 client.write 的語法是怎樣的,github 上好像沒有單獨(dú)介紹的,比如 “ 有些不明白,我自己照你這大致的編寫方法寫了一句 client.writeMupdateID138V119trn 用來上傳溫度,t 是溫度標(biāo)量,串口輸出是正常傳感器溫度,但是 傳不到平臺,一直更新不了溫度值,138 是設(shè)備ID,119 是數(shù)據(jù)接口ID,希望大神能給予幫助。
奮斗し 回復(fù)于:2019-04-24 15:50:31
回復(fù) @wony366:嘗試一下重連貝殼物聯(lián)平臺,設(shè)置后在開始透傳
wony366 評論于:2016-04-05 19:23:24
是什么時(shí)候用,有些不明白。。。。傳字母符合時(shí)是怎么用,傳變量時(shí)又怎么用?
火箭飛行兵 評論于:2016-05-24 10:00:10
您好、我是小白、請問一下47位是怎么數(shù)的、
chenyuechi 回復(fù)于:2016-05-25 17:43:21
回復(fù) @火箭飛行兵:我改進(jìn)了程序,你再看一下
厝命1 評論于:2019-04-03 00:55:56
按作者的方法進(jìn)行操作后,led燈常亮并且貝殼網(wǎng)顯示不在線是怎么回事呢 純小白 各位大佬求救
返回頂部