女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

云平臺(tái)部署:基于Arduino與機(jī)智云的家居環(huán)境遠(yuǎn)程系統(tǒng)設(shè)計(jì)

機(jī)智云 ? 2022-07-27 10:19 ? 次閱讀

基于Arduino機(jī)智云的家居環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)具備協(xié)議簡單、成本低、功耗低、組網(wǎng)容易等優(yōu)勢。在智慧家居實(shí)現(xiàn)的同時(shí),可以根據(jù)其它控制領(lǐng)域的需要,進(jìn)行需求的移植,具有很強(qiáng)的延伸性和可移植性,提高開發(fā)效率。同時(shí)當(dāng)前環(huán)境也存在這樣的需求也有硬件基礎(chǔ)保障。通過該項(xiàng)目的制作,也讓我了解到遠(yuǎn)程家電控制并不是什么神奇的東西的,只要每一個(gè)人肯去嘗試,肯去面對(duì)不同的困難,并通過自己的思考和向他人請(qǐng)求幫助,每一個(gè)過程都是很奇妙的,往往在這個(gè)過程中,你會(huì)獲得許多意想不到的收獲。

本項(xiàng)目分成三部分——工程實(shí)施、云平臺(tái)部署、APP開發(fā),本次分享云平臺(tái)部署部分。

一、創(chuàng)建項(xiàng)目

1.1 登陸機(jī)智云開發(fā)者中心dev.gizwits.com,創(chuàng)建新產(chǎn)品

680dd5b2-0d1a-11ed-9ade-dac502259ad0.png

1.2 進(jìn)入項(xiàng)目,查看產(chǎn)品的基本信息

683e35ea-0d1a-11ed-9ade-dac502259ad0.png

二、添加數(shù)據(jù)點(diǎn)

2.1 根據(jù)產(chǎn)品功能定義數(shù)據(jù)點(diǎn)

6849b9a6-0d1a-11ed-9ade-dac502259ad0.png

三、進(jìn)行虛擬設(shè)備調(diào)試

3.1 創(chuàng)建好數(shù)據(jù)點(diǎn)后,進(jìn)行虛擬設(shè)備調(diào)試

687b83c8-0d1a-11ed-9ade-dac502259ad0.png

3.2 在機(jī)智云APP能夠觀察機(jī)智云平臺(tái)模擬的數(shù)據(jù)

根據(jù)系統(tǒng)的需要添加或修改數(shù)據(jù)點(diǎn)信息

68873a7e-0d1a-11ed-9ade-dac502259ad0.png

四、下載MCU代碼包

4.1 在確定數(shù)據(jù)點(diǎn)無誤后,點(diǎn)擊MCU開發(fā)

68af15bc-0d1a-11ed-9ade-dac502259ad0.png

4.2 添加庫文件,進(jìn)行代碼移植

生成代碼包后,把代碼包導(dǎo)入Arduino IDE開發(fā)環(huán)境的libraries文件中,libraries是Arduino的庫文件,包含自帶的庫文件和用戶添加的外部庫文件

68ba9a40-0d1a-11ed-9ade-dac502259ad0.png

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

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

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

#include #include #include #include int con_ledPin = 13; //成功連接網(wǎng)絡(luò),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;}//室內(nèi)報(bào)警監(jiān)測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); //設(shè)置為高電平 digitalWrite(relayPin1, HIGH); //設(shè)置為高電平 digitalWrite(relayPin2, HIGH); //設(shè)置為高電平 break; default: break; }}//獲取溫度數(shù)據(jù)int dht_11_gettemperature() { int chk = myDHT_11.read11(temhumPin); int value = myDHT_11.temperature; return value;}//獲取濕度數(shù)據(jù)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); //設(shè)置為數(shù)字輸入模式 pinMode(movePin, INPUT); pinMode(alarmPin, INPUT_PULLUP); pinMode(firePin, INPUT); pinMode(lightPin, INPUT); //模擬量為輸入模式 pinMode(beepPin, OUTPUT); //設(shè)置為數(shù)字輸出模式 pinMode(ledPin, OUTPUT); pinMode(relayPin1, OUTPUT); pinMode(relayPin2, OUTPUT); pinMode(con_ledPin, OUTPUT); digitalWrite(beepPin, HIGH); //設(shè)置為高電平 myGizwits.begin();}void wifiStatusHandle(){ if (myGizwits.wifiHasBeenSet(WIFI_CON_ROUTER)) { digitalWrite(con_ledPin, HIGH); //設(shè)置為低電平 digitalWrite(ledPin, HIGH); //設(shè)置為高電平 digitalWrite(relayPin1, HIGH); //設(shè)置為高電平 digitalWrite(relayPin2, HIGH); //設(shè)置為高電平 }}/** 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開發(fā)代碼包

5.1 在應(yīng)用開發(fā)生成APP代碼包

68cb6f28-0d1a-11ed-9ade-dac502259ad0.png

通過Android Studio軟件導(dǎo)入項(xiàng)目進(jìn)行編譯,因版本問題需要修改關(guān)鍵詞,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'}

同時(shí)可參考“基于機(jī)智云AIoT平臺(tái)的Android開源app修改教程”https://www.sohu.com/a/476083681_486728

使項(xiàng)目成功編譯

原文地址:https://blog.csdn.net/a6662580/category_11596658.html

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

    關(guān)注

    188

    文章

    6492

    瀏覽量

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

    關(guān)注

    3

    文章

    609

    瀏覽量

    26742
收藏 人收藏

    評(píng)論

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

    物聯(lián)網(wǎng)智能家居方案-基于Nucleo-STM32L073&機(jī)智實(shí)例項(xiàng)目打包下載

    物聯(lián)網(wǎng)智能家居方案-基于Nucleo-STM32L073&機(jī)智實(shí)例項(xiàng)目打包,推薦下載!
    發(fā)表于 05-29 21:50

    物聯(lián)網(wǎng)智能家居方案-基于Nucleo-STM32L073&機(jī)智 項(xiàng)目實(shí)例

    物聯(lián)網(wǎng)智能家居方案-基于Nucleo-STM32L073&機(jī)智 項(xiàng)目實(shí)例下載! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問
    發(fā)表于 05-23 21:01

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

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

    HarmonyOS5服務(wù)技術(shù)分享--Serverless抽獎(jiǎng)模板部署

    活動(dòng)。不用寫復(fù)雜代碼,跟著步驟走就能搞定,文末還有部署避坑指南哦~ 一、前期準(zhǔn)備 1?? ??注冊(cè)賬號(hào)+創(chuàng)建項(xiàng)目?? 先到華為開發(fā)者平臺(tái)注冊(cè)賬號(hào) 創(chuàng)建新項(xiàng)目時(shí)記得勾選\"開發(fā)
    發(fā)表于 05-22 20:25

    HarmonyOS5服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境

    服務(wù)。例如: 用戶身份驗(yàn)證 數(shù)據(jù)實(shí)時(shí)處理(如訂單狀態(tài)更新) 第三方服務(wù)集成(如支付回調(diào)) ?? 二、手把手開發(fā)流程:從配置到部署 1?? ??環(huán)境準(zhǔn)備?? ??工具鏈??:安裝DevEco
    發(fā)表于 05-22 17:21

    STM32項(xiàng)目分享:機(jī)智智慧農(nóng)業(yè)系統(tǒng)

    01—項(xiàng)目簡介1.功能詳解基于STM32的機(jī)智智慧農(nóng)業(yè)系統(tǒng)。功能如下:溫濕度采集:使用DHT11溫濕度傳感器采集環(huán)境溫濕度土壤濕度
    的頭像 發(fā)表于 12-19 18:40 ?1223次閱讀
    STM32項(xiàng)目分享:<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>智慧農(nóng)業(yè)<b class='flag-5'>系統(tǒng)</b>

    stm32單片機(jī)畢業(yè)設(shè)計(jì)——物聯(lián)網(wǎng)智能家居源代碼原理圖

    機(jī)智平臺(tái)的通信,用戶可通過手機(jī)APP進(jìn)行遠(yuǎn)程監(jiān)控和管理。系統(tǒng)具有網(wǎng)絡(luò)化、數(shù)字化和智能化的特點(diǎn),能夠?qū)崿F(xiàn)對(duì)
    的頭像 發(fā)表于 11-30 01:03 ?2244次閱讀
    stm32單片機(jī)畢業(yè)設(shè)計(jì)——物聯(lián)網(wǎng)智能<b class='flag-5'>家居</b>源代碼原理圖

    機(jī)智智能家居網(wǎng)關(guān)方案的組網(wǎng)方式與通訊協(xié)議解析

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

    通過機(jī)智平臺(tái)電腦網(wǎng)頁控制設(shè)備的指南

    在現(xiàn)代智能家居管理中,機(jī)智平臺(tái)為用戶提供了便捷的設(shè)備控制方式。通過電腦網(wǎng)頁,用戶可以利用WebSocketAPI實(shí)現(xiàn)對(duì)設(shè)備的實(shí)時(shí)控制。本文將為您詳細(xì)介紹如何在
    的頭像 發(fā)表于 09-22 08:02 ?503次閱讀
    通過<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>電腦網(wǎng)頁控制設(shè)備的指南

    機(jī)智智家APP的設(shè)備掃描與綁定限制

    在使用機(jī)智的智家APP時(shí),用戶可能會(huì)遇到無法掃描和綁定設(shè)備的問題。這一現(xiàn)象的根本原因在于智家APP的使用限制和付費(fèi)策略。Q智家APP的功能概述是什么?智家APP是機(jī)智
    的頭像 發(fā)表于 09-22 08:02 ?521次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>智家APP的設(shè)備掃描與綁定限制

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

    云中主要用于實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的聯(lián)網(wǎng)功能。它通過Wi-Fi連接到互聯(lián)網(wǎng),使設(shè)備能夠與機(jī)智平臺(tái)進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)遠(yuǎn)程控制和監(jiān)控。我們可以知道ESP8266在
    的頭像 發(fā)表于 09-12 08:04 ?788次閱讀
    《<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    機(jī)智開源自動(dòng)化控制篇-接近報(bào)警系統(tǒng)

    本次采用STM32F103C8T6單片機(jī)、ESP-01S模塊、紅外避障模塊、蜂鳴器模塊,接入機(jī)智平臺(tái),完成接近報(bào)警系統(tǒng),為智能化場景增添強(qiáng)大功能。使用到的模塊STM32F103C8T
    的頭像 發(fā)表于 08-31 08:02 ?588次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>開源自動(dòng)化控制篇-接近報(bào)警<b class='flag-5'>系統(tǒng)</b>

    如何理解計(jì)算?

    的問題。 **提供高性能的計(jì)算資源:**服務(wù)提供商通常會(huì)部署大規(guī)模的服務(wù)器集群,用戶可以通過平臺(tái)來使用這些服務(wù)器提供的高性能計(jì)算能力,從而更快地處理大規(guī)模的計(jì)算任務(wù)。
    發(fā)表于 08-16 17:02

    STM32項(xiàng)目分享:智能家居機(jī)智系統(tǒng)

    STM32項(xiàng)目分享:智能家居機(jī)智系統(tǒng)
    的頭像 發(fā)表于 07-28 08:10 ?3029次閱讀
    STM32項(xiàng)目分享:智能<b class='flag-5'>家居</b>(<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>)<b class='flag-5'>系統(tǒng)</b>

    物聯(lián)網(wǎng)平臺(tái)是什么

    、通訊傳輸、組態(tài)、監(jiān)測、視頻監(jiān)控等一體化的智慧物聯(lián)網(wǎng)平臺(tái),平臺(tái)涵蓋智慧農(nóng)業(yè)、智慧水利、智慧工廠、智慧城市、智能家居、氣象
    的頭像 發(fā)表于 07-25 16:51 ?1243次閱讀