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

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

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

3天內不再提示

使用機智云開源框架開發一個智能家居系統?

9GxC_IoTMaker ? 來源:CSDN ? 作者:冷暖自知_源 ? 2021-04-20 14:25 ? 次閱讀

本項目由開發者發布在CSDN博客(ID為冷暖自知_源),主要介紹了如何使用機智云開源框架開發了一個智能家居系統,具體來說實現了燈的控制、門禁的控制、溫濕度的讀取、有毒氣體的檢測、人體紅外檢測等功能。本項目分成三部分來敘述。

本文是第一篇。

第一篇:總體介紹和安卓開發(邏輯控制部分實現)

1.界面演示2.下載機智云安卓開源框架3.創建項目4.修改App圖標、名字等信息5.填寫App ID與App Secret時APP和機智云云端綁定6.UI界面編寫7.思路整理及準備工作8.編寫控制代碼、調試測試APP

第二篇:UI界面編寫

第三篇:ESP8266接入機智云,驗證APP的功能

進入正文

1.界面演示

進入名為小智的的APP直接跳轉到設備界面,處于遠程控制狀態

點擊進入綜合系統,這是大燈的控制面板,左邊是關閉狀態,右邊是開啟狀態,其中復位按鈕時復位門禁和大燈的

這是門禁開關的面板,開啟門禁需要輸入密碼,此處設置為:“open”

點擊綠色按鈕進入密碼輸入界面。

指示門禁打開成功,按下紅色按鈕關閉門禁

溫濕度檢測

有毒氣體和人體紅外檢測

2.下載機智云安卓開源框架

2.1.下載機智云安卓開源框架:

注意剛開始打開,因為gradle版本的問題會有一系列的問題報錯,可以選擇Android studio自動下載的方案,或者從網上找解決方案

e450111a-9f2c-11eb-8b86-12bb97331649.png

下載到真機上,如下

開源框架主要目錄結構說明A. Libs: 包括 GizWifiSDK 在內的的第三方庫目錄**assets: 包含 UIConfig.json 配置文件B. GizOpenSource: 組成模塊GizOpenSourceModules:組成模塊GosApplication.java // SDK 在此啟動CommonModule // 公共方法類、資源文件讀取類ConfigModule // 設備配置模塊,包含 AirLink 及 SoftAPUserModule // 用戶模塊,包含 用戶登錄、用戶注冊、找回密碼DeviceModule // 設備模塊,包含 設備列表ControlModule // 控制模塊,包含 控制示例SettingsModule // 設置模塊,包含 設置菜單 及其 包含的子菜單項(關于等)PushModule // 推送模塊,包含 百度和極光的推送SDK 集成封裝ThirdAccountModule // 第三方登錄模塊, 包含 第三方登錄(QQ、微信等)view // 自定義控件utils // 工具類wxapi // 微信集成包zxing // 掃描二維碼

3.創建項目

在機智云創建一個賬號,然后進入開發者中心創建一個項目,如下:

數據點如下:

e49f0126-9f2c-11eb-8b86-12bb97331649.png

點擊應用配置,選擇安卓開發:

4.修改App圖標、名字等信息

使用Android studio打開機智云的安卓開源框架

現在先修改一些簡單的東西:

4.1.修改軟件圖標如下所示的圖片

把這張圖片放進工程的APP/res/drawable目錄下,以便待會應用

進入

e4ed8d46-9f2c-11eb-8b86-12bb97331649.png

e4f73c88-9f2c-11eb-8b86-12bb97331649.png

e50c2a3a-9f2c-11eb-8b86-12bb97331649.png

4.2.修改APP名字為:小智

e515d166-9f2c-11eb-8b86-12bb97331649.png

e52331d0-9f2c-11eb-8b86-12bb97331649.png

4.3.修改APP默認啟動進入的Activity,直接進入設備控制界面

e553d74a-9f2c-11eb-8b86-12bb97331649.png

把上面紅框額備份剪切到GosDeviceControlActivity下面,啟動之后直接到這個Activity

e5d0136e-9f2c-11eb-8b86-12bb97331649.png

注意還需要在:GosDeviceListActivity的Oncreate設置一下主題:

e606771a-9f2c-11eb-8b86-12bb97331649.png

默認標題欄是灰色的,修改自己想要的顏色,把鼠標放在AppTheme按住CRTL + 鼠標左鍵,跳轉到

e63eaeb4-9f2c-11eb-8b86-12bb97331649.png

跳轉到這里:

e64a5070-9f2c-11eb-8b86-12bb97331649.png

修改后如下

e66968ca-9f2c-11eb-8b86-12bb97331649.png

4.4.修改進入App默認彈出的圖片,此處默認為機智云的,現在我們換成自己的圖片

修改成如下的圖片。

把這個照片復制到,如下的目錄下:drawable目錄下

e6c5eae6-9f2c-11eb-8b86-12bb97331649.png

按如下的步驟修改:

e6cfea28-9f2c-11eb-8b86-12bb97331649.png

e70ff0a0-9f2c-11eb-8b86-12bb97331649.png

e73f0480-9f2c-11eb-8b86-12bb97331649.png

修改成我們想要的圖片:

基本信息修改完成后可以下載到真機下看一下這個App的變化:

5.填寫App ID與App Secret時APP和機智云云端綁定

App ID與App Secret含義與作用

App ID:應用標識碼,當開發者需要為一款智能產品開發應用(包括iOS、Android、Web應用等)時,在機智云開發者中創建應用的時候,后臺會自動生成一個AppID,并與此設備進行關聯。應用開發時需要填入此AppID。在APP注冊的所有用戶綁定在該Appid下。

App Secret:App ID的驗證密鑰。

如下圖所示,為APPID在開發APP過程中的作用。

步驟:

1.進入機智云開發者中心,打開開發的項目,找到如下的信息

eba263b4-9f2c-11eb-8b86-12bb97331649.png

2.打開Android sturio的APP-》src-assets下的UIconfig.json文件填寫數據如下:

此文件詳細說明:http://docs.gizwits.com/zh-cn/AppDev/Android%E7%AC%AC%E4%B8%89%E6%96%B9%E7%99%BB%E5%BD%95%E4%B8%8E%E6%8D%A2%E8%82%A4.html

ec2df654-9f2c-11eb-8b86-12bb97331649.png

備注:在這個文件同樣可以修改自定義的皮膚:

定義如下:

buttonColor:按鈕顏色

buttonTextColor:按鈕文字顏色

navigationBarColor:導航欄顏色

navigationBarTextColor:導航欄文字顏色

configProgressViewColor:配置中界面 progress view 顏色

先修改膚色為:

則對應的代碼為:

“buttonColor”: “16B599”,“buttonTextColor”: “FFFFFF”,“navigationBarColor”: “16B599”,“navigationBarTextColor”: “FFFFFF”,“configProgressViewColor”: “000000”,

注意:這里的顏色值,字幕需要大寫

6.UI界面編寫

因為這部分內容比較多,所以直接放在另一篇博客了:UI界面編寫

界面如下:

7.思路整理及準備工作

在進行控制代碼編寫之前先理清楚一下思路。

7.1. 我們寫的控制代碼如何和ESP8266芯片聯系起來?

在第5步的時候綁定了App和云端,機智云開源框架的SDK有一個回調接口

SDK回調接口說明:

APP端接收到MCU上報數據的回調接口:didReceiveData,判斷result為GizWifiErrorCode.GIZ_SDK_SUCCESS,則接收到的數據可能為普通數據點或者擴展數據點。

那么我們只需要在工程中調用這個回調接口函數,就可以在機智云服務器獲取我們工程相應的數據點。

同理,機智云也提供了一個GizWifiDevice這個類,讓我們能去控制云端數據點的數據,通過這個類的write()方法就可以控制。

如果當我們寫好了ESP8266的代碼,并它燒錄進開發版,進行聯網和云端進行連接,ESP開發版就會根據云端的數據去控制開發版(當然這部分代碼還是得我們自己來寫,機智云只是提供了數據控制點)

7.2.在工程中建立控制數據點的名稱

我們控制一個設備也是通過判斷哪一個數據點來進行控制的,因此我們設置的數據點的名稱需要和工程數據點的名稱對應:

看一下工程的數據點的標識名:

ed0b74f2-9f2c-11eb-8b86-12bb97331649.png

在GosDeviceControlActivity這個類定義這個數據點,如下:

ed9fc2ec-9f2c-11eb-8b86-12bb97331649.png

7.3.在工程中建立保存數據的變量

既然我們能從云端獲取這些數據,那我們就需要把這些數據保存起來,并存儲在本地變量中 。

ede1ca20-9f2c-11eb-8b86-12bb97331649.png

7.4.建立一個ConcurrentHashMap的全局變量

用于存儲下發的指令:

edf48d86-9f2c-11eb-8b86-12bb97331649.png

例子:

比如需要使Red_OnOff 這個數據點變成1,那么只需要做如下操作:

map=new ConcurrentHashMap《》();map.put(RED_OnOff,true);//調用device的write方法device.write(map,0);

需要使Red_OnOff 這個數據點變成0,那么只需要做如下操作:

map=new ConcurrentHashMap《》();map.put(RED_OnOff,false);//調用device的write方法device.write(map,0);

7.5.聲明layout文件中控件的的變量

//聲明兩個按鈕變量,分別是復位和檢測復位private Button btn_Reset;private Button btn_reset_det;

//聲明TextView主要是顯示一些狀態private TextView tv_RED; //顯示大廳燈狀態的變量private TextView tv_GREEN; //顯示食廳燈狀態的變量private TextView tv_BLUE; //顯示臥室燈狀態的變量private TextView tv_indicate;//顯示門禁狀態的變量private TextView tv_racall; //溫度顯示private TextView tv_hum; //濕度顯示private TextView tv_body; //人體紅外檢測private TextView tv_gas; //有毒氣體檢測private TextView tv_dettimes; //人體紅外感應次數

private CheckBox cb_01; //大廳燈開關的CheckBOxprivate CheckBox cb_02; //食廳燈開關的CheckBOxprivate CheckBox cb_03; //臥室燈開關的CheckBOx

private ImageButton iv_door_open; //門禁開的IamgeButtonprivate ImageButton iv_door_close;//門禁關的IamgeButton//記錄人體紅外檢測的次數private static int detcton_times=0;

7.6.在initView方法中獲取所有控件對象

edfd66d6-9f2c-11eb-8b86-12bb97331649.png

8.編寫控制代碼

那就順著UI界面從上到下編寫吧。

8.1.編寫復位按鈕的代碼:

打開GosDeviceControlActivity.java這個類,在initView中為btn_Reset對應的按鈕綁定監聽器

ee14a788-9f2c-11eb-8b86-12bb97331649.png

8.2編寫紅外檢測復位按鈕的點擊事件

eeaa12fa-9f2c-11eb-8b86-12bb97331649.png

8.3.編寫大燈面板的點擊事件(CheckBox)

也就是所如果選中第一個CheckBox讓Red_OnOff數據點變為高電平,否則變為低電平。

選中第二CheckBox讓Green_OnOff數據點變為高電平,否則變為低電平。

選中第三個CheckBox讓Blue_OnOff數據點變為高電平,否則變為低電平。

代碼如下,這部分代碼同樣寫在initView中:

//大燈面板的點擊事件 cb_01.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_01.isChecked()) {map=new ConcurrentHashMap《》();map.put(RED_OnOff,true); device.write(map,0); tv_RED.setText(“大廳燈開關:開”); }else {

map=new ConcurrentHashMap《》();map.put(RED_OnOff,false); device.write(map,0); tv_RED.setText(“大廳燈開關:關”); }

} }); cb_02.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_02.isChecked()) {map=new ConcurrentHashMap《》();map.put(GREEN_OnOff,true); device.write(map,0); tv_GREEN.setText(“食廳燈開關:開”);

}else {map=new ConcurrentHashMap《》();map.put(GREEN_OnOff,false); device.write(map,0); tv_GREEN.setText(“食廳燈開關:關”); }

} }); cb_03.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View view) {if(cb_03.isChecked()){//開藍燈指令map=new ConcurrentHashMap《》();map.put(BLUE_OnOff,true); device.write(map,0); tv_BLUE.setText(“臥室燈開關:開”); }else {map=new ConcurrentHashMap《》();map.put(BLUE_OnOff,false); device.write(map,0); tv_BLUE.setText(“臥室燈開關:關”); }

} });

8.4.編寫門禁開關面板

這部分相對于前面來說是比較復雜的,因為當點擊了綠色按鈕開門的時候是需要輸入密碼的,在這里的操作是使用Intent跳轉到另一個Activity,同時使用Intent傳輸數據,如果在另一個Activity輸入正確的密碼,那么就會回到原來這個Activity,并打開門禁,否則打開門禁,關閉門禁這個按鈕相對簡單一點,就直接是發送一個關閉的命令而已。

eec3b214-9f2c-11eb-8b86-12bb97331649.png

所以當我們在門禁開關點擊了綠色按鈕就會跳轉到LockActivity

也就是如下這個界面:

ecd4353c-9f2c-11eb-8b86-12bb97331649.png

那么現在去LockActivity.java這個類去寫相關的控制函數了

8.5.LockActivity相關代碼

和上面一樣,這個控件有一個EditView,兩個按鈕:確定,取消,還需要使用一個變量來保存密碼,默認為“abc”

eefbaa52-9f2c-11eb-8b86-12bb97331649.png

同樣在initView獲取控件對象:

ef07111c-9f2c-11eb-8b86-12bb97331649.png

調用EidtView的addTextChangedListener方法來讀取我們輸入EditView輸入的數據:

ef120798-9f2c-11eb-8b86-12bb97331649.png

接下來就是編寫確認按鈕(sure_button)和取消按鈕(cancle_button)的代碼了。

思路:當在EditView輸入密碼時,框內的內容會實時保存在mpassward這個變量中,當按下確認按鈕,就去判斷這個mpassward這個變量中是否保存有“open”這個字符串,如果有的話就返回上一級,并返回正確的結果,如果輸入密碼為空提示輸入正確的密碼,輸入密碼錯誤提示錯誤;按下取消按鈕直接返回上一級,并返回失敗!

代碼如下:

確認按鈕:

ef307e4e-9f2c-11eb-8b86-12bb97331649.png

取消按鈕

ef58af36-9f2c-11eb-8b86-12bb97331649.png

8.6.處理從上一級處理返回結果

回到GosDevideContrlActivity去判斷返回的結果是否正確,正確則代開門禁的開關,否則不打開。

ef9f2ea2-9f2c-11eb-8b86-12bb97331649.png

8.7.從云端獲取溫濕度以及氣體檢測等數據

思路:使用機智云SDK的回到方法didReceiveData,獲取數據,獲取到的是一串字符串,我們需要把這個字符串我們需要的信息提取出來,保存在7.3節中建立的變量當中,以便我們使用:

ede1ca20-9f2c-11eb-8b86-12bb97331649.png

解析云端數據函數:

在云端返回的是一個ConcurrentHashMap類型的數據,需要把這些數據的有用信息提取出來,代碼如下:

@SuppressWarnings(“unchecked”)protected void getDataFromReceiveDataMap(ConcurrentHashMap《String, Object》 dataMap) {// 已定義的設備數據點,有布爾、數值和枚舉型數據

if (dataMap.get(“data”) != null) { ConcurrentHashMap《String, Object》 map1 = (ConcurrentHashMap《String, Object》) dataMap.get(“data”);for (String dataKey : map1.keySet()) {if (dataKey.equals(RED_OnOff)) { data_Red_OnOff = (Boolean) map1.get(dataKey); }if (dataKey.equals(GREEN_OnOff)) { data_Green_OnOff = (Boolean) map1.get(dataKey); }if (dataKey.equals(BLUE_OnOff)) { data_Blue_OnOff = (Boolean) map1.get(dataKey); }if (dataKey.equals(DOOR_OnOff)) { data_Door_OnOff = (Boolean) map1.get(dataKey); }if (dataKey.equals(KEY_MOVE_DETECTION)) { data_Move_Detection = (Boolean) map1.get(dataKey); }if (dataKey.equals(KEY_GAS_DETECTION)) { data_Gas_Detection = (Boolean) map1.get(dataKey); }if (dataKey.equals(KEY_TEMP)) {

data_temp = (Integer) map1.get(dataKey); }if (dataKey.equals(KEY_HUM)) {

data_hum = (Integer) map1.get(dataKey); } } }

有了這個數據解析的函數,就可以把從云端獲取的數據提取出來,保存在本地變量當中給我們使用了,當提取處信息之后,比如溫度濕度等信息,它已經保存在 data_temp,date_hum中了,我們需要使用TextView把它們的值顯示出來,但是這里有一點值得注意,子線程中是不能執行UI操作的,也就是說不能再didReceiveData方法中調用UI操作TextView,所以需要使用Handler機制,告訴主線程,數據已經準備好,然后主線程接收到信息之后就更新UI操作,也就是顯示溫度濕度等信息啦。

云端獲取數據代碼:

f0057ef0-9f2c-11eb-8b86-12bb97331649.png

在主線程中更新UI,代碼如下:

f0697608-9f2c-11eb-8b86-12bb97331649.png

最后在initDevide()方法中,設置回調的監聽器

f0780dd0-9f2c-11eb-8b86-12bb97331649.png

至此,所有的邏輯控制代碼已經編寫完成。

8.8.調試測試

步驟:

1.進入機智云官網,打開你的項目,打開虛擬設備

f083dc46-9f2c-11eb-8b86-12bb97331649.png

2.點擊二維碼

3.使用APP掃描

4.掃描后進入

5.使用APP控制看調試結果

經過驗證,我們所寫的控制代碼已經能完成我們的需求了,既能控制工程云端的數據點,又能把工程云端的數據點推送到APP上。

原文標題:【機智云安卓開源框架1】實現簡單智能家居系統 之 上篇

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

責任編輯:haq

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

    關注

    1928

    文章

    9581

    瀏覽量

    185563
  • 安卓
    +關注

    關注

    5

    文章

    2134

    瀏覽量

    57317
  • 機智云
    +關注

    關注

    2

    文章

    590

    瀏覽量

    26436

原文標題:【機智云安卓開源框架1】實現簡單智能家居系統 之 上篇

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

收藏 人收藏

    評論

    相關推薦

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

    、設計簡介本畢業設計項目是基于STM32單片機的物聯網機智智能家居系統,包含原理圖PCB手機APP。
    的頭像 發表于 11-30 01:03 ?798次閱讀
    stm32單片機畢業設計——物聯網<b class='flag-5'>智能家居</b>源代碼原理圖

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

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

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

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

    機智開源自動化控制篇-接近報警系統

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

    機智ESP8266開發板RGB彩燈控件

    隨著智能家居技術的迅猛發展,RGB彩燈控件正逐漸成為現代家庭不可或缺的部分。在這潮流中,機智(Gizwits)的ESP8266
    的頭像 發表于 08-09 08:10 ?428次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>ESP8266<b class='flag-5'>開發</b>板RGB彩燈控件

    機智開源自動化控制篇:溫濕度報警器

    這次使用STM32F103C8T6單片機、ESP-01S、DHT11、蜂鳴器以及0.96寸OLED(I2C)制作溫濕度報警器,為智能家居增添智能生態。基本工作進入機智
    的頭像 發表于 08-06 08:10 ?343次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>開源</b>自動化控制篇:溫濕度報警器

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

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

    智能家居系統設計方案

    隨著科技的飛速發展,智能家居已成為現代家庭追求高品質生活的重要趨勢。智能家居系統通過集成各種智能設備,利用物聯網、計算、大數據等先進技術,
    的頭像 發表于 07-23 15:28 ?1995次閱讀

    智能家居控制系統如何設計

    智能家居的控制系統設計是復雜而細致的過程,它涉及到多個方面的考慮,包括需求分析、設備選型、系統架構設計、網絡安全、用戶交互以及后期維護等
    的頭像 發表于 07-23 14:45 ?1604次閱讀

    機智助力小程序開發:連接智能硬件與智能生活

    隨著智能硬件的普及和小程序的興起,人們的生活越來越依賴于智能化的解決方案。作為物聯網領域的領先者,機智為小程序開發者提供了豐富的支持和功能
    的頭像 發表于 06-15 08:10 ?452次閱讀
    <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>生活

    鴻蒙ArkUI-X框架開發:【開發準備】

    本文檔適用于ArkUI-X框架開發的初學者。通過環境搭建、代碼下載、代碼編譯、API擴展和使用,快速了解跨平臺項目開發流程。
    的頭像 發表于 05-23 21:02 ?487次閱讀
    鴻蒙ArkUI-X<b class='flag-5'>框架開發</b>:【<b class='flag-5'>開發</b>準備】

    智能家居控制系統解決方案功能

    智能家居,這現代科技與生活完美融合的代表,正逐漸改變著我們的居住體驗。借助計算機科技、網絡連接技術和簡易布線裝置,智能家居將家庭生活中的各種系統緊密地聯系在
    的頭像 發表于 04-09 15:58 ?655次閱讀

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

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

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

    澆花、自動喂魚、寵物檢測等進行本地和遠程無線智能控制。它們由統智能家居平臺將各個獨立的子系統連接成
    發表于 03-29 12:35

    Python智能家居系統代碼介紹

    Python智能家居系統種基于Python編程語言開發智能家居控制系統,在現代家庭中得到了
    的頭像 發表于 01-25 09:46 ?1395次閱讀
    主站蜘蛛池模板: 亚洲AV噜噜88| 久久久久久久网| 亚洲AV久久无码精品国产网站| 久久亚洲伊人中字综合精品| 成年性生交大片免费看| 伊人久久电影院| 视频成人永久免费视频| 男神插曲女生软件完整版| 精品国产90后在线观看| 囯产免费久久久久久国产免费| 777EY_卡通动漫_1页| 亚洲视频在线观看| 婷婷亚洲AV色香蕉蜜桃| 翘臀少妇被扒开屁股日出水爆乳| 久久精品一本到99热| 国产三级影院| 国产成人v视频在线观看| 99久免费精品视频在线观看2| 亚洲天码中字| 亚洲 综合 欧美在线 热| 强奷乱码欧妇女中文字幕熟女| 久久久中日AB精品综合| 国语自产拍在线视频普通话| 国产成人理在线观看视频| 扒开腿狂躁女人GIF动态图 | 日韩在线中文字幕无码| 蜜臀久久99精品久久久久久做爰| 国内2018年午夜福利5678| 国产精品免费一区二区三区视频 | 亚洲精品午夜VA久久成人| 翁用力的抽插| 双性将军粗壮H灌满怀孕| 日本撒尿特写| 日本在线高清不卡免费播放| 全免费A敌肛交毛片免费懂色AV| 蜜臀AV精品久久无码99| 良家人妻无码专区九色颜射| 榴莲推广APP网站入口下载安装 | 精品国产乱码久久久久久下载| 国产在线观看免费观看| 国产树林野战在线播放|