91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino UNO R3通過(guò)ESP8266-01模塊連接機(jī)智云平臺(tái)的實(shí)現(xiàn)

9GxC_IoTMaker ? 來(lái)源:小雨編程 ? 作者:小雨 ? 2021-05-25 16:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文實(shí)現(xiàn)Arduino UNO R3通過(guò)ESP8266-01模塊連接機(jī)智云平臺(tái),從而實(shí)現(xiàn)用手機(jī)APP遠(yuǎn)程點(diǎn)亮LED燈。

ESP8266模塊本地調(diào)試

1

當(dāng)我們參考機(jī)智云官網(wǎng)給的教程時(shí),關(guān)于Arduino平臺(tái)主要都是關(guān)于機(jī)智云官方自己的開發(fā)板Gokit的資料。但當(dāng)我們只使用Arduino UNO R3接入機(jī)智云平臺(tái),有很多教程通過(guò)添加了兩個(gè)按鍵來(lái)選擇airlink和softap模式,其實(shí)我們只要在本地給ESP8266配好了網(wǎng)絡(luò)連接,就不需要每次通過(guò)按鍵切換配網(wǎng)模式。

第一步:首先在官網(wǎng)下載機(jī)智云固件GAgent,

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

第三步:在機(jī)智云官網(wǎng)下載機(jī)智云串口調(diào)試助手,

將ESP8266通過(guò)串口轉(zhuǎn)USB工具插在電腦上,安裝好驅(qū)動(dòng),選擇中確的驅(qū)動(dòng)后,打開串口,填入在官網(wǎng)申請(qǐng)的product_key和Product Secret后,就能在右邊看見(jiàn)數(shù)據(jù)點(diǎn)了,此時(shí)再打開指令界面,點(diǎn)擊AirLink命令,ESP8266就進(jìn)入了自動(dòng)配網(wǎng)模式;

第四步:下載機(jī)智云移動(dòng)端APP

打開APP,點(diǎn)擊一鍵配置,輸入家里的WiFi賬號(hào)及密碼,選擇樂(lè)鑫,因?yàn)閯偛盼覀円呀?jīng)將ESP8266設(shè)置成AirLink透?jìng)髂J?,現(xiàn)在通過(guò)APP就可以將家里的WiFi信息發(fā)送給ESP8266,此時(shí)APP發(fā)現(xiàn)新設(shè)備下會(huì)出現(xiàn)你的WiFi模組,點(diǎn)擊后就會(huì)看到你定義的數(shù)據(jù)點(diǎn)了。

硬件搭建

2

2.1硬件連接圖

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

注意:

在給Arduino燒錄程序的時(shí)候要斷開ESP8266與Arduino的串口連接,否則會(huì)有干擾導(dǎo)致代碼燒錄不成功;

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

2.2項(xiàng)目源碼

#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模組就成功連接上機(jī)智云服務(wù)平臺(tái)了,無(wú)論你在任何地方,無(wú)論用WiFi和4G都能通過(guò)APP來(lái)控制LED等的亮滅了,機(jī)智云還提供了APP的開源框架,我們可以在此基礎(chǔ)上高度自由地定制我們自己的APP接入機(jī)智云物聯(lián)網(wǎng)平臺(tái)。

原文標(biāo)題:Arduino使用ESP8266連接機(jī)智云物聯(lián)網(wǎng)平臺(tái)

文章出處:【微信公眾號(hào):機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2945

    文章

    47818

    瀏覽量

    414818
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    3

    文章

    647

    瀏覽量

    27766

原文標(biāo)題:Arduino使用ESP8266連接機(jī)智云物聯(lián)網(wǎng)平臺(tái)

文章出處:【微信號(hào):IoTMaker,微信公眾號(hào):機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP8266系列】WT8266-S3模組規(guī)格書

    概述ESP-07S(WT8266-S3)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無(wú)線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的
    的頭像 發(fā)表于 02-05 18:04 ?107次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266-S3</b>模組規(guī)格書

    【瑞薩RA6E2地奇星開發(fā)板試用】基于RA6E2+ESP8266在STA模式下數(shù)據(jù)透?jìng)鞯絇ython服務(wù)器整體系統(tǒng)演示總結(jié)

    /CH341SER_ZIP.html 3. 所需硬件(ESP8266-01sWiFi模塊) 4. 硬件連接 ESP8266-01S
    發(fā)表于 12-28 20:16

    【瑞薩RA6E2地奇星開發(fā)板試用】使用瑞薩RA6E2開發(fā)板調(diào)試ESP8266-01S WiFi模塊,串口調(diào)試AT指令、固件升級(jí)

    GND) 注意是3.3V電源。 我使用RA6E2單片機(jī)的2個(gè)3V3引腳和1個(gè)GND引腳為ESP8266-01sWiFi模塊連接和供電。 2. 使用串口調(diào)試助手驗(yàn)證AT指令 2.1 硬件
    發(fā)表于 12-16 20:10

    晶科鑫 | 國(guó)產(chǎn)26MHz晶振匹配Espressif(樂(lè)鑫) ESP8285/ESP8266芯片案例

    【應(yīng)用】國(guó)產(chǎn)26MHz頻率晶振應(yīng)用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉(zhuǎn)WiFi模塊),Espressif(樂(lè)鑫)ESP8285/ESP8266芯片匹配測(cè)試OKESP8285其實(shí)是
    的頭像 發(fā)表于 11-21 15:37 ?4611次閱讀
    晶科鑫 | 國(guó)產(chǎn)26MHz晶振匹配Espressif(樂(lè)鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)板常見(jiàn)的2種下載方式

    ESP32和ESP8266是性價(jià)比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗
    的頭像 發(fā)表于 11-10 20:30 ?955次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)板常見(jiàn)的2種下載方式

    ESP8266ESP32開發(fā)板常見(jiàn)的2種下載方式

    的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz至240MHz CPU,而ESP8266是單核處理器,主頻支持
    發(fā)表于 10-24 18:04

    基于機(jī)智平臺(tái)的新疆農(nóng)田氣候檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    本文設(shè)計(jì)了一種基于平臺(tái)的新疆農(nóng)田氣候檢測(cè)系統(tǒng),用于實(shí)時(shí)監(jiān)測(cè)風(fēng)速、溫濕度和PM2.5等環(huán)境參數(shù),提升農(nóng)業(yè)生產(chǎn)智能化水平。系統(tǒng)采用STM32單片機(jī)與傳感器采集數(shù)據(jù),通過(guò)ESP8266Wi
    的頭像 發(fā)表于 09-23 18:45 ?742次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>的新疆農(nóng)田氣候檢測(cè)系統(tǒng)設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    如何用Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的
    的頭像 發(fā)表于 08-08 20:16 ?3566次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> <b class='flag-5'>R3</b>開發(fā)板給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> <b class='flag-5'>R3</b>開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    基于智能家居項(xiàng)目 完結(jié)散花

    一、項(xiàng)目目標(biāo)通過(guò)機(jī)智平臺(tái),快速實(shí)現(xiàn)以下功能:MCU+ESP8266
    的頭像 發(fā)表于 07-31 18:03 ?621次閱讀
    基于智能家居項(xiàng)目  完結(jié)散花

    STM32+esp8266連接機(jī)智,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植)

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接機(jī)智平臺(tái),
    的頭像 發(fā)表于 07-15 18:54 ?1065次閱讀
    STM32+<b class='flag-5'>esp8266</b><b class='flag-5'>連接機(jī)智</b><b class='flag-5'>云</b>,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(<b class='flag-5'>平臺(tái)</b>配置、代碼生成、代碼移植)

    【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】使用RA4M2和ESP8266實(shí)現(xiàn)MQTT協(xié)議上傳傳感器數(shù)據(jù)到服務(wù)器并反向點(diǎn)燈控制

    馬上就到RA4M2開發(fā)板評(píng)測(cè)的結(jié)尾了,今天給瑞薩論壇線上最具創(chuàng)意的一篇帖子,通過(guò)RA4M2開發(fā)板,和ESP8266 WIFI模塊,然后通過(guò)手機(jī)上的MQTTOOL來(lái)
    發(fā)表于 05-29 15:29

    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智方案(二)

    在《基于STM32HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智方案(一)》中,我們?cè)敿?xì)介紹了硬件連接機(jī)智
    的頭像 發(fā)表于 05-28 18:02 ?1402次閱讀
    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的<b class='flag-5'>esp8266</b>接入<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>方案(二)

    機(jī)智Airlink配網(wǎng)超時(shí)、數(shù)據(jù)上傳延遲及更新不及時(shí)問(wèn)題分析

    本教程旨在分析并解決在使用32單片機(jī)和ESP8266-01S接入機(jī)智時(shí)可能遇到的配網(wǎng)超時(shí)、數(shù)據(jù)上傳延遲及更新不及時(shí)的問(wèn)題。通過(guò)將傳感器采集的數(shù)據(jù)上傳至
    的頭像 發(fā)表于 05-26 18:03 ?983次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>Airlink配網(wǎng)超時(shí)、數(shù)據(jù)上傳延遲及更新不及時(shí)問(wèn)題分析

    ESP8266燒錄與機(jī)智一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動(dòng)化等領(lǐng)域。機(jī)智平臺(tái)提供了一鍵配網(wǎng)功能,簡(jiǎn)化了設(shè)備的聯(lián)網(wǎng)過(guò)程。本教程將詳細(xì)
    的頭像 發(fā)表于 05-24 11:04 ?1985次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>一鍵配網(wǎng)教程

    STM32與機(jī)智連接實(shí)現(xiàn)步驟與技巧(上篇)

    通過(guò)STM32與機(jī)智連接,開發(fā)者可以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程控制和數(shù)據(jù)管理,提升物聯(lián)網(wǎng)應(yīng)用的智能化水平。本文將介紹STM32與
    的頭像 發(fā)表于 05-23 18:10 ?1158次閱讀
    STM32與<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>連接</b><b class='flag-5'>實(shí)現(xiàn)</b>步驟與技巧(上篇)