国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Android studio完成簡(jiǎn)易智能家居APP的制作(含源碼工程包)

這篇具有很好參考價(jià)值的文章主要介紹了使用Android studio完成簡(jiǎn)易智能家居APP的制作(含源碼工程包)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?(填下坑,把我之前答應(yīng)大家的完整軟件代碼翻出來(lái),供大家一起學(xué)習(xí))

可以看看實(shí)現(xiàn)效果先:?

智能家居APP展示視頻(含源碼)_嗶哩嗶哩_bilibili

目錄

項(xiàng)目說(shuō)明

功能介紹

系統(tǒng)功能需求

具體實(shí)現(xiàn)的軟件功能

?1、地圖定位

2、藍(lán)牙按鈕

3、遠(yuǎn)端控制?

核心代碼展示說(shuō)明

藍(lán)牙控制代碼說(shuō)明

1、藍(lán)牙工具類:

?2、判斷藍(lán)牙是否連接

源碼及相關(guān)Android電子書鏈接:源碼及其Android相關(guān)書籍


項(xiàng)目說(shuō)明

這個(gè)是我畢業(yè)設(shè)計(jì)的完整軟件項(xiàng)目,其實(shí)較為簡(jiǎn)陋,讀者可以在此基礎(chǔ)上二次開(kāi)發(fā),其包含三個(gè)功能,點(diǎn)擊地圖定位(設(shè)置家庭地址)、藍(lán)牙控制(用于控制CC2530硬件,實(shí)質(zhì)只是完成了SPP協(xié)議的數(shù)據(jù)上傳及發(fā)送)、遠(yuǎn)端控制(WI-FI)。而我的畢業(yè)設(shè)計(jì)總體而言,包含軟件、硬件兩大板塊,軟件就是這個(gè)基于Android實(shí)現(xiàn)的智能家居APP,其中點(diǎn)擊地圖定位功能,及其附加功能我已經(jīng)在往期文章中詳細(xì)闡述,鏈接如下:

Android如何實(shí)現(xiàn)地圖定位?Android studio+百度地圖API+Android6.0系統(tǒng)實(shí)現(xiàn)地圖顯示、地址設(shè)置、點(diǎn)擊地圖定位功能(詳細(xì))

硬件板塊分為三個(gè)內(nèi)容:即基于C8T6實(shí)現(xiàn)WI-FI遠(yuǎn)端控制、基于CC2530實(shí)現(xiàn)簡(jiǎn)易智能家居組網(wǎng)、基于LD3320實(shí)現(xiàn)語(yǔ)音識(shí)別控制。具體操作實(shí)現(xiàn)步驟,可以詳見(jiàn)我往期文章,鏈接如下:

STM32F103C8T6+ESP8266+MQTT使用最新版的oneNet可視化View實(shí)現(xiàn)遠(yuǎn)程控制(詳細(xì))

實(shí)現(xiàn)語(yǔ)音識(shí)別系統(tǒng):手把手教你使用STM32C8T6和LD3320(SPI通信版)實(shí)現(xiàn)語(yǔ)音識(shí)別

功能介紹

系統(tǒng)功能需求

功能需求,其一產(chǎn)品的Android手機(jī)端可實(shí)現(xiàn)點(diǎn)擊定位功能,當(dāng)定位在設(shè)定的家附近時(shí),可選擇跳轉(zhuǎn)至遠(yuǎn)端控制,提前打開(kāi)路燈,并可根據(jù)家中實(shí)時(shí)溫濕度數(shù)據(jù),開(kāi)關(guān)空調(diào)設(shè)備且提供遠(yuǎn)端的洗衣機(jī)開(kāi)關(guān);其二則是在回到家中后,門口的聲控?zé)簟N房的煙霧報(bào)警器、窗口的窗簾、客廳的風(fēng)扇全部自動(dòng)控制,以上包括需要手動(dòng)控制的燈關(guān)皆由Zigbee技術(shù)進(jìn)行組網(wǎng),其中藍(lán)牙模塊HC-05作為手動(dòng)控制設(shè)備的中間媒介;其三是在臥室設(shè)置一個(gè)語(yǔ)音控制系統(tǒng),既可以控制燈光,同時(shí)也能控制風(fēng)扇等設(shè)備。?

具體實(shí)現(xiàn)的軟件功能

?1、地圖定位

一套基于Android 4.0及以上版本設(shè)備的應(yīng)用程序接口,所實(shí)現(xiàn)的功能由普通地圖、衛(wèi)星地圖的切換,可以查看路況圖和熱力圖,同時(shí)可以顯示當(dāng)前所在地區(qū),縮放當(dāng)前地圖視野,且可以點(diǎn)擊地圖查看當(dāng)前地圖的經(jīng)緯度。由于要配合智能家居的遠(yuǎn)程控制系統(tǒng),所以另外添加了家庭地址的設(shè)置功能。

2、藍(lán)牙按鈕

藍(lán)牙按鈕功能程序的本質(zhì)就是藍(lán)牙串口通訊,該通訊的實(shí)現(xiàn)是基于SPP協(xié)議(Serial Port Profile),它能夠建立藍(lán)牙設(shè)備之間串口傳輸數(shù)據(jù)的功能程序而藍(lán)牙串口旨在解決如何確保兩種不同裝置(通信的兩端)應(yīng)用程序間有完整通信路徑的問(wèn)題,其具體實(shí)現(xiàn)功能是完成Android手機(jī)對(duì)藍(lán)牙模塊HC-05的控制,進(jìn)而實(shí)現(xiàn)手動(dòng)控制Zigbee組網(wǎng)的智能家居系統(tǒng),在尚未連接時(shí),彈窗出現(xiàn)提示并給出返回和刷新功能,連接成功后出現(xiàn)按鈕界面可以通過(guò)藍(lán)牙指令控制家居設(shè)備,同時(shí),當(dāng)斷開(kāi)藍(lán)牙設(shè)備后將重新出現(xiàn)藍(lán)牙選擇界面并給出提示。

?android智能家居app開(kāi)發(fā),智能家居

?android智能家居app開(kāi)發(fā),智能家居

3、遠(yuǎn)端控制?

遠(yuǎn)程控制功能程序是用One Net開(kāi)發(fā)平臺(tái)的可視化View,設(shè)計(jì)的一款應(yīng)用,利用MQTT協(xié)議進(jìn)行數(shù)據(jù)的上傳和命令下發(fā),以網(wǎng)頁(yè)的形式下發(fā)和數(shù)據(jù)上傳,即該功能界面不是Android studio設(shè)計(jì)的,是通過(guò)Android端進(jìn)行程序的開(kāi)啟。

android智能家居app開(kāi)發(fā),智能家居

核心代碼展示說(shuō)明

關(guān)于地圖定位方面和遠(yuǎn)端控制兩大功能,不做過(guò)多的解釋說(shuō)明,因?yàn)檫h(yuǎn)端控制也只是通過(guò)Android端打開(kāi)一個(gè)網(wǎng)絡(luò)端的應(yīng)用程序,它之所以會(huì)出現(xiàn)閃退的現(xiàn)象,是因?yàn)?/span>它的實(shí)現(xiàn)需要在開(kāi)啟權(quán)限的同時(shí),打開(kāi)證書信用確保打開(kāi)的HTTPS是安全可靠的,否則當(dāng)打開(kāi)云臺(tái)網(wǎng)頁(yè)應(yīng)用時(shí)會(huì)出現(xiàn)閃退現(xiàn)象,且因?yàn)樵贏ndroid 5.0之后,默認(rèn)情況下,不得載入http和https的混合體,有必要設(shè)置webview,讓它可以裝載混合網(wǎng)絡(luò)協(xié)議的內(nèi)容。代碼鏈接如下:

解決Android端打開(kāi)OneNet平臺(tái)的可視化view閃退問(wèn)題

藍(lán)牙控制代碼說(shuō)明

?那么我們的難點(diǎn)來(lái)到了藍(lán)牙控制功能,首先需要明白,它就是一個(gè)藍(lán)牙通訊app,和大家在應(yīng)用商店下載的那些SPP軟件的內(nèi)核沒(méi)有任何區(qū)別,總而言之本質(zhì)是一樣的。而我所做的,只是創(chuàng)建了一個(gè)丑不拉幾的,只適用于我系統(tǒng)的界面而已。這其中,我所解決的難點(diǎn)有,關(guān)于藍(lán)牙數(shù)據(jù)的上傳與手機(jī)數(shù)據(jù)發(fā)送的實(shí)現(xiàn)、藍(lán)牙斷聯(lián)后如何出現(xiàn)彈窗進(jìn)行重新搜索連接日志的上下滑動(dòng)的實(shí)現(xiàn)等等。

?還有一點(diǎn)需要申明的,我所調(diào)用的,是一位大佬寫的藍(lán)牙工具類,這個(gè)對(duì)我的幫助很大,我忘記是誰(shuí)了,但是不管怎么樣,感恩?。?!

1、藍(lán)牙工具類:

BLESPPUtils.java文件,代碼如下,其中包含了,藍(lán)牙源的搜索、藍(lán)牙開(kāi)啟、保留日志、接受和發(fā)送字節(jié)數(shù)據(jù)等等。代碼我就不貼了,具體可以看源碼

?2、判斷藍(lán)牙是否連接

    /**
     * 判斷藍(lán)牙是否斷開(kāi)連接
     */
    //The BroadcastReceiver that listens for bluetooth broadcasts
    private final BroadcastReceiver BTReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action) && menu_flag==0) {
                Intent intent_context = getIntent();
                finish();
                startActivity(intent_context);
                //Do something if disconnected
                Toast.makeText(getApplicationContext(), "不好意思,檢測(cè)到設(shè)備已經(jīng)斷開(kāi)連接,正在重啟", Toast.LENGTH_SHORT).show();
            }
        }
    };

3、日志的上下滑動(dòng)實(shí)現(xiàn)(TextView

?這個(gè)是因?yàn)槲也?,所以糾結(jié)了好久,其實(shí)只需要在layout中設(shè)置以下即可,具體位置如圖:

android智能家居app開(kāi)發(fā),智能家居


?總結(jié)一下:關(guān)于我智能家居軟件而言,其實(shí)也是我通過(guò)網(wǎng)絡(luò)資源的整合與修改實(shí)現(xiàn)的,所以我認(rèn)為取之于此,回饋于此,想著把我所做的這個(gè)小小項(xiàng)目發(fā)出來(lái),也能夠幫助到一些人。雖然這個(gè)軟件界面做的很丑,很多功能或許還不完善,但也確實(shí)傾盡不少心血,而Android我也只是學(xué)了一些皮毛,這里我也會(huì)放一些我看過(guò)的Android電子書,放在源碼的鏈接里,希望可以與大家一起學(xué)習(xí)進(jìn)步。如果大家覺(jué)得有幫助,可以關(guān)注一波,共勉!

哦,對(duì)了,我打算后面聊聊cc2530及其相關(guān)的協(xié)議棧,關(guān)于無(wú)線傳感網(wǎng)絡(luò)的,我本科大部分時(shí)間就學(xué)這玩意了,打算好好總結(jié)一下所學(xué)知識(shí),以免出現(xiàn)遺忘。以上文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-742356.html

源碼及相關(guān)Android電子書鏈接:源碼及其Android相關(guān)書籍

到了這里,關(guān)于使用Android studio完成簡(jiǎn)易智能家居APP的制作(含源碼工程包)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【雕爺學(xué)編程】Arduino智能家居之使用Blynk控制兩個(gè)舵機(jī)的角度

    【雕爺學(xué)編程】Arduino智能家居之使用Blynk控制兩個(gè)舵機(jī)的角度

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月04日
    瀏覽(44)
  • 【雕爺學(xué)編程】Arduino智能家居之使用ESP8266WiFi庫(kù)和DHTesp庫(kù)

    【雕爺學(xué)編程】Arduino智能家居之使用ESP8266WiFi庫(kù)和DHTesp庫(kù)

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年01月18日
    瀏覽(42)
  • 【雕爺學(xué)編程】Arduino智能家居之使用WiFi連接和HTTP POST上傳數(shù)據(jù)

    【雕爺學(xué)編程】Arduino智能家居之使用WiFi連接和HTTP POST上傳數(shù)據(jù)

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年01月23日
    瀏覽(29)
  • 【雕爺學(xué)編程】Arduino智能家居之使用WiFiClient庫(kù)發(fā)送GET請(qǐng)求獲取新聞?lì)^條

    【雕爺學(xué)編程】Arduino智能家居之使用WiFiClient庫(kù)發(fā)送GET請(qǐng)求獲取新聞?lì)^條

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月04日
    瀏覽(25)
  • 【雕爺學(xué)編程】Arduino智能家居之使用WeatherAPI.com API獲取天氣預(yù)報(bào)

    【雕爺學(xué)編程】Arduino智能家居之使用WeatherAPI.com API獲取天氣預(yù)報(bào)

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月03日
    瀏覽(24)
  • 【雕爺學(xué)編程】Arduino智能家居之使用以太網(wǎng)連接和HTTP POST上傳數(shù)據(jù)

    【雕爺學(xué)編程】Arduino智能家居之使用以太網(wǎng)連接和HTTP POST上傳數(shù)據(jù)

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月04日
    瀏覽(20)
  • 【雕爺學(xué)編程】Arduino智能家居之使用WiFi連接和WiFiClient庫(kù)發(fā)送GET請(qǐng)求

    【雕爺學(xué)編程】Arduino智能家居之使用WiFi連接和WiFiClient庫(kù)發(fā)送GET請(qǐng)求

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月19日
    瀏覽(19)
  • BL0942 內(nèi)置時(shí)鐘免校準(zhǔn)計(jì)量芯片 用于智能家居領(lǐng)域 上海貝嶺 低成本 使用指南

    BL0942 內(nèi)置時(shí)鐘免校準(zhǔn)計(jì)量芯片 用于智能家居領(lǐng)域 上海貝嶺 低成本 使用指南

    BL0939是上海貝嶺股份有限公司開(kāi)發(fā)的一款用于智能家居領(lǐng)域進(jìn)行電能測(cè)量的專用芯片,支持兩路測(cè)量,可同時(shí)進(jìn)行計(jì)量和漏電故障檢測(cè),漏電檢測(cè)電流可設(shè),響應(yīng)時(shí)間快,具有體積小,外圍電路簡(jiǎn)單,成本低廉的優(yōu)點(diǎn)。 功能簡(jiǎn)介 BL0942是一顆內(nèi)置時(shí)鐘免校準(zhǔn)電能計(jì)量芯片,適

    2024年01月24日
    瀏覽(19)
  • 智能家居(13)——智能家居控制系統(tǒng)

    燈光的控制:模擬客廳燈、餐廳燈、二樓燈、衛(wèi)生間燈。燈光可以通過(guò)手機(jī)App、語(yǔ)音、控制開(kāi)關(guān)。 家內(nèi)發(fā)生火災(zāi)后報(bào)警功能。 溫濕度檢測(cè)通過(guò)服務(wù)器上傳到手機(jī)App。 攝像頭安全監(jiān)控,將視頻上傳到手機(jī)App,并通過(guò)攝像頭實(shí)現(xiàn)人臉識(shí)別智能開(kāi)鎖。 燈光通過(guò)普通IO口控制,自己

    2024年02月11日
    瀏覽(107)
  • 【雕爺學(xué)編程】Arduino智能家居之使用Arduino發(fā)送溫濕度數(shù)據(jù)到MQTT頻道(使用PubSubClient庫(kù))

    【雕爺學(xué)編程】Arduino智能家居之使用Arduino發(fā)送溫濕度數(shù)據(jù)到MQTT頻道(使用PubSubClient庫(kù))

    Arduino是一個(gè)開(kāi)放源碼的電子原型平臺(tái),它可以讓你用簡(jiǎn)單的硬件和軟件來(lái)創(chuàng)建各種互動(dòng)的項(xiàng)目。Arduino的核心是一個(gè)微控制器板,它可以通過(guò)一系列的引腳來(lái)連接各種傳感器、執(zhí)行器、顯示器等外部設(shè)備。Arduino的編程是基于C/C++語(yǔ)言的,你可以使用Arduino IDE(集成開(kāi)發(fā)環(huán)境)來(lái)

    2024年02月04日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包