一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1

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

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

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

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

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

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

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

硬件搭建

2

2.1硬件連接圖

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

注意:

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

ESP8266-01只能供給3.3v電壓,5v電壓可能會燒壞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ù)平臺了,無論你在任何地方,無論用WiFi和4G都能通過APP來控制LED等的亮滅了,機(jī)智云還提供了APP的開源框架,我們可以在此基礎(chǔ)上高度自由地定制我們自己的APP接入機(jī)智云物聯(lián)網(wǎng)平臺。

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

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

責(zé)任編輯:haq

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

    關(guān)注

    2931

    文章

    46251

    瀏覽量

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

    關(guān)注

    3

    文章

    617

    瀏覽量

    26851

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接機(jī)智平臺,
    的頭像 發(fā)表于 07-15 18:54 ?92次閱讀
    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'>平臺</b>配置、代碼生成、代碼移植)

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

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

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

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

    自己設(shè)計的Arduino UNO R3主控板原理圖+PCB源文件(可直接打樣)

    一年前做的Arduino UNO r3,開源精神,把自己這塊板子奉獻(xiàn)給大家,板子沒有什么問題,可以直接打樣制作,原理圖文件都表明了型號。不用謝~ Arduino
    發(fā)表于 12-10 10:14

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

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

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

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

    arduino(1)--ESP8266配置

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

    STM32 ESP8266阿里鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里
    發(fā)表于 08-29 14:21 ?9次下載

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介
    的頭像 發(fā)表于 08-19 17:28 ?1684次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過兩種方式實(shí)現(xiàn)通過路由器
    的頭像 發(fā)表于 08-19 17:27 ?7635次閱讀

    機(jī)智ESP8266開發(fā)板RGB彩燈控件

    隨著智能家居技術(shù)的迅猛發(fā)展,RGB彩燈控件正逐漸成為現(xiàn)代家庭不可或缺的一部分。在這一潮流中,機(jī)智(Gizwits)的ESP8266開發(fā)板RGB彩燈控件以其先進(jìn)的物聯(lián)網(wǎng)技術(shù)和多樣化的燈光控制功能,為
    的頭像 發(fā)表于 08-09 08:10 ?812次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b>開發(fā)板RGB彩燈控件

    ESP8266-01如何更新固件?

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

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

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

    如何使用ESP8266-01構(gòu)建一個電池供電的數(shù)據(jù)記錄器?

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

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

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