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

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

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

3天內不再提示

基于Arduino與機智云的家居環境遠程監控系統

9GxC_IoTMaker ? 來源:csdn ? 作者:csdn ? 2022-07-26 11:22 ? 次閱讀

基于Arduino機智云的家居環境遠程監控系統具備協議簡單、成本低、功耗低、組網容易等優勢。在智慧家居實現的同時,可以根據其它控制領域的需要,進行需求的移植,具有很強的延伸性和可移植性,提高開發效率。同時當前環境也存在這樣的需求也有硬件基礎保障。通過該項目的制作,也讓我了解到遠程家電控制并不是什么神奇的東西的,只要每一個人肯去嘗試,肯去面對不同的困難,并通過自己的思考和向他人請求幫助,每一個過程都是很奇妙的,往往在這個過程中,你會獲得許多意想不到的收獲。

本項目分成三部分——工程實施、云平臺部署、APP開發,本次分享云平臺部署部分。

一、創建項目

1.1 登陸機智云開發者中心dev.gizwits.com,創建新產品

c9c36a0e-0c90-11ed-ba43-dac502259ad0.png

1.2 進入項目,查看產品的基本信息

ca134c0e-0c90-11ed-ba43-dac502259ad0.png

二、添加數據點

2.1 根據產品功能定義數據點

ca419b18-0c90-11ed-ba43-dac502259ad0.png

三、進行虛擬設備調試

3.1 創建好數據點后,進行虛擬設備調試

ca71fefc-0c90-11ed-ba43-dac502259ad0.png

3.2 在機智云APP能夠觀察機智云平臺模擬的數據

根據系統的需要添加或修改數據點信息

ca970fc6-0c90-11ed-ba43-dac502259ad0.png

四、下載MCU代碼包

4.1 在確定數據點無誤后,點擊MCU開發

cabacd58-0c90-11ed-ba43-dac502259ad0.png

4.2 添加庫文件,進行代碼移植

生成代碼包后,把代碼包導入Arduino IDE開發環境的libraries文件中,libraries是Arduino的庫文件,包含自帶的庫文件和用戶添加的外部庫文件

cadc65bc-0c90-11ed-ba43-dac502259ad0.png

把networkConfig.ino的配網代碼移植到simpleTry.ino,把串口打印的代碼注釋起來,可參考“史上最詳細的Arduino uno R3接入機智云教程

https://club.gizwits.com/thread-6728-1-1.html

然后根據要求修改代碼,以下僅供參考:


#include #include #include #include int con_ledPin = 13;    //成功連接網絡,13引腳低電平int smokePin = 2;int movePin = 3;int alarmPin = 4;int ledPin = 5;int relayPin1 = 8;int relayPin2 = 9;int firePin = A0;int lightPin = A1;int beepPin = 10;int temhumPin = 11;bool alarmflag = 0;dht myDHT_11;SoftwareSerial mySerial(A2, A3); // A2 -> RX, A3 -> TXGizwits 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#define   ALARM_SHORT_PRESS 16#define   ALARM_LONG_PRESS  32unsigned long Last_KeyTime = 0;
unsigned long gokit_time_s(void){  return millis() / 1000;}char gokit_key1down(void){  unsigned long 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){  unsigned long keep_time = 0;  if (digitalRead(KEY2) == LOW)  {    delay(100);    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;}//室內報警監測char gokit_alarmdown(void){  unsigned long keep_time = 0;  if (digitalRead(alarmPin) == LOW)  {    delay(100);    if (digitalRead(alarmPin) == LOW)    {      keep_time = gokit_time_s();      while (digitalRead(alarmPin) == LOW) //until open the key      {        if ((gokit_time_s() - keep_time) > KEY_LONG_TIMER)        {          Last_KeyTime = gokit_time_s();          return ALARM_LONG_PRESS;        }      }      if ((gokit_time_s() - Last_KeyTime) > KEY_LONG_TIMER)      {        return ALARM_SHORT_PRESS;      }      return 0;    }    return 0;  }  return 0;}char gokit_keydown(void){  char ret = 0;  ret |= gokit_alarmdown();  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:      myGizwits.setBindMode(WIFI_PRODUCTION_TEST);      break;    case KEY1_LONG_PRESS:      myGizwits.setBindMode(WIFI_RESET_MODE);      break;    case KEY2_SHORT_PRESS:      myGizwits.setBindMode(WIFI_SOFTAP_MODE);      //Soft AP mode      break;    case KEY2_LONG_PRESS:      myGizwits.setBindMode(WIFI_AIRLINK_MODE);      //AirLink mode      break;    case ALARM_SHORT_PRESS:      alarmflag = ((alarmflag == 0) ? 1 : 0);      if (alarmflag)      {        digitalWrite(beepPin, LOW);      }      else      {        digitalWrite(beepPin, HIGH);      }      break;    case ALARM_LONG_PRESS:      digitalWrite(ledPin, HIGH); //設置為高電平      digitalWrite(relayPin1, HIGH); //設置為高電平      digitalWrite(relayPin2, HIGH); //設置為高電平      break;    default:      break;  }}//獲取溫度數據int dht_11_gettemperature() {  int chk = myDHT_11.read11(temhumPin);  int value = myDHT_11.temperature;  return value;}//獲取濕度數據int dht_11_gethumidity() {  int chk = myDHT_11.read11(temhumPin);  int value = myDHT_11.humidity;  return value;}/**  Serial Init , Gizwits Init  @param none  @return none*/void setup() {  // put your setup code here, to run once:  mySerial.begin(115200);  pinMode(KEY1, INPUT_PULLUP);  pinMode(KEY2, INPUT_PULLUP);  pinMode(smokePin, INPUT);  //設置為數字輸入模式  pinMode(movePin, INPUT);  pinMode(alarmPin, INPUT_PULLUP);  pinMode(firePin, INPUT);  pinMode(lightPin, INPUT); //模擬量為輸入模式  pinMode(beepPin, OUTPUT); //設置為數字輸出模式  pinMode(ledPin, OUTPUT);  pinMode(relayPin1, OUTPUT);  pinMode(relayPin2, OUTPUT);  pinMode(con_ledPin, OUTPUT);  digitalWrite(beepPin, HIGH); //設置為高電平  myGizwits.begin();}void wifiStatusHandle(){  if (myGizwits.wifiHasBeenSet(WIFI_CON_ROUTER))  {    digitalWrite(con_ledPin, HIGH); //設置為低電平    digitalWrite(ledPin, HIGH); //設置為高電平    digitalWrite(relayPin1, HIGH); //設置為高電平    digitalWrite(relayPin2, HIGH); //設置為高電平  }}/**  Arduino loop  @param none  @return none*/void loop() {  //Configure network  //if(XXX) //Trigger Condition  //myGizwits.setBindMode(0x02);  //0x01:Enter AP Mode;0x02:Enter Airlink Mode  bool varW_Alarm = alarmflag;//Add Sensor Data Collection  myGizwits.write(VALUE_Alarm, varW_Alarm);  unsigned long varW_fire = analogRead(firePin);//Add Sensor Data Collection  myGizwits.write(VALUE_fire, varW_fire);  unsigned long varW_Move_Test = digitalRead(movePin);//Add Sensor Data Collection  myGizwits.write(VALUE_Move_Test, varW_Move_Test);  unsigned long varW_Tem = dht_11_gettemperature();//Add Sensor Data Collection  myGizwits.write(VALUE_Tem, varW_Tem);  unsigned long varW_Hum = dht_11_gethumidity();//Add Sensor Data Collection  myGizwits.write(VALUE_Hum, varW_Hum);  unsigned long varW_Light = analogRead(lightPin);//Add Sensor Data Collection  myGizwits.write(VALUE_Light, varW_Light);  bool varR_LED_OnOff = 0;  if (myGizwits.hasBeenSet(EVENT_LED_OnOff))  {    myGizwits.read(EVENT_LED_OnOff, &varR_LED_OnOff); //Address for storing data    if (varR_LED_OnOff == 0)    {      digitalWrite(ledPin, HIGH);    }    else    {      digitalWrite(ledPin, LOW);    }  }  bool varR_Relay_1 = 0;  if (myGizwits.hasBeenSet(EVENT_Relay_1))  {    myGizwits.read(EVENT_Relay_1, &varR_Relay_1); //Address for storing data    if (varR_Relay_1 == 0)    {      digitalWrite(relayPin1, HIGH);    }    else    {      digitalWrite(relayPin1, LOW);    }  }  bool varR_Relay_2 = 0;  if (myGizwits.hasBeenSet(EVENT_Relay_2))  {    myGizwits.read(EVENT_Relay_2, &varR_Relay_2); //Address for storing data    if (varR_Relay_2 == 0)    {      digitalWrite(relayPin2, HIGH);    }    else    {      digitalWrite(relayPin2, LOW);    }  }  bool varR_beep = 0;  if (myGizwits.hasBeenSet(EVENT_beep))  {    myGizwits.read(EVENT_beep, &varR_beep); //Address for storing data    if (varR_beep == 0 )    {      digitalWrite(beepPin, HIGH);    }    else    {      digitalWrite(beepPin, LOW);    }  }  KEY_Handle();  wifiStatusHandle();  myGizwits.process();}
 
五、下載Android開發代碼包

5.1 在應用開發生成APP代碼包

caf35aa6-0c90-11ed-ba43-dac502259ad0.png

通過Android Studio軟件導入項目進行編譯,因版本問題需要修改關鍵詞,compile 均替換為implementation,testcompile均替換為testimplementation,可參考以下代碼:


apply plugin: 'com.android.application'
android {    compileSdkVersion 25    buildToolsVersion '28.0.2'    useLibrary 'org.apache.http.legacy'    defaultConfig {        applicationId "com.gizwits.opensource.appkit"        minSdkVersion 16        targetSdkVersion 25        versionCode 1        versionName "2.5.1.072715"        multiDexEnabled true    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }}
dependencies {    implementation fileTree(dir: 'libs', include: ['*.jar'])    implementation 'com.android.support.constraint1.1.0'    testImplementation 'junit4.12'    implementation 'com.android.support24.2.1'    implementation files('libs/BLEasyConfig.jar')    implementation files('libs/easylink2.0.jar')    implementation files('libs/GizWifiSDK.jar')    implementation files('libs/jpush-android-2.1.5.jar')    implementation files('libs/Lark7618SDK_noudp1606031910_0101.jar')    implementation files('libs/libammsdk.jar')    implementation files('libs/libForEElink.jar')    implementation files('libs/LSFSK_1.0.jar')    implementation files('libs/ltlink2.jar')    implementation files('libs/mta-sdk-1.6.2.jar')    implementation files('libs/OneShotConfig.jar')    implementation files('libs/open_sdk_r5756.jar')    implementation files('libs/pushservice-5.6.0.30.jar')    implementation files('libs/simpleconfigwizardlib.jar')    implementation files('libs/xUtils-2.6.14.jar')    implementation files('libs/zxing.jar')    implementation 'com.android.support25.3.0'    implementation 'com.yanzhenjie1.0.5'}

同時可參考“基于機智云AIoT平臺的Android開源app修改教程”https://www.sohu.com/a/476083681_486728

使項目成功編譯

審核編輯 :李倩


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

    關注

    21

    文章

    3939

    瀏覽量

    175971
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187476
收藏 人收藏

    評論

    相關推薦

    STM32項目分享:機智智慧農業系統

    01—項目簡介1.功能詳解基于STM32的機智智慧農業系統。功能如下:溫濕度采集:使用DHT11溫濕度傳感器采集環境溫濕度土壤濕度
    的頭像 發表于 12-19 18:40 ?335次閱讀
    STM32項目分享:<b class='flag-5'>機智</b><b class='flag-5'>云</b>智慧農業<b class='flag-5'>系統</b>

    stm32單片機畢業設計——物聯網智能家居源代碼原理圖

    機智平臺的通信,用戶可通過手機APP進行遠程監控和管理。系統具有網絡化、數字化和智能化的特點,能夠實現對
    的頭像 發表于 11-30 01:03 ?921次閱讀
    stm32單片機畢業設計——物聯網智能<b class='flag-5'>家居</b>源代碼原理圖

    機智智能家居網關方案的組網方式與通訊協議解析

    組網方式和通訊協議在智能家居領域,組網方式和通訊協議的選擇至關重要,它們直接影響到設備和網關之間的互通。機智作為智能家居領域的領先企業,采用了多種組網方式以滿足不同場景的需求。組網方
    的頭像 發表于 11-23 01:02 ?384次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>智能<b class='flag-5'>家居</b>網關方案的組網方式與通訊協議解析

    機智智能家居網關方案的組網方式與通訊協議解析

    在智能家居領域,組網方式和通訊協議的選擇至關重要,它們直接影響到設備和網關之間的互通。機智作為智能家居領域的領先企業,采用了多種組網方式以滿足不同場景的需求。
    的頭像 發表于 11-22 18:01 ?304次閱讀

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

    云中主要用于實現物聯網設備的聯網功能。它通過Wi-Fi連接到互聯網,使設備能夠與機智平臺進行數據交換,實現遠程控制和監控。我們可以知道ESP8266在
    的頭像 發表于 09-12 08:04 ?420次閱讀
    《<b class='flag-5'>機智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    空調遠程監控的意義與功能

    。 空調遠程監控的意義 空調作為現代家庭重要的電器之一,其運行狀態直接影響到家居環境的舒適度和能源消耗。傳統空調的使用往往需要用戶手動調節,不僅操作繁瑣,還難以做到準確控制,往往導致能源浪費。而智能空調控制器
    的頭像 發表于 08-28 14:00 ?291次閱讀

    水產養殖環境遠程監控系統

    系統概述 水產養殖環境遠程監控系統,通過現代信息技術手段,對水產養殖環境進行實時監測、數據收集
    的頭像 發表于 08-20 16:36 ?289次閱讀

    STM32項目分享:智能家居機智系統

    STM32項目分享:智能家居機智系統
    的頭像 發表于 07-28 08:10 ?2048次閱讀
    STM32項目分享:智能<b class='flag-5'>家居</b>(<b class='flag-5'>機智</b><b class='flag-5'>云</b>)<b class='flag-5'>系統</b>

    農作物生長環境遠程監控與智能調控

    、大數據、計算以及人工智能等前沿科技,實現了對作物生長環境的全方位、實時監測與高效管理,不僅提升了農業生產效率與作物品質,還顯著增強了農業對環境變化的適應能力,促進了資源的可持續利用。 一、
    的頭像 發表于 07-04 17:44 ?619次閱讀
    農作物生長<b class='flag-5'>環境</b>的<b class='flag-5'>遠程</b><b class='flag-5'>監控</b>與智能調控

    基于機智物聯網的智能花卉栽培系統

    WiFi傳輸實現信息交互,并在機智物聯網平臺實現實時監測和遠程操控。種植者可遠程監測土壤溫濕度、環境溫濕度、CO2濃度、光照強度,并通過A
    的頭像 發表于 05-15 08:10 ?1491次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>物聯網的智能花卉栽培<b class='flag-5'>系統</b>

    發那科數控機床遠程監控數據上

    發那科數控機床遠程監控數據上 在當今數字化、網絡化的工業生產環境中,發那科數控機床作為全球領先的高端制造設備之一,其遠程
    的頭像 發表于 05-13 17:03 ?494次閱讀
    發那科數控機床<b class='flag-5'>遠程</b><b class='flag-5'>監控</b>數據上<b class='flag-5'>云</b>

    基于機智物聯網智能家居系統

    目錄1、功能實現2、軟、硬件系統設計3、結論1功能實現采用機智APP實現全球控制,利用無線網絡技術連接家居設備到終端,實現智能操作。智能家居
    的頭像 發表于 03-30 08:09 ?925次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>物聯網智能<b class='flag-5'>家居</b><b class='flag-5'>系統</b>

    深入探討機智物聯網智能家居系統的優化方案

    隨著經濟發展和人民生活水平提高,對家居環境的需求不斷增加,智能家居變得至關重要。涵蓋家電控制、智能照明、安全監控等領域,智能家居通過手機、電腦等連接網絡,實現
    發表于 03-29 12:35

    基于 STM32 和機智智能門鎖的實現

    關鍵詞:智能門鎖、STM32、機智、APP目錄1、功能實現2、軟、硬件系統設計3、系統調試4、結論1功能實現本系統基于STM32和
    的頭像 發表于 03-23 08:09 ?1889次閱讀
    基于 STM32 和<b class='flag-5'>機智</b><b class='flag-5'>云</b>智能門鎖的實現

    基于機智物聯網的PCR溫度控制

    本文設計了基于物聯網的PCR溫度控制系統,能夠實現快速、準確的溫度控制。通過將檢測設備端接入機智平臺,使檢測人員能夠遠程監控PCR儀的運行
    的頭像 發表于 03-07 08:09 ?832次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b>物聯網的PCR溫度控制
    主站蜘蛛池模板: 禁漫羞羞a漫入口| 国产馆精品推荐在线观看| www.碰| 一区在线观看| 麦克斯奥特曼在线观看| 亚洲人成电影院在线观看| 91福利视频免费| 热久热| ⅹxxxx68日本老师hd| avtt香蕉| 免费的毛片网站| 亚洲免费成人| 乡村乱人伦短小说| 初恋视频黄色| 欧美亚洲专区| 五月激情久久| 一级毛片真人免费观看| 屁股趴过来欠打高h| 美女被强插| 天堂网在线视频| 午夜色婷婷| 亚洲深爱| 日韩一级片在线观看| 手机在线观看a| 午夜老司机福利| 拍拍拍成人免费高清视频| 色在线网| 色视频网址| 久久精品视频99精品视频150| 2345成人高清毛片| 老师叫我揉她内裤越快越好| 天堂在线中文字幕| 九色综合伊人久久富二代| aaa一级最新毛片| 夜夜艹天天干| 亚洲黄色录像| 好吊日在线| 2022年国产精品久久久久| 不卡的毛片| 久久国产美女免费观看精品| 色色网视频|