色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何在機智云平臺創建智能產品

9GxC_IoTMaker ? 來源:CSDN技術社區 ? 作者:程序小鹿 ? 2022-04-14 08:14 ? 次閱讀

前言:本文主要介紹如何在機智云平臺創建一個智能產品、定義功能數據點、生成MCU代碼包并附上修改好的代碼、生成APP代碼編譯附上參考代碼。

需準備的硬件主要有Arduino uno R3、ESP8266

efd50388-bb05-11ec-aa7f-dac502259ad0.jpg

連線方式:A0讀取模擬電壓輸入;Key1接到D6;Key2接到D7;LED接到D4;

efe43b64-bb05-11ec-aa7f-dac502259ad0.png

一、創建項目

1.1 創建新產品

登陸機智云AIoT開發平臺 dev.gizwits.com 創建智能產品

f0138644-bb05-11ec-aa7f-dac502259ad0.png

1.2 進入項目可查看信息

什么是Product Key、Product Secret

Product Key又稱產品標識碼,開發者通過機智云后臺創建新產品后,自動生成的一個32位字符串。在機智云的數據庫中是一個唯一的號碼,開發者將ProductKey寫入設備主控MCU后,機智云通過此標識碼對設備進行識別并自動完成注冊。

設備接入機智云的前提是,需要機智云認同這個設備。Productkey是設備接入機智云的一個重要參數,該參數的基本含義是:一款設備識別碼。例如某公司生產空調、熱水器,空調和熱水器是不同款設備,該公司設備接入機智云,至少需要兩個Productkey參數。在開發MCU過程中,需要使用到該參數。

http://docs.gizwits.com/zh-cn/quickstart/noun.html

f0347278-bb05-11ec-aa7f-dac502259ad0.png

二、添加數據點

根據系統的需求添加數據點,可參考本系統數據點

什么是數據點?

數據點即設備產品的功能的抽象,用于描述產品功能及其參數。創建數據點后,設備與云端通訊的數據格式即可確定,設備、機智云可以相互識別設備與機智云互聯互通的數據。

參考:http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html

f0538852-bb05-11ec-aa7f-dac502259ad0.png

三、進行虛擬設備調試

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

什么是虛擬設備?類似一款仿真器,能夠模擬硬件設備。

虛擬設備是機智云云端可自動生成的一個仿真智能硬件,可模擬要開發或正在開發的智能硬件,來進行云端設備控制、手機APP控制、上報數據等需求。

開發者或企業研發人員在機智云平臺開發時,如果正式的智能硬件產品產品還未完全開發完成,就可以很方便地使用該“虛擬設備”與正式產品的控制APP進行調試和驗證,加快研發周期,降低研發成本。

https://baijiahao.baidu.com/s?id=1725343397578131479&wfr=spider&for=pc

f074f226-bb05-11ec-aa7f-dac502259ad0.png

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

f09943ce-bb05-11ec-aa7f-dac502259ad0.png

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

四、下載MCU代碼包

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

f0b8fa84-bb05-11ec-aa7f-dac502259ad0.png

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

f0d330e8-bb05-11ec-aa7f-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代碼包

f0e74416-bb05-11ec-aa7f-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修改教程

使項目成功編譯

原文標題:基于Arduino與機智云的家居環境遠程系統設計(云平臺部署)

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

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

    關注

    146

    文章

    17123

    瀏覽量

    350980
  • 機智云
    +關注

    關注

    2

    文章

    587

    瀏覽量

    26392
  • 智能產品
    +關注

    關注

    0

    文章

    86

    瀏覽量

    7014

原文標題:基于Arduino與機智云的家居環境遠程系統設計(云平臺部署)

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

收藏 人收藏

    評論

    相關推薦

    機智怎么使用?iot開發平臺快速開發硬件產品案例分享

    1 創建一個“企業賬號” 在機智IoT開發平臺創建一個“企業賬號”,請注意一定要是企業賬號,才具有更多的功能。 2 登錄
    發表于 01-06 14:33 ?1471次閱讀

    【萬元大獎】機智智能硬件創新大賽

    、有 5000 現金大獎、有關注、有機會 ......快!來機智展示你的作品,為自己“帶鹽”你可利用機智自助開發平臺進行
    發表于 07-06 13:42

    【萬元大獎】機智智能硬件創新大賽

    的作品,為自己“帶鹽”你可利用機智自助開發平臺進行產品開發,可以借助 Gokit 或 一切硬件,產品可以是簡單的
    發表于 07-12 17:32

    如何使用機智開發一款智能硬件產品

    機智平臺機智物聯網公司經過多年行業內的耕耘及對物聯網行業的深刻理解,而推出的面向個人、企業開發者的一站式
    發表于 12-26 15:56

    機智智能家電運營管理服務平臺獲艾普蘭智能創新獎

    服務平臺,是機智為家電企業提供的一整套完整家電運營管理體系,涵蓋智能家電技術開發、連接管理、設備管理、用戶管理、第三方平臺接入、人工
    發表于 03-13 18:30

    機智CEO黃灼:機智5.0平臺助力企業大數據分析和AI決策

    以向更加深入的領域展開洞察,致勝萬物互聯時代,而對服務的需求也會繼續增長。機智在這個演進過程中充當送水人的作用,幫助企業快速實現產品智能
    發表于 11-08 11:34

    基于STM32和機智IoT服務平臺智能花盆

    ,登陸以后創建一個新產品接著創建數據點,下面是我創建的數據點,光照強度后來沒加上完成以后我們可以使用虛擬設備調試下載機智
    發表于 05-14 15:28

    基于機智iot開發平臺快速創建具有商用租賃效果的硬件

    開發平臺登錄機智IoT開發平臺,選擇點擊左上角“體驗新版”,相當于進入了Beta版開發平臺(非常適合新手使用)。3:根據需求
    發表于 01-05 18:13

    基于機智物聯網平臺智能廚房監測系統

    APP的自定義,要是想更省事的話,還可以使用官方提供的APP模板,以此節省了APP和云端的開發量。以下是使用機智開發平臺進行云端建立的工程首先:登錄dev.gizwits.com,創建
    發表于 07-20 11:25

    stm32連接機智創建

    stm32連接機智創建機智產品修改MCU代碼文件給ESP8266燒寫
    發表于 08-09 09:30

    圖文教程:GC211接入機智,實現智能產品、APP、后臺搭建

    自助開發平臺,實現智能產品+APP+運營管理后臺搭建。硬件準備GC211轉接板:內置4G模組ML302GoKi3第一步:創建智能
    發表于 06-22 20:02

    基于arduino和機智平臺智能寵物屋設計

    傷害,設計本產品的目的是給寵物提供干凈、舒適、安全的生存環境,幫助主人更加方便和更好地照料寵物。當主人上班、出差或旅游時,寵物的生存就無法得到保障,因此本文就基于Arduino和機智平臺
    發表于 01-17 16:24

    機智DUT實現遠程智能魚池管理系統

    機智開發者中心(https://developer.gizwits.com),在智能產品上方點擊創建,根據自己需求
    發表于 01-17 17:37

    何在機智開發平臺創建一個業務應用AEP

    本文主要講述如何在機智新版開發平臺開通“業務應用AEP”,從而實現個性化數據運營管理。 什么是“業務應用AEP” 這其實個一個含有多種業務后臺的工具,通過開通“業務應用AEP”,可以
    的頭像 發表于 08-24 10:01 ?1750次閱讀

    何在機智平臺創建一個智能加濕器

    1、創建一個智能產品2、查看開發向導在開發向導中可以一目了然的了解相關信息新手一定要看這個說明3、定義數據點4、使用虛擬設備查看遠程控制效果什么是虛擬設備?虛擬設備是機智云云端可自動生
    的頭像 發表于 08-29 16:48 ?790次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b><b class='flag-5'>創建</b>一個<b class='flag-5'>智能</b>加濕器
    主站蜘蛛池模板: 成年色黄APP下载| 国产精品人妻无码99999| 国产成人高清亚洲一区app| 国产性夜夜性夜夜爽91| 久久夜色噜噜噜亚洲AV0000| 青青草 久久久| 亚洲免费片| 被同桌摸出水来了好爽的视频| 国产精品一区二区AV白丝在线| 久久无码人妻中文国产| 色欲天天婬色婬香影院| 在线观看成人免费视频| 俄罗斯aaaaa一级毛片| 久久久视频2019午夜福利| 日韩精品无码久久一区二区三| 亚洲日韩在线观看| 大香伊人中文字幕精品| 久久免费看少妇高潮A片JA| 手机看片成人| 99久久久免费精品免费| 韩国演艺圈悲惨在线| 日本中文字幕巨大的乳专区| 在线观看亚洲免费视频| 国产精品VIDEOS麻豆TUBE| 蜜芽国产在线精品欧美| 亚洲精品无码久久久久A片空| 扒开美女嫩bbb| 麻豆AV蜜桃AV久久| 亚洲国产欧美在线人成aaaa20| 成年视频国产免费观看| 蜜芽资源高清在线观看| 亚洲免费va在线观看| 国产精品嫩草久久久久| 亲胸揉胸膜下刺激视频网站APP| 与子敌伦刺激对白亂輪亂性 | 国产成人无码精品久久久免费69| 久久性色AV亚洲电影无码| 亚洲91av| 国产产一区二区三区久久毛片国语| 美女PK精子小游戏| 一二三四在线视频社区|