在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino UNO R3通過ESP8266-01模塊連接機智云平臺的實現

9GxC_IoTMaker ? 來源:小雨編程 ? 作者:小雨 ? 2021-05-25 16:38 ? 次閱讀

本文實現Arduino UNO R3通過ESP8266-01模塊連接機智云平臺,從而實現用手機APP遠程點亮LED燈。

ESP8266模塊本地調試

1

當我們參考機智云官網給的教程時,關于Arduino平臺主要都是關于機智云官方自己的開發板Gokit的資料。但當我們只使用Arduino UNO R3接入機智云平臺,有很多教程通過添加了兩個按鍵來選擇airlink和softap模式,其實我們只要在本地給ESP8266配好了網絡連接,就不需要每次通過按鍵切換配網模式。

第一步:首先在官網下載機智云固件GAgent,

第二步:使用ESP8266下載工具ESPFlashDownloadTool,將固件下載至ESP8266中。

第三步:在機智云官網下載機智云串口調試助手,

將ESP8266通過串口轉USB工具插在電腦上,安裝好驅動,選擇中確的驅動后,打開串口,填入在官網申請的product_key和Product Secret后,就能在右邊看見數據點了,此時再打開指令界面,點擊AirLink命令,ESP8266就進入了自動配網模式;

第四步:下載機智云移動端APP

打開APP,點擊一鍵配置,輸入家里的WiFi賬號及密碼,選擇樂鑫,因為剛才我們已經將ESP8266設置成AirLink透傳模式,現在通過APP就可以將家里的WiFi信息發送給ESP8266,此時APP發現新設備下會出現你的WiFi模組,點擊后就會看到你定義的數據點了。

硬件搭建

2

2.1硬件連接圖

LED接上220歐姆電阻,連在Arduino的D4上,ESP8266CH-PD和vcc都接高電平。

注意:

在給Arduino燒錄程序的時候要斷開ESP8266與Arduino的串口連接,否則會有干擾導致代碼燒錄不成功;

ESP8266-01只能供給3.3v電壓,5v電壓可能會燒壞WiFi模組

2.2項目源碼

#include

《Gizwits.h》

#include

《Wire.h》

#include

《SoftwareSerial.h》

int

ledPin =

13

;

// LED connected to digital pin 13,it‘s used for status

int

myledPin =

4

;

// my LED connected to digital pin 4

int

sensorValue =

0

;

// value read from the pot

bool

varR_LED_OnOff =

0

;

Gizwits

myGizwits;

#define

KEY1

6

#define

KEY2

7

#define

KEY1_SHORT_PRESS

1

#define

KEY1_LONG_PRESS

2

#define

KEY2_SHORT_PRESS

4

#define

KEY2_LONG_PRESS

8

#define

NO_KEY

0

#define

KEY_LONG_TIMER

3

unsignedlong

Last_KeyTime

=

0

;

unsignedlong

gokit_time_s(

void

{

return

millis() /

1000

;

}

char

gokit_key1down(

void

{

unsignedlong

keep_time =

0

;

if

(digitalRead(KEY1) == LOW)

{

delay(

100

);

if

(digitalRead(KEY1) == LOW)

{

keep_time = gokit_time_s();

while

(digitalRead(KEY1) == LOW)

{

if

((gokit_time_s() - keep_time) 》 KEY_LONG_TIMER)

{

Last_KeyTime

= gokit_time_s();

return

KEY1_LONG_PRESS;

}

}

//until open the key

if

((gokit_time_s() -

Last_KeyTime

) 》 KEY_LONG_TIMER)

{

return

KEY1_SHORT_PRESS;

}

return

0

;

}

return

0

;

}

return

0

;

}

char

gokit_key2down(

void

{

intunsignedlong

keep_time =

0

;

if

(digitalRead(KEY2) == LOW)

{

delay(

100

);

if

(digitalRead(KEY2) == LOW)

{

keep_time = gokit_time_s();

while

(digitalRead(KEY2) == LOW)

//until open the key

{

if

((gokit_time_s() - keep_time) 》 KEY_LONG_TIMER)

{

Last_KeyTime

= gokit_time_s();

return

KEY2_LONG_PRESS;

}

}

if

((gokit_time_s() -

Last_KeyTime

) 》 KEY_LONG_TIMER)

{

return

KEY2_SHORT_PRESS;

}

return

0

;

}

return

0

;

}

return

0

;

}

/*******************************************************

* function : gokit_keydown

* Description : check the gokit key1 or key2 event

* return : KEY1_LONG_PRESS KEY1_SHORT_PRESS

* KEY2_LONG_PRESS KEY2_SHORT_PRESS

* 0-no keydown event.

* Add by Alex.lin --2014-12-25

******************************************************/

char

gokit_keydown(

void

{

char

ret =

0

;

ret |= gokit_key2down();

ret |= gokit_key1down();

return

ret;

}

void

KEY_Handle(

void

{

/* Press for over than 3 second is Long Press */

switch

(gokit_keydown())

{

case

KEY1_SHORT_PRESS:

// Serial.println(F(“KEY1_SHORT_PRESS , Production Test Mode ”));

myGizwits.setBindMode(WIFI_PRODUCTION_TEST);

break

;

case

KEY1_LONG_PRESS:

// Serial.println(F(“KEY1_LONG_PRESS ,Wifi Reset”));

myGizwits.setBindMode(WIFI_RESET_MODE);

break

;

case

KEY2_SHORT_PRESS:

// Serial.println(F(“KEY2_SHORT_PRESS Soft AP mode”));

myGizwits.setBindMode(WIFI_SOFTAP_MODE);

//Soft AP mode

break

;

case

KEY2_LONG_PRESS:

// Serial.println(F(“KEY2_LONG_PRESS ,AirLink mode”));

digitalWrite(ledPin, HIGH);

// sets the LED on

myGizwits.setBindMode(WIFI_AIRLINK_MODE);

//AirLink mode

break

;

default

break

;

}

}

void

setup() {

// put your setup code here, to run once:

Serial

。

begin

9600

);

pinMode(ledPin, OUTPUT);

// sets the digital pin as output

pinMode(myledPin, OUTPUT);

// sets the digital pin as output

pinMode(KEY1, INPUT_PULLUP);

pinMode(KEY2, INPUT_PULLUP);

myGizwits.

begin

();

}

void

wifiStatusHandle()

{

// if(myGizwits.wifiHasBeenSet(WIFI_SOFTAP))

// Serial.println(F(“WIFI_SOFTAP!”));

//

// if(myGizwits.wifiHasBeenSet(WIFI_AIRLINK))

// Serial.println(F(“WIFI_AIRLINK!”));

//

// if(myGizwits.wifiHasBeenSet(WIFI_STATION))

// Serial.println(F(“WIFI_STATION!”));

//

if

(myGizwits.wifiHasBeenSet(WIFI_CON_ROUTER))

digitalWrite(ledPin, LOW);

// sets the LED off

// Serial.println(F(“WIFI_CON_ROUTER!”));

//

// if(myGizwits.wifiHasBeenSet(WIFI_DISCON_ROUTER))

// Serial.println(F(“WIFI_DISCON_ROUTER!”));

//

// if(myGizwits.wifiHasBeenSet(WIFI_CON_M2M))

// Serial.println(F(“WIFI_CON_M2M!”));

//

// if(myGizwits.wifiHasBeenSet(WIFI_DISCON_M2M))

// Serial.println(F(“WIFI_DISCON_M2M!”));

}

void

loop() {

//Configure network

//if(XXX) //Trigger Condition

//myGizwits.setBindMode(0x02); //0x01:Enter AP Mode;0x02:Enter Airlink Mode

/*

unsigned long varW_ADCValue = 0;//Add Sensor Data Collection

myGizwits.write(VALUE_ADCVALUE, varW_ADCValue);

bool varR_LED_OnOff = 0;

if(myGizwits.hasBeenSet(EVENT_LED_ONOFF))

{

myGizwits.read(EVENT_LED_ONOFF,&varR_LED_OnOff);//Address for storing data

}

//binary datapoint handle

*/

sensorValue = analogRead(A0);

unsignedlong

varW_ADCValue = sensorValue;

//Add Sensor Data Collection

myGizwits.write(VALUE_ADCVALUE, varW_ADCValue);

if

(myGizwits.hasBeenSet(EVENT_led_onoff))

{

myGizwits.read(EVENT_led_onoff,&varR_LED_OnOff);

//Address for storing data

}

if

(varR_LED_OnOff==

1

{

digitalWrite(myledPin, HIGH);

// sets the user LED on

}

else

{

digitalWrite(myledPin, LOW);

// sets the user LED off

}

KEY_Handle();

//key handle , network configure

wifiStatusHandle();

//WIFI Status Handle

myGizwits.process();

}至此,你的ESP8266模組就成功連接上機智云服務平臺了,無論你在任何地方,無論用WiFi和4G都能通過APP來控制LED等的亮滅了,機智云還提供了APP的開源框架,我們可以在此基礎上高度自由地定制我們自己的APP接入機智云物聯網平臺。

原文標題:Arduino使用ESP8266連接機智云物聯網平臺

文章出處:【微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2927

    文章

    46010

    瀏覽量

    389278
  • 機智云
    +關注

    關注

    3

    文章

    611

    瀏覽量

    26760

原文標題:Arduino使用ESP8266連接機智云物聯網平臺

文章出處:【微信號:IoTMaker,微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于STM32 HAL庫與標準庫的esp8266接入機智方案(二)

    在《基于STM32HAL庫與標準庫的esp8266接入機智方案(一)》中,我們詳細介紹了硬件連接機智
    的頭像 發表于 05-28 18:02 ?337次閱讀
    基于STM32 HAL庫與標準庫的<b class='flag-5'>esp8266</b>接入<b class='flag-5'>機智</b><b class='flag-5'>云</b>方案(二)

    ESP8266燒錄與機智一鍵配網教程

    ESP8266模塊因其低成本和高性能,廣泛應用于智能家居和工業自動化等領域。機智平臺提供了一鍵配網功能,簡化了設備的聯網過程。本教程將詳細
    的頭像 發表于 05-24 11:04 ?248次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與<b class='flag-5'>機智</b><b class='flag-5'>云</b>一鍵配網教程

    esp8266連接阿里平臺時mqtt連接超時

    esp8266nodemcu在使用arduino.ide連接阿里平臺的時候,wifi配置正常但連接
    發表于 10-26 21:39

    機智入門必備》手把手教你燒錄GAgent固件

    本文《機智入門必備》將詳細講解GAgent固件的燒錄過程,從基礎設置到實際操作,將一步步帶你完成每一個環節,確保你的設備順利連接機智平臺
    的頭像 發表于 09-12 08:04 ?816次閱讀
    《<b class='flag-5'>機智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    arduino(1)--ESP8266配置

    硬件準備 首先需要準備一個開發板,這里我準備的是淘寶購買的兼容arduinoESP8266模塊arduino配置 我使用的是arduino
    發表于 09-06 11:00

    esp8266wifi模塊怎么連接手機

    ESP8266 WiFi模塊連接手機主要可以通過兩種方式實現通過路由器
    的頭像 發表于 08-19 17:27 ?7365次閱讀

    ESP8266-01如何更新固件?

    您好,我有 ESP8266-01,我需要通過 Arduino 更新固件......我有這個版本......esp_iot_sdk_v1.4.0_15_09_18.zip 可以給任何鏈
    發表于 07-22 07:33

    如何將ESP8266-01模塊用作物理層設備?

    嗨,大家好。我想將 ESP8266-01 模塊用作物理層設備,就像射頻發射器和接收器一樣。 一個模塊將用作發射器,它在沒有 WI-Fi 連接的情況下工作,并將發送原始數據,第二個
    發表于 07-19 12:18

    如何使用ESP8266-01構建一個電池供電的數據記錄器?

    我正在嘗試使用 ESP8266-01 構建一個電池供電的數據記錄器。它將每小時進行一次測量,通過 WiFi 報告,然后再 60 分鐘不做任何事情(睡眠)。時序將由TPL5111芯片處理,該芯片似乎是
    發表于 07-19 06:53

    使用ESP8266-01Arduino SDK安裝AT固件失敗了怎么解決?

    在使用我的 ESP8266-01Arduino SDK 玩了一會兒后,我想再次在其上安裝 AT 固件,但我失敗了。 我嘗試從ESP8266_NONOS_SDK-3.0.5開始,按如下方式安裝它
    發表于 07-19 06:08

    STM32F103 + ESP8266機智開發常見問題集錦:入門者必讀!

    關于ESP8266模塊的選擇針對初學者,強烈建議選擇帶有串口的ESP8266開發板!這可以避免像我曾經遇到的燒錄固件失敗等問題。推薦直接購買已預裝機智
    的頭像 發表于 07-18 08:11 ?918次閱讀
    STM32F103 + <b class='flag-5'>ESP8266</b>與<b class='flag-5'>機智</b><b class='flag-5'>云</b>開發常見問題集錦:入門者必讀!

    ESP8266-01適合長時間使用嗎?

    我正在使用ESP8266-01,運行NONOS_SDK_V2.0.0_16_07_19。程序正在使芯片進入深度睡眠 2 分鐘,然后收集數據。它運行良好大約 ~20 小時,ESP UART 輸出符合
    發表于 07-18 06:45

    使用ESP8266arduino連接到thinkspeak,無法將其連接到任何網頁,為什么?

    我正在嘗試使用 ESP8266arduino 連接到 thinkspeak 。所以我能夠將 esp
    發表于 07-16 07:43

    ESP8266-01在幾個小時后停止響應了如何解決?

    我已經使用 Arduino IDE 為我的家庭自動化項目編寫了 ESP8266-01。ESP-01 會在一段時間后停止響應接收到的 UDP 廣播數據。 有人可以告訴我如何解決這個問題嗎?
    發表于 07-15 07:31

    ESP8266-01將ch_pd引腳與直接vcc連接,電池功耗持續非常高,怎么解決?

    我使用 ESP8266-01 開發產品并與其他主機 MCU 接口,主機 MCU 使用 UART 和 AT 命令進行 ESP 通信。我們的產品是在低功耗的電池源上,如果我想與主機 MCU 建立
    發表于 07-15 06:37
    主站蜘蛛池模板: 狠狠色丁香九九婷婷综合五月 | 色噜噜亚洲精品中文字幕 | 天天做天天爽天天谢 | 台湾三级毛片 | 你懂的网址在线观看 | 男人的午夜影院 | 国产资源站 | 色香蕉在线 | 亚洲一区中文字幕在线 | 亚洲欧洲精品成人久久曰影片 | 国内一级特黄女人精品毛片 | 国产精品视频永久免费播放 | 亚洲无吗在线视频 | 欧美色爱综合 | 成人人免费夜夜视频观看 | 国产网站免费观看 | 国产在线啪 | 久久国产成人精品国产成人亚洲 | 极品丰满翘臀后进啪啪 | 国产视频黄色 | 免费看又爽又黄禁片视频1000 | 992tv国产精品福利在线 | 国模在线视频一区二区三区 | www4hu| 男男浪荡双性受hplay | 国产精品久久久久久免费播放 | 天天干b | 怡红院色视频在线 | 国产看色免费 | 欧美极品色影院 | 四虎永久精品免费网址大全 | 丁香六月婷婷激情 | 日本不卡视频在线观看 | 免费观看一级一片 | 亚洲卡1卡2卡新区网站 | 三级免费观看 | 天天色综合2 | 欧美日韩国产一区二区 | 美女很黄很黄是免费的·无遮挡网站 | 日本色黄视频 | 免费人成网址在线观看国内 |