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

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

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

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

開發(fā)者作品:一款智能家居系統(tǒng),實(shí)現(xiàn)了 4 種控制方式(三)

機(jī)智云 ? 2022-05-19 17:16 ? 次閱讀

前言

本項(xiàng)目通過闡述基于ESP8266作為處理器(SoC模式開發(fā))接入機(jī)智云,借助機(jī)智云安卓開源框架設(shè)計(jì)的APP,實(shí)現(xiàn)了燈的控制、門禁的控制、溫濕度的讀取、有毒氣體的檢測、人體紅外檢測等功能

通過改造機(jī)智云開源框架,還實(shí)現(xiàn)了一個(gè)智能硬件系統(tǒng)支持多種控制方式,如:安卓APP控制、本地按鍵控制、紅外遙控控制、天貓精靈控制,且每一種操作都能和APP同步顯示。

本文是第三篇:ESP8266接入機(jī)智云,驗(yàn)證APP的功能。


1.ESP8266原理圖及外設(shè)接法

c96b258a-d214-11ec-8521-dac502259ad0.png

GPIO12-GPIO14用于驅(qū)動(dòng)LED

c9854884-d214-11ec-8521-dac502259ad0.png

GPIO16接到繼電器,用于控制門禁

c9abad08-d214-11ec-8521-dac502259ad0.png

GPIO5用于溫濕度傳感器接口

c9c5be32-d214-11ec-8521-dac502259ad0.png

GPIO4和GPIO15分別用于人體紅外檢測和有毒氣體檢測。


2.下載工程和工程準(zhǔn)備

在上一篇已經(jīng)說明了如何去新建一個(gè)工程和數(shù)據(jù)點(diǎn)了,不贅述。

數(shù)據(jù)點(diǎn)如下:

c9ddeda4-d214-11ec-8521-dac502259ad0.png

2.2.生成工程

選擇MCU開發(fā)->SOC方案->ESP8266硬件平臺(tái)->生成代碼包

ca353ec4-d214-11ec-8521-dac502259ad0.png

2.3.下載工程

cab5af50-d214-11ec-8521-dac502259ad0.png

下載完成后解壓

cace7558-d214-11ec-8521-dac502259ad0.png

2.4.打開工程

使用一體化編譯工具,如下所示:

cafb48bc-d214-11ec-8521-dac502259ad0.png

環(huán)境教程搭建:https://club.gizwits.com/thread-6447-1-1.html

導(dǎo)入工程

步驟:

cb13bc30-d214-11ec-8521-dac502259ad0.png

cb215304-d214-11ec-8521-dac502259ad0.png

cb2ecce6-d214-11ec-8521-dac502259ad0.png

2.5.修改Makefile

cb7b6f60-d214-11ec-8521-dac502259ad0.png

cb962b5c-d214-11ec-8521-dac502259ad0.png

備注:注意保存修改后的文件,CTRL + S簡單粗暴。

2.6.編譯工程

cbe59c6e-d214-11ec-8521-dac502259ad0.png

編譯通過:

cc124d0e-d214-11ec-8521-dac502259ad0.png

生成的bin文件在工程的bin目錄下:

cc4359bc-d214-11ec-8521-dac502259ad0.png


3.編寫LED及繼電器控制代碼

3.1.新建一個(gè)hal_led.c和hal_led.h文件:

cc518000-d214-11ec-8521-dac502259ad0.png

3.1.1建立hal_led.c

cc6d6568-d214-11ec-8521-dac502259ad0.png

3.1.2.新建hal_led.h

cce3f9e4-d214-11ec-8521-dac502259ad0.png

3.2.編寫hal_led.h的代碼

為了方便使用宏定義來設(shè)置IO的電平。

/*
 * hal_led.h
 *
 *  Created on: 2019年3月16日
 *      Author: Yuan
 */

#ifndef APP_INCLUDE_DRIVER_HAL_LED_H_
#define APP_INCLUDE_DRIVER_HAL_LED_H_
#include 
#include 
#include 
#include 

#define RGB_R  12
#define RGB_G  13
#define RGB_B  14
#define Beep  15

//LED燈的控制
#define RedOn()          GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_R),1)
#define RedOff()     GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_R),0)
#define GreenOn()     GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_G),1)
#define GreenOff()     GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_G),0)
#define BlueOn()     GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_B),1)
#define BlueOff()     GPIO_OUTPUT_SET(GPIO_ID_PIN(RGB_B),0)
//繼電器控制
#define RelayOn()     gpio16_output_set(0)
#define RelayOff()     gpio16_output_set(1)

//函數(shù)聲明
void ledgpio_init(void);
void relaygpio_init(void);
void get_motion_gas(bool *move,bool *gas);
void body_gas_gpio_init();


#endif /* APP_INCLUDE_DRIVER_HAL_LED_H_ */

3.3.編寫hal_led.c文件

/*
 * led_hal.c
 *
 *  Created on: 2019年2月26日
 *      Author: Yuan
 */


#include "driver/hal_led.h"
#include "driver/hal_key.h"
#include "osapi.h"
#include "eagle_soc.h"

void ICACHE_FLASH_ATTR
ledgpio_init(void)
{
  //初始化led用到的IO口設(shè)置為輸出
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14);
  //默認(rèn)輸出為低電平,滅
  RedOff();
  GreenOff();
  BlueOff();

  os_printf("GPIO_init_OK\n\r");
}
void ICACHE_FLASH_ATTR
body_gas_gpio_init(void)
{
  //設(shè)置GPIO15和GPIO4為輸入
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,FUNC_GPIO4);
}
//獲取人體紅外檢測和有毒氣體檢測的電平
void ICACHE_FLASH_ATTR
get_motion_gas(BOOL *move,BOOL *gas)
{

  *move = GPIO_INPUT_GET(GPIO_ID_PIN(4));
  *gas  = GPIO_INPUT_GET(GPIO_ID_PIN(15));

}
//繼電器初始化函數(shù)
void ICACHE_FLASH_ATTR
relaygpio_init(void)
{
  //設(shè)置GPIO15為輸出
  gpio16_output_conf();
  //關(guān)閉繼電器
  gpio16_output_set(1);
}

4.編寫溫濕度讀取函數(shù)

溫濕度讀取函數(shù)是直接采用機(jī)智云官方的源碼,進(jìn)入:https://download.gizwits.com/zh-cn/p/92/93

接著下載示例工程:

cd234950-d214-11ec-8521-dac502259ad0.png

下載完成后解壓,復(fù)制出想要的文件:

cd3fdf3e-d214-11ec-8521-dac502259ad0.png

把hal_temp_hum.c放在和hal_led.c同一個(gè)目錄,把hal_temp_hum.h放置在和hal_led.h同一級目錄下(工程中)

如下:

cd570c68-d214-11ec-8521-dac502259ad0.png


5.設(shè)置開發(fā)版配網(wǎng)按鍵

從原理圖可知,配網(wǎng)按鍵是GPIO0

進(jìn)入user_main.c函數(shù):

cd8393a0-d214-11ec-8521-dac502259ad0.png

5.1.包含使用到文件,如溫度和led的頭文件

cdb5c302-d214-11ec-8521-dac502259ad0.png

5.2.修改配網(wǎng)按鍵

在工程中默認(rèn)是GPIO0和GPIO14兩個(gè)按鈕

cdcf1672-d214-11ec-8521-dac502259ad0.png

現(xiàn)在我們只需要一個(gè)就是GPIO0,修改如下:

cdff0b20-d214-11ec-8521-dac502259ad0.png

刪除無用的代碼:

ce150862-d214-11ec-8521-dac502259ad0.png

ce2c5652-d214-11ec-8521-dac502259ad0.png

修改key0按鍵的短按事件響應(yīng)函數(shù):

ce59830c-d214-11ec-8521-dac502259ad0.png

修改后:

cea591fc-d214-11ec-8521-dac502259ad0.png


6.調(diào)用初始化函數(shù):

在user_init()函數(shù)中初始化各個(gè)設(shè)備:

ced7e80a-d214-11ec-8521-dac502259ad0.png


7.編寫機(jī)智云事件處理函數(shù)

打開gizwits_product.c文件

cf26b458-d214-11ec-8521-dac502259ad0.png

添加頭文件以及定時(shí)器時(shí)間間隔修改:

cf3564c6-d214-11ec-8521-dac502259ad0.png

定位到gizwitsEventProcess函數(shù)。

7.1.修改數(shù)據(jù)點(diǎn)對應(yīng)控制的函數(shù)

比如在云端:currentDataPoint.valueRed_OnOff這個(gè)點(diǎn)的值為真,則使ESP8266的第12引腳輸出高電平(RedOn),反之輸出低電平,其他的同理。

修改后如下:

int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)
{
    uint8_t i = 0;
    dataPoint_t * dataPointPtr = (dataPoint_t *)data;
    moduleStatusInfo_t * wifiData = (moduleStatusInfo_t *)data;

    if((NULL == info) || (NULL == data))
    {
        GIZWITS_LOG("!!! gizwitsEventProcess Error \n");
        return -1;
    }

    for(i = 0; i < info->num; i++)
    {
        switch(info->event[i])
        {
        case EVENT_Red_OnOff :
            currentDataPoint.valueRed_OnOff = dataPointPtr->valueRed_OnOff;
            GIZWITS_LOG("Evt: EVENT_Red_OnOff %d \n", currentDataPoint.valueRed_OnOff);
            if(0x01 == currentDataPoint.valueRed_OnOff)
            {
              RedOn();
                //user handle
            }
            else
            {
              RedOff();
                //user handle
            }
            break;
        case EVENT_Green_OnOff :
            currentDataPoint.valueGreen_OnOff = dataPointPtr->valueGreen_OnOff;
            GIZWITS_LOG("Evt: EVENT_Green_OnOff %d \n", currentDataPoint.valueGreen_OnOff);
            if(0x01 == currentDataPoint.valueGreen_OnOff)
            {
              GreenOn();
                //user handle
            }
            else
            {
              GreenOff();
                //user handle
            }
            break;
        case EVENT_Blue_OnOff :
            currentDataPoint.valueBlue_OnOff = dataPointPtr->valueBlue_OnOff;
            GIZWITS_LOG("Evt: EVENT_Blue_OnOff %d \n", currentDataPoint.valueBlue_OnOff);
            if(0x01 == currentDataPoint.valueBlue_OnOff)
            {
              BlueOn();
                //user handle
            }
            else
            {
              BlueOff();
                //user handle
            }
            break;
        case EVENT_Door_OnOff :
            currentDataPoint.valueDoor_OnOff = dataPointPtr->valueDoor_OnOff;
            GIZWITS_LOG("Evt: EVENT_Door_OnOff %d \n", currentDataPoint.valueDoor_OnOff);
            if(0x01 == currentDataPoint.valueDoor_OnOff)
            {
              RelayOn();
                //user handle
            }
            else
            {
              RelayOff();
                //user handle
            }
            break;



        case WIFI_SOFTAP:
            break;
        case WIFI_AIRLINK:
            break;
        case WIFI_STATION:
            break;
        case WIFI_CON_ROUTER:
            GIZWITS_LOG("@@@@ connected router\n");

            break;
        case WIFI_DISCON_ROUTER:
            GIZWITS_LOG("@@@@ disconnected router\n");

            break;
        case WIFI_CON_M2M:
            GIZWITS_LOG("@@@@ connected m2m\n");
      setConnectM2MStatus(0x01);

            break;
        case WIFI_DISCON_M2M:
            GIZWITS_LOG("@@@@ disconnected m2m\n");
      setConnectM2MStatus(0x00);

            break;
        case WIFI_RSSI:
            GIZWITS_LOG("@@@@ RSSI %d\n", wifiData->rssi);
            break;
        case TRANSPARENT_DATA:
            GIZWITS_LOG("TRANSPARENT_DATA \n");
            //user handle , Fetch data from [data] , size is [len]
            break;
        case MODULE_INFO:
            GIZWITS_LOG("MODULE INFO ...\n");
            break;

        default:
            break;
        }
    }
    system_os_post(USER_TASK_PRIO_2, SIG_UPGRADE_DATA, 0);

    return 0; 
}

8.數(shù)據(jù)上報(bào)

數(shù)據(jù)上報(bào)到云端使用的是userHandle函數(shù),定時(shí)上報(bào)數(shù)據(jù)

代碼如下:

void ICACHE_FLASH_ATTR userHandle(void)
{
    /*
    currentDataPoint.valueMove_Detection = ;//Add Sensor Data Collection
    currentDataPoint.valueGas_Detection = ;//Add Sensor Data Collection
    currentDataPoint.valuetemp = ;//Add Sensor Data Collection
    currentDataPoint.valuehum = ;//Add Sensor Data Collection
    */

    uint8_t ret=0;
    uint8_t curTemperature=0;
    uint8_t curHumidity=0;
    uint8_t curIr=0;
    static uint8_t thCtime=0,dection_timer=0;
    static BOOL move=true,gas=true;  //默認(rèn)為真,也就是高電平
    thCtime++;
    dection_timer++;  //定時(shí)器間隔為100ms
    /*新添加代碼:溫濕度傳感器數(shù)據(jù)獲取*/
    if(TH_TIMEOUT
    {
        thCtime=0;
        ret=dh11Read(&curTemperature,&curHumidity);



        if(0==ret)
        {
            currentDataPoint.valuetemp=curTemperature;
            currentDataPoint.valuehum=curHumidity;
        }
        else
        {
            os_printf("@@@ dh11Read error! \n");
        }
    }
    get_motion_gas(&move,&gas);
    if(move == false)   //檢測到電平
    {
      currentDataPoint.valueMove_Detection = true;//Add Sensor Data Collection
    }
    else
    {
      currentDataPoint.valueMove_Detection = false;//Add Sensor Data Collection
    }
    if(gas == false)
    {
      currentDataPoint.valueGas_Detection = true;//Add Sensor Data Collection
    }
    else
    {
      currentDataPoint.valueGas_Detection = false;//Add Sensor Data Collection
    }

    system_os_post(USER_TASK_PRIO_2, SIG_UPGRADE_DATA, 0);
}

支持所有的代碼已經(jīng)編寫完成。


9.下載到開發(fā)版驗(yàn)證

燒錄軟件:ESPFlashDownloadTool_v3.4.4

下載地址:https://download.csdn.net/download/qq_36243942/11025638

下載后解壓打開:

步驟:

cf469e4e-d214-11ec-8521-dac502259ad0.png

cf559458-d214-11ec-8521-dac502259ad0.png

選擇下載文件和地址

cfa0c32e-d214-11ec-8521-dac502259ad0.png

在這里特別需要注意,如下:

查看源文件生成的目錄

cfc6c236-d214-11ec-8521-dac502259ad0.png

燒錄文件位置及說明:

cfe3cbc4-d214-11ec-8521-dac502259ad0.png

燒錄

d014d6b0-d214-11ec-8521-dac502259ad0.png


10.配網(wǎng)

下載完成之后對開發(fā)版進(jìn)行復(fù)位。

步驟:

1.按開發(fā)版的SW1按鍵,綠色的LED亮起,進(jìn)入SOFT_AP配網(wǎng)模式。

2.手機(jī)連接到需要連接的WIFI,打開機(jī)智云軟件

d03c84d0-d214-11ec-8521-dac502259ad0.png

2.填寫wifi信息

d06d1438-d214-11ec-8521-dac502259ad0.png

3.下一步

d0a4ad62-d214-11ec-8521-dac502259ad0.png

4.去連接ESP8266發(fā)射出來的熱點(diǎn),密碼默認(rèn)為:123456789

d0c0f508-d214-11ec-8521-dac502259ad0.png

5.連接完成后就可以使用手機(jī)進(jìn)行控制了。

注意:如果你想遠(yuǎn)程控制設(shè)備是需要登陸賬號的。


11.機(jī)智云開發(fā)中心查看設(shè)備

進(jìn)入機(jī)智云開發(fā)中心的項(xiàng)目就可以看到設(shè)備在線。

d15fc78c-d214-11ec-8521-dac502259ad0.png

12.使用安卓開源框架的APP控制

在上一篇使用開源框架寫了APP,既然ESP8266的本地?cái)?shù)據(jù)能夠上報(bào),那么我們寫APP就能夠去控制這個(gè)設(shè)備啦,而且是不需要登錄的哦。因?yàn)槲覀円呀?jīng)把這個(gè)APP和云端綁定了。

那看一下界面吧,肯定是比自動(dòng)生成的美觀那么一丟丟啦。哈哈哈哈

1.進(jìn)入APP

d192aefe-d214-11ec-8521-dac502259ad0.png

2.查看已聯(lián)網(wǎng)設(shè)備

d1db2d1e-d214-11ec-8521-dac502259ad0.png

3.進(jìn)入控制界面

d1fc34f0-d214-11ec-8521-dac502259ad0.png

d224895a-d214-11ec-8521-dac502259ad0.png

4.控制設(shè)備

d243356c-d214-11ec-8521-dac502259ad0.png

d26a49f4-d214-11ec-8521-dac502259ad0.png

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

    關(guān)注

    1

    文章

    101

    瀏覽量

    14626
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47021
收藏 人收藏

    評論

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

    藍(lán)牙語音遙控器:智能家居的智慧控制核心

    和OM6621芯片的強(qiáng)大性能,開發(fā)者能夠輕松打造高品質(zhì)的遙控器產(chǎn)品,滿足市場多樣化需求。未來,隨著技術(shù)的不斷突破,藍(lán)牙語音遙控器必將在智能家居領(lǐng)域綻放更大光芒,為用戶創(chuàng)造更便捷、舒適的生活方式
    發(fā)表于 06-01 20:24

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目

    (大賽作品)STM32F072RB NUCLEO智能家居控制實(shí)例項(xiàng)目文檔截圖
    發(fā)表于 05-28 21:06

    手機(jī)APP遠(yuǎn)程控制智能家居監(jiān)測、智能控制系統(tǒng)(STM32L4、服務(wù)器、安卓源碼)

    手機(jī)APP遠(yuǎn)程控制智能家居監(jiān)測、智能控制系統(tǒng)(STM32L4、服務(wù)器、安卓源碼) 項(xiàng)目實(shí)例下載! 純分享帖,需要
    發(fā)表于 05-23 21:00

    Matter 智能家居的通用語言

    企業(yè)正在測試 134 獨(dú)特的 Matter 產(chǎn)品。 在消費(fèi)智能家居設(shè)備無縫互操作性需求的推動(dòng)下,Matter的廣泛采用將吸引更多的開發(fā)者
    發(fā)表于 05-19 15:35

    2025 TUYA全球開發(fā)者大會(huì)成功閉幕,涂鴉智能以下一代AI硬件重構(gòu)人機(jī)交互邊界?

    4月23日,涂鴉智能系列前沿AI爆產(chǎn)品重磅亮相2025TUYA全球開發(fā)者大會(huì)現(xiàn)場,吸引
    的頭像 發(fā)表于 05-08 19:07 ?196次閱讀
    2025 TUYA全球<b class='flag-5'>開發(fā)者</b>大會(huì)成功閉幕,涂鴉<b class='flag-5'>智能以下一</b>代AI硬件重構(gòu)人機(jī)交互邊界?

    明遠(yuǎn)智睿SSD2351開發(fā)板:智能家居智能核心

    數(shù)據(jù),如溫度、濕度、光照強(qiáng)度等,為智能家居系統(tǒng)的自動(dòng)化控制提供準(zhǔn)確的數(shù)據(jù)支持。全開源的開發(fā)資料和一對一的技術(shù)支持,讓
    發(fā)表于 05-07 18:59

    智能家居Mesh組網(wǎng)方案:實(shí)現(xiàn)智能化生活的無縫連接NRF52832

    自組織的 Mesh 網(wǎng)絡(luò),將各個(gè)智能設(shè)備連接在起,實(shí)現(xiàn)全屋智能家居的無縫連接。與傳統(tǒng)的單點(diǎn)連接方式
    發(fā)表于 04-15 14:07

    【貝啟科技BQ3568HM開源鴻蒙開發(fā)板深度試用報(bào)告】2 - 智能家居中控屏界面設(shè)計(jì):打造便捷的家居控制體驗(yàn)

    設(shè)計(jì),并探討其在智能家居中控屏中的應(yīng)用。 NAPI接口概述 NAPI接口是OpenHarmony提供的一種機(jī)制,用于在ArkTS中調(diào)用C++編寫的原生模塊。通過NAPI接口,開發(fā)者可以利用C++的高性能
    發(fā)表于 01-24 16:11

    【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 基于語音識(shí)別的智能杯墊

    語音命令Q 識(shí)別,適用于智能家居控制、玩具、人機(jī)交互等多個(gè)領(lǐng)域。該模塊以其高識(shí)別率、低功耗和易于集成的特點(diǎn)受到廣大開發(fā)者的青睞。 主要技術(shù)及功能有: 磁力攪拌、重量采集、語音識(shí)別、IPS顯示屏
    發(fā)表于 01-02 18:15

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

    智能家居的組網(wǎng)方式中,主要采用的是LoRa、WiFi及藍(lán)牙Mesh、zigbee、射頻和串行接口等組網(wǎng)方式開發(fā)者可根據(jù)需求選擇對應(yīng)的組網(wǎng)方式
    的頭像 發(fā)表于 11-23 01:02 ?678次閱讀
    機(jī)智云<b class='flag-5'>智能家居</b>網(wǎng)關(guān)方案的組網(wǎng)<b class='flag-5'>方式</b>與通訊協(xié)議解析

    基于語音識(shí)別技術(shù)的智能家居控制系統(tǒng)

    于語音識(shí)別的智能控制系統(tǒng)智能家居的重要組成部分,相比傳統(tǒng)的遙控或觸控方式,基于語音識(shí)別控制智能家居
    的頭像 發(fā)表于 11-19 17:25 ?1144次閱讀
    基于語音識(shí)別技術(shù)的<b class='flag-5'>智能家居</b><b class='flag-5'>控制系統(tǒng)</b>

    簡述三種esp32的開發(fā)方式是什么

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模無線通信芯片,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居智能硬件等領(lǐng)域。本文將詳細(xì)介紹三種ESP32的
    的頭像 發(fā)表于 08-20 09:11 ?7418次閱讀

    智能家居控制系統(tǒng)如何設(shè)計(jì)

    智能家居控制系統(tǒng)設(shè)計(jì)是個(gè)復(fù)雜而細(xì)致的過程,它涉及到多個(gè)方面的考慮,包括需求分析、設(shè)備選型、系統(tǒng)架構(gòu)設(shè)計(jì)、網(wǎng)絡(luò)安全、用戶交互以及后期維護(hù)等。以下是對
    的頭像 發(fā)表于 07-23 14:45 ?2444次閱讀

    智能家居控制方式有哪些

    智能家居控制方式多種多樣,這些方式不僅提升了家居生活的便捷性,還使得家居環(huán)境更加
    的頭像 發(fā)表于 07-23 14:30 ?2959次閱讀

    智能家居照明控制系統(tǒng)功能特點(diǎn)與應(yīng)用

    隨著科技的飛速發(fā)展,智能家居已成為現(xiàn)代家庭不可或缺的部分。其中,智能家居照明控制系統(tǒng)以其獨(dú)特的優(yōu)勢,正在逐步改變我們傳統(tǒng)的生活方式,使家庭
    的頭像 發(fā)表于 07-08 16:13 ?866次閱讀
    主站蜘蛛池模板: 亚洲色图久久 | 四虎新地址 | 亚洲一区中文字幕在线 | 国产美女精品视频免费观看 | 婷婷热 | 失禁h啪肉尿出来高h健身房 | 亚洲色图在线视频 | xxxxxxxx日本69| 欧美黄色三级 | 精品一区二区三区18 | 亚洲成a人一区二区三区 | 欧美在线视频免费播放 | 欧美黄免在线播放 | 在线黄视频 | 夜夜福利 | 欧美性幼| 色天天综合久久久久综合片 | 欧美日韩在线成人看片a | 爱逼综合 | 日日干狠狠操 | 五月婷六月婷婷 | 亚洲аv电影天堂网 | 丁香婷婷激情五月 | 亚洲五月综合缴情婷婷 | 天天躁天天狠天天透 | 四虎国产精品永久免费网址 | 真实国产伦子系 | 免费看啪 | 正在播放国产女免费 | 性生生活三级视频在线观看 | 日处女穴| 三级在线观看视频 | 日韩一级欧美一级 | 国产成人综合一区人人 | 三级黄色一级视频 | www射com | 五月激情六月 | 婷婷综合五月 | 乱色伦肉小说 | 中日韩精品视频在线观看 | 色狠狠狠色噜噜噜综合网 |