亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        藍牙通信可調(diào)節(jié)智能燈具的設(shè)計

        2021-03-19 01:17:52大連海洋大學(xué)信息工程學(xué)院梅子帆馬占軍
        電子世界 2021年3期
        關(guān)鍵詞:單片機智能設(shè)備

        大連海洋大學(xué)信息工程學(xué)院 梅子帆 馬占軍

        本文是以智能家居為出發(fā)點,旨在研究一款基于藍牙通信的可調(diào)節(jié)智能燈具,在滿足用戶照明需求的同時,采用Bluetooth SPP和HID協(xié)議,并且通過不同節(jié)點的相應(yīng)配置,設(shè)置配置端、服務(wù)端和客戶端,開發(fā)相應(yīng)的操作APP,實現(xiàn)手機等移動終端的遠(yuǎn)程遙控,燈的亮度和顏色的調(diào)節(jié)和挑選,具有非常廣泛的前景和推廣價值。

        隨著科技的進步和人們對智能生活的渴望,智能家居便在此種呼喚中應(yīng)用而生,特別是對智能燈的設(shè)計研究,也進行的如火如荼,但是大多數(shù)智能燈具的設(shè)計重點在多數(shù)情況下側(cè)重于智能控制,對于綠色節(jié)能方面考慮較少,因此開發(fā)出一種節(jié)能減排,又可以智能化控制的燈具是當(dāng)前市場號召所需。

        1 系統(tǒng)結(jié)構(gòu)設(shè)計硬件

        本設(shè)計是手機等移動終端為出發(fā)點,設(shè)計一款A(yù)PP,實現(xiàn)對臺燈的智能控制。在要實現(xiàn)對燈的控制時,秩序打開APP,與此同時打開藍牙,實現(xiàn)與燈的配對連接,而后通過進行操作手機APP的相關(guān)功能設(shè)計,將指令傳輸給單片機,單片機在通過接受到的指令對做出相應(yīng)的動作,從而實現(xiàn)對等的遠(yuǎn)程遙控。

        本設(shè)計主要包含四部分硬件:CC2541藍牙模塊,STC89C52RC單片機模塊,LED智能驅(qū)動照明模塊和電源管理模塊??傮w框圖如圖1所示。

        圖1 系統(tǒng)硬件結(jié)構(gòu)圖

        2 系統(tǒng)軟件設(shè)計

        Android端

        MainAty:

        獲取藍牙適配器,藍牙適配器通過搜索獲取適配藍牙信息

        private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

        如果手機沒打開藍牙,則界面跳轉(zhuǎn)至打開藍牙界面。

        @Override

        protected void onStart() {

        super.onStart();

        if (mBluetoothAdapter != null && !mBluetoothAdapter.isEnabled()) {

        Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

        startActivity(intent);

        }

        在藍牙匹配階段,一般是藍牙獲取適配前期曾匹配過得藍牙設(shè)備。

        if (devices != null && devices.size() > 0) {

        data.clear();

        for (BluetoothDevice device : devices) {

        HashMap map = new HashMap<>();

        map.put(“l(fā)v_left_icon”, R.drawable.lv_left_icon);

        map.put(“l(fā)v_address”, device.getAddress());

        map.put(“l(fā)v_right_icon”, R.drawable.lv_right_white);

        data.add(map);

        }

        } else {

        HashMap map = new HashMap<>();

        map.put(“l(fā)v_left_icon”, R.drawable.lv_left_icon);

        map.put(“l(fā)v_address”, “沒有已經(jīng)匹配的設(shè)備”);

        map.put(“l(fā)v_right_icon”, R.drawable.lv_right_white);

        data.add(map);

        mTextView.append(“沒有已經(jīng)匹配的設(shè)備” + “ ”);

        }

        simpleAdapter.notifyDataSetChanged();

        連接指定的藍牙:通過調(diào)用BluetoothTool連接藍牙,我們傳入了設(shè)備的地址"(String) data.get(0).get(“l(fā)v_address”)"以及連接類型BluetoothTool.ServiceOrClient.CLIENT。

        builder.setPositiveButton(“連接”, new DialogInterface.OnClick-Listener() {

        @Override

        public void onClick(DialogInterface dialogInterface, int i) {

        mBluetoothTool = new BluetoothTool((String) data.get(0).get(“l(fā)v_address”),

        BluetoothTool.ServiceOrClient.CLIENT);

        mBluetoothTool.SetOnIUpdateUI(new IUpdateUI() {

        @Override

        public void updateListViewDevices() {

        for (int i = 0; i < data.size(); i++) {

        if (i == index) {

        data.get(i).put(“l(fā)v_right_icon”, R.drawable.checked);

        continue;

        }

        data.get(i).put(“l(fā)v_right_icon”, R.drawable.lv_right_white);

        }

        客戶端線程:

        private class ClientThread extends Thread {

        @Override

        public void run() {

        super.run();

        try {

        mClientSocket = mDevice.createRfcommSocketToServiceRecord(

        UUID.fromString(“00001101-0000-1000-8000-00805F9B34FB”));

        Message msg = Message.obtain(null, MSG_UPDATE_LOG);

        msg.obj = “正在連接。。?!?

        mHandler.sendMessage(msg);

        mClientSocket.connect();

        msg = Message.obtain(null, MSG_UPDATE_LOG);

        msg.obj = “連接成功”;

        mHandler.sendMessage(msg);

        msg = Message.obtain(null, MSG_UPDATE_LISTVIEW);

        mHandler.sendMessage(msg);

        /** 接收數(shù)據(jù)*/

        mReadThread = new ReadThread();

        mReadThread.start();

        } catch (IOException e) {

        e.printStackTrace();

        Message msg = Message.obtain(null, MSG_UPDATE_LOG);

        msg.obj = “連接失敗”;

        mHandler.sendMessage(msg);

        可以看到線程一直在查看有沒有數(shù)據(jù),如果有的話就接受,并根據(jù)接收到的數(shù)據(jù)進行相應(yīng)的顯示。

        3 系統(tǒng)解決關(guān)鍵問題

        (1)本設(shè)計能夠?qū)崿F(xiàn)手機對LED燈的遠(yuǎn)程控制,通過將燈置于藍牙接收范圍內(nèi),通過手機等移動設(shè)備對燈發(fā)出指令,調(diào)節(jié)燈亮度以及開關(guān)狀態(tài)。

        (2)本設(shè)計能夠?qū)崿F(xiàn)多種光色和光照強度的調(diào)節(jié),用戶可以根據(jù)工作所需和自然光照情況。

        4 不足之處與展望

        (1)由于藍牙連接的距離限制,不能實現(xiàn)更遠(yuǎn)距離的控制。

        (2)本設(shè)計并沒有考慮LED燈啟動的問題。

        猜你喜歡
        單片機智能設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        智能前沿
        文苑(2018年23期)2018-12-14 01:06:06
        智能前沿
        文苑(2018年19期)2018-11-09 01:30:14
        智能前沿
        文苑(2018年17期)2018-11-09 01:29:26
        智能前沿
        文苑(2018年21期)2018-11-09 01:22:32
        基于MPU6050簡單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        500kV輸變電設(shè)備運行維護探討
        日本高清不在线一区二区色| 午夜无遮挡男女啪啪免费软件| 加勒比一本heyzo高清视频| 欧洲熟妇色xxxxx欧美老妇伦| 性大片免费视频观看| 午夜视频网址| 一级a免费高清免在线| 久久青青草视频免费观看| 久久精品国产亚洲av调教| 亚洲天堂av高清在线| 国产一区二区三区激情视频| 亚洲va国产va天堂va久久| 无码国产精品一区二区免费16| 亚洲无码a∨在线视频| 99热在线播放精品6| 久久精品国产亚洲av日韩一 | 女同一区二区三区在线观看| 中文字幕亚洲乱码熟女1区| 国产香蕉国产精品偷在线| 日韩国产欧美视频| 精品蜜桃视频在线观看| 人妻少妇不满足中文字幕 | 国内精品自在自线视频| 伊人久久一区二区三区无码| 国产偷拍自拍在线观看| 国产亚洲精品综合一区| 午夜成人无码福利免费视频| 国产成年无码久久久免费| 国产三级在线观看性色av| 不卡的高清av一区二区三区| 女人被弄到高潮的免费视频| 亚洲日韩专区在线视频| 国产精品福利久久香蕉中文| 毛片在线视频成人亚洲| 日韩av激情在线观看| 学生妹亚洲一区二区| 少妇爽到爆视频网站免费| 最新国产熟女资源自拍| 鲁鲁鲁爽爽爽在线视频观看| 国产成人av在线影院无毒| 一区二区午夜视频在线观看|