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

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

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

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

機(jī)智云 ? 2022-04-13 16:21 ? 次閱讀

前言:本文主要介紹如何在機(jī)智云平臺(tái)創(chuàng)建一個(gè)智能產(chǎn)品、定義功能數(shù)據(jù)點(diǎn)、生成MCU代碼包并附上修改好的代碼、生成APP代碼編譯附上參考代碼。

需準(zhǔn)備的硬件主要有Arduino uno R3、ESP8266

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

66c83fa4-b9b8-11ec-82f6-dac502259ad0.png

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

1.1 創(chuàng)建新產(chǎn)品

登陸機(jī)智云AIoT開(kāi)發(fā)平臺(tái) dev.gizwits.com 創(chuàng)建智能產(chǎn)品

66e09ba8-b9b8-11ec-82f6-dac502259ad0.png

1.2 進(jìn)入項(xiàng)目可查看信息

什么是Product Key、Product Secret

Product Key又稱產(chǎn)品標(biāo)識(shí)碼,開(kāi)發(fā)者通過(guò)機(jī)智云后臺(tái)創(chuàng)建新產(chǎn)品后,自動(dòng)生成的一個(gè)32位字符串。在機(jī)智云的數(shù)據(jù)庫(kù)中是一個(gè)唯一的號(hào)碼,開(kāi)發(fā)者將ProductKey寫(xiě)入設(shè)備主控MCU后,機(jī)智云通過(guò)此標(biāo)識(shí)碼對(duì)設(shè)備進(jìn)行識(shí)別并自動(dòng)完成注冊(cè)。

設(shè)備接入機(jī)智云的前提是,需要機(jī)智云認(rèn)同這個(gè)設(shè)備。Productkey是設(shè)備接入機(jī)智云的一個(gè)重要參數(shù),該參數(shù)的基本含義是:一款設(shè)備識(shí)別碼。例如某公司生產(chǎn)空調(diào)、熱水器,空調(diào)和熱水器是不同款設(shè)備,該公司設(shè)備接入機(jī)智云,至少需要兩個(gè)Productkey參數(shù)。在開(kāi)發(fā)MCU過(guò)程中,需要使用到該參數(shù)。

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

670d7614-b9b8-11ec-82f6-dac502259ad0.png

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

根據(jù)系統(tǒng)的需求添加數(shù)據(jù)點(diǎn),可參考本系統(tǒng)數(shù)據(jù)點(diǎn)

什么是數(shù)據(jù)點(diǎn)?

數(shù)據(jù)點(diǎn)即設(shè)備產(chǎn)品的功能的抽象,用于描述產(chǎn)品功能及其參數(shù)。創(chuàng)建數(shù)據(jù)點(diǎn)后,設(shè)備與云端通訊的數(shù)據(jù)格式即可確定,設(shè)備、機(jī)智云可以相互識(shí)別設(shè)備與機(jī)智云互聯(lián)互通的數(shù)據(jù)。

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

671b818c-b9b8-11ec-82f6-dac502259ad0.png

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

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

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

虛擬設(shè)備是機(jī)智云云端可自動(dòng)生成的一個(gè)仿真智能硬件,可模擬要開(kāi)發(fā)或正在開(kāi)發(fā)的智能硬件,來(lái)進(jìn)行云端設(shè)備控制、手機(jī)APP控制、上報(bào)數(shù)據(jù)等需求。

開(kāi)發(fā)者或企業(yè)研發(fā)人員在機(jī)智云平臺(tái)開(kāi)發(fā)時(shí),如果正式的智能硬件產(chǎn)品產(chǎn)品還未完全開(kāi)發(fā)完成,就可以很方便地使用該“虛擬設(shè)備”與正式產(chǎn)品的控制APP進(jìn)行調(diào)試和驗(yàn)證,加快研發(fā)周期,降低研發(fā)成本。

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

67351fe8-b9b8-11ec-82f6-dac502259ad0.png

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

674cbb80-b9b8-11ec-82f6-dac502259ad0.png

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

四、下載MCU代碼包

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

6760e07e-b9b8-11ec-82f6-dac502259ad0.png

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

6773ad26-b9b8-11ec-82f6-dac502259ad0.png

把networkConfig.ino的配網(wǎng)代碼移植到simpleTry.ino,把串口打印的代碼注釋起來(lái),可參考資料分享:史上最詳細(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 32
unsigned 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)測(cè)
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開(kāi)發(fā)代碼包

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

678aa54e-b9b8-11ec-82f6-dac502259ad0.png

通過(guò)Android Studio軟件導(dǎo)入項(xiàng)目進(jìn)行編譯,因版本問(wè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開(kāi)源app修改教程

https://www.sohu.com/a/476083681_486728

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

原文轉(zhuǎn)自:https://blog.csdn.net/a6662580/article/details/122558080

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    2

    文章

    563

    瀏覽量

    26313
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    云中主要用于實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的聯(lián)網(wǎng)功能。它通過(guò)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 ?146次閱讀
    《<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>入門必備》手把手教你燒錄GAgent固件

    如何理解計(jì)算?

    的問(wèn)題。 **提供高性能的計(jì)算資源:**服務(wù)提供商通常會(huì)部署大規(guī)模的服務(wù)器集群,用戶可以通過(guò)平臺(tái)來(lá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 ?514次閱讀
    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)測(cè)、視頻監(jiān)控等一體化的智慧物聯(lián)網(wǎng)平臺(tái),平臺(tái)涵蓋智慧農(nóng)業(yè)、智慧水利、智慧工廠、智慧城市、智能家居、氣象
    的頭像 發(fā)表于 07-25 16:51 ?373次閱讀

    基于機(jī)智物聯(lián)網(wǎng)的智能花卉栽培系統(tǒng)

    WiFi傳輸實(shí)現(xiàn)信息交互,并在機(jī)智物聯(lián)網(wǎng)平臺(tái)實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)和遠(yuǎn)程操控。種植者可遠(yuǎn)程監(jiān)測(cè)土壤溫濕度、環(huán)境
    的頭像 發(fā)表于 05-15 08:10 ?866次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>物聯(lián)網(wǎng)的智能花卉栽培<b class='flag-5'>系統(tǒng)</b>

    基于機(jī)智物聯(lián)網(wǎng)智能家居系統(tǒng)

    目錄1、功能實(shí)現(xiàn)2、軟、硬件系統(tǒng)設(shè)計(jì)3、結(jié)論1功能實(shí)現(xiàn)采用機(jī)智APP實(shí)現(xiàn)全球控制,利用無(wú)線網(wǎng)絡(luò)技術(shù)連接家居設(shè)備到終端,實(shí)現(xiàn)智能操作。智能家居
    的頭像 發(fā)表于 03-30 08:09 ?640次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>物聯(lián)網(wǎng)智能<b class='flag-5'>家居</b><b class='flag-5'>系統(tǒng)</b>

    深入探討機(jī)智物聯(lián)網(wǎng)智能家居系統(tǒng)的優(yōu)化方案

    隨著經(jīng)濟(jì)發(fā)展和人民生活水平提高,對(duì)家居環(huán)境的需求不斷增加,智能家居變得至關(guān)重要。涵蓋家電控制、智能照明、安全監(jiān)控等領(lǐng)域,智能家居通過(guò)手機(jī)、電腦等連接網(wǎng)絡(luò),實(shí)現(xiàn)遠(yuǎn)程控制。這種
    發(fā)表于 03-29 12:35

    基于機(jī)智物聯(lián)網(wǎng)的PCR溫度控制

    本文設(shè)計(jì)了基于物聯(lián)網(wǎng)的PCR溫度控制系統(tǒng),能夠?qū)崿F(xiàn)快速、準(zhǔn)確的溫度控制。通過(guò)將檢測(cè)設(shè)備端接入機(jī)智平臺(tái),使檢測(cè)人員能夠遠(yuǎn)程監(jiān)控PCR儀的運(yùn)行
    的頭像 發(fā)表于 03-07 08:09 ?540次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>物聯(lián)網(wǎng)的PCR溫度控制

    機(jī)智平臺(tái)的高效溫濕度智能測(cè)控研發(fā)

    關(guān)鍵詞:機(jī)智平臺(tái);溫濕度測(cè)控;WiFi網(wǎng)絡(luò);高效精準(zhǔn);目錄1、功能實(shí)現(xiàn)2、系統(tǒng)結(jié)構(gòu)搭建3、物聯(lián)網(wǎng)平臺(tái)運(yùn)用4、
    的頭像 發(fā)表于 02-19 14:02 ?294次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>的高效溫濕度智能測(cè)控研發(fā)

    什么是平臺(tái)?軟件被平臺(tái)攔截了怎么辦

    平臺(tái)是一種基于計(jì)算技術(shù)的服務(wù)平臺(tái),它為用戶提供了可彈性擴(kuò)展的計(jì)算資源、存儲(chǔ)能力和其他服務(wù),以支持用戶在
    的頭像 發(fā)表于 02-02 16:37 ?1774次閱讀

    遠(yuǎn)程監(jiān)控平臺(tái),讓你的數(shù)據(jù)無(wú)處可藏!

    領(lǐng)域,平臺(tái)遠(yuǎn)程監(jiān)控可以應(yīng)用于各種設(shè)備,例如智能家居設(shè)備、工業(yè)設(shè)備、環(huán)境監(jiān)測(cè)設(shè)備等。通過(guò)
    的頭像 發(fā)表于 01-05 17:00 ?407次閱讀

    基于機(jī)智平臺(tái)的智能補(bǔ)水系統(tǒng)

    閥,并將相關(guān)信息通過(guò)WIFI自動(dòng)上傳到機(jī)智平臺(tái),用戶通過(guò)手機(jī)APP能及時(shí)了解補(bǔ)水系統(tǒng)的工作情況。實(shí)驗(yàn)證明,該補(bǔ)水系統(tǒng)能對(duì)密閉水
    的頭像 發(fā)表于 12-01 08:10 ?482次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>的智能補(bǔ)水<b class='flag-5'>系統(tǒng)</b>

    不使用平臺(tái)的情況下怎樣才能實(shí)現(xiàn)溫度的遠(yuǎn)程監(jiān)測(cè)?

    現(xiàn)在好多的物聯(lián)網(wǎng)技術(shù)都可以實(shí)現(xiàn)很多種遠(yuǎn)程監(jiān)測(cè)的功能,但是基本上都是使用了平臺(tái)的情況下實(shí)現(xiàn),但是不使用平臺(tái)的話,只使用MCU怎么樣才能實(shí)現(xiàn)
    發(fā)表于 11-09 06:43

    基于ESP8266的機(jī)智平臺(tái)控制系統(tǒng)設(shè)計(jì)

    項(xiàng)目摘要:本項(xiàng)目以智能家居為主題,基于ESP8266的機(jī)智平臺(tái)控制系統(tǒng),利用機(jī)智
    的頭像 發(fā)表于 11-07 08:10 ?1208次閱讀
    基于ESP8266的<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>控制<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于機(jī)智的音樂(lè)噴泉控制系統(tǒng)

    通過(guò)機(jī)智物聯(lián)網(wǎng)控制平臺(tái),可以遠(yuǎn)程控制音樂(lè)噴泉的開(kāi)啟和關(guān)閉,還可以控制音樂(lè)噴泉燈光的開(kāi)啟和關(guān)閉,以及切換下一首歌曲。音樂(lè)噴泉可以隨和音樂(lè)的高低起伏,水柱的高度也隨著起伏,同時(shí)燈光的閃爍
    發(fā)表于 10-15 10:43 ?2次下載