999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的智能電池無線監(jiān)控系統(tǒng)

2021-03-24 11:16:32劉佳
電腦知識與技術 2021年2期

劉佳

摘要:該文論述了Android手機監(jiān)控智能電池電芯的電壓、電流、溫度、充/放電狀態(tài)等特性的實現過程。Android手機通過藍牙協(xié)議與智能電池JDY-32藍牙模塊通信,取代傳統(tǒng)有線串口,實現對智能電池的無線監(jiān)控。通過實際的工作環(huán)境測試表明,該系統(tǒng)運行流暢、操作簡單,數據傳輸準確及時。

關鍵詞:電池監(jiān)控;藍牙;串口;Android

中圖分類號:TP311? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)02-0050-02

1 研究背景及內容

對智能電池特性的實時監(jiān)控,一般采用串口連接線將電池連接到數據終端,通過串口協(xié)議傳輸數據,監(jiān)控電池狀態(tài)[1]。這種監(jiān)控方式實現簡單、技術成熟、應用廣泛。但有線連接限制了監(jiān)控人員的活動范圍,增加了設備的重量,不適合在移動場景下使用。

針對有線模式的各種不足,本文設計并實現了無線監(jiān)控系統(tǒng)。本系統(tǒng)將智能電池終端傳感器收集的電池電壓、電流、溫度、電池充/放電程度等狀態(tài)信息通過藍牙傳送給手機客戶端。監(jiān)控人員通過簡單的操作就可以在Android客戶端上查看電池的實時狀態(tài)信息。本文主要介紹Android客戶端的設計與實現過程。

2 藍牙模塊簡介及選用

藍牙分為低功耗藍牙和經典藍牙。籠統(tǒng)地講可將藍牙3.0及以下版本歸為傳統(tǒng)藍牙,藍牙4.0及以上歸為低功耗藍牙,即BLE。與經典藍牙相比,低功耗藍牙傳輸距離更遠,數據發(fā)送時延更低,發(fā)送速率更快[2]。低功耗藍牙最大的特點就是能耗極低,一顆紐扣電池就能維持其穩(wěn)定工作數月甚至更久[3],此外,低功耗藍牙還具有成本低,兼容性強等優(yōu)點[4]。因此本系統(tǒng)選擇了JDY-32低功耗藍牙作為智能電池藍牙模塊。

3 系統(tǒng)設計

本系統(tǒng)由硬件和軟件兩部分組成。硬件部分由智能電池組、傳感器、單片機、JDY-32藍牙模塊和Android手機組成。軟件部分由智能電池監(jiān)控客戶端組成。系統(tǒng)整體組成如圖1所示。通過傳感器、電流電壓調理電路及單片機將硬件系統(tǒng)的各個參數進行采集和轉換,通過無線藍牙協(xié)議傳送給Android端,Android端對數據進行處理和顯示。

3.1 Android客戶端功能設計

本文使用Android Studio作為開發(fā)工具,主要完成Android手機監(jiān)控客戶端的設計與實現。要實現Android手機與BLE藍牙通信,依賴于AndroidSDK中的BluetoothAdapter,BluetoothDevice,BluetoothSocket等API。因BLE藍牙技術只能在API18及以上版本才能使用,故本App要在Android4.3及以上版本的手機上才能正常運行[5]。App主要由四大功能模塊組成:藍牙掃碼連接模塊,電池監(jiān)控模塊,報警模塊和預留擴展模塊(BMS)。

藍牙掃描連接模塊負責掃描藍牙設備,并與藍牙設備建立連接。電池監(jiān)控模塊負責顯示當前電池參數,實時的監(jiān)控電池狀態(tài)。報警模塊能及時對電池組的電壓,電流,溫度,充/放電狀態(tài)的異常情況做出報警,用紅色醒目加粗字體顯示,同時響起報警鈴聲,提醒使用者排查故障,及時做出相應的處理。

3.2 Android客戶端UI設計

為了提高UI設計的靈活性,使App可以適應于不同的屏幕尺寸,本系統(tǒng)采用在Activity中嵌入 Fragment的方式進行布局。在Fragment中通過自定義ViewPager實現4個界面。通過RadioGroup設計底部四個菜單,監(jiān)聽RadioGroup的選中事件,對頁面進行切換。自定義ContentAdapter繼承于PagerAdapter用來向ViewPager中填充數據。通過上述設計可以統(tǒng)一界面的風格,提升交互的便捷性。

4 系統(tǒng)實現

對于Android手機與BLE的連接及數據傳輸過程,許多研究者做了大量的工作[6],目前技術已經非常成熟,不再贅述。本文主要對數據的封裝與解析,藍牙配對與連接,實時監(jiān)控,報警功能的實現進行說明。

4.1 數據封裝與解析

為了能讓智能電池單片機識別Android端發(fā)送的指令,要將16進制指令字符串轉換為byte數組后再發(fā)送。新建hexStr2Bytes(String src)函數返回值類型為byte[],首先使用trim()和toUpperCase()函數對字符串進行規(guī)范化處理,然后通過相關函數將字符串轉換為byte[]返回。同理,單片機通過藍牙模塊返回的數據為byte數組,在解析時首先將byte數組轉換為16進制字符串,再根據解析規(guī)則從16進制字符串中解析出相應的電壓、電流、溫度等數據。

4.2 藍牙設備配對與連接

新建BasePager頁面加載base_pager.xml作為所有頁面的父類,在BasePager中實現標題,并創(chuàng)建FrameLayout作為子頁面的容器。新建Buletooth-Pager類繼承自BasePager加載pager_buletooth.xml作為藍牙掃描與連接頁面。Android端與智能電池藍牙連接實現過程如下。

1)申請藍牙權限

在AndroidManifest.xml中申請BLUETOOTH_ADMIN和BLUETOOTH權限,否則無法打開和使用藍牙功能。

2)掃描當前存在的藍牙

使用BluetoothAdapter中的startDiscovery()進行掃描,發(fā)現新設備時發(fā)出BluetoothDevice.ACTION_FOUND廣播。創(chuàng)建ListView用來顯示掃描到的藍牙列表。在廣播接收器中接收到ACTION_FOUND廣播后,將掃描到的藍牙名稱、Mac地址等設備信息加入ListView中,持續(xù)檢測設備直到發(fā)現附件的所有藍牙設備。

3)連接藍牙

為ListView的每一個Item添加點擊事件,用以監(jiān)聽用戶的動作。用戶通過點擊Item選擇要連接的藍牙設備,本應用選擇智能電池藍牙模塊名稱為JDY-32,通過device.createRfcommSocketToServiceRecord(UUID)獲取BluetoothSocket對象,其中UUID代表通用唯一識別碼,對于藍牙設備而言,每個服務都有通用、獨立、唯一的UUID與之對應。本應用使用藍牙串口服務,對應UUID = ‘{00001101-0000-1000-8000-00805F9B34FB},最后通過BluetoothSocket中的connect()方法連接設備,首次連接時需要輸入默認的配對密碼,JDY-32藍牙模塊對應的配對密碼為“1234”,配對成功后藍牙設備將被保存在手機藍牙配對列表中,后續(xù)可直接連接無須輸入密碼。

4.3 實時監(jiān)測的實現

新建MonitorPager類繼承自BasePager加載pager- monitor.xml作為實時監(jiān)測頁面。為了在接收數據時不阻塞主線程,本系統(tǒng)通過Runnable機制新建子線程處理藍牙數據的接收事件,并將子線程設置為高優(yōu)先級,保證偵聽的連續(xù)性、實時性。子線程接收到新消息后,通過Handler機制通知主線程更新監(jiān)控界面。Android端每隔1秒發(fā)送一次請求指令,監(jiān)控界面每隔1秒刷新一次。

4.4 報警功能的實現

新建AlarmPager類繼承自BasePager加載pager- alarm.xml作為報警列表頁面。實現調用手機震動過程如下。在AndroidManifest.xml文件中申請"android.permission.VIBRATE"權限。通過activity.getSystemService(Context.VIBRATOR_SERVICE)獲取Vibrator對象,再通過long[] patter = {1000, 1000, 2000, 50};vibrator.vibrate(patter, 0);設置震動時間。vibrate函數的第二參數表示從哪里開始循環(huán),0表示這個數組在第一次循環(huán)完之后會從下標0開始循環(huán)到最后。

5 測試與總結

本測試使用魅族pro6s手機作為Android端,智能電池端已焊接好JDY-32藍牙模塊。測試了包括,藍牙掃描,藍牙連接,實時監(jiān)控,報警等所有功能。整個測試過程App運行流暢,藍牙連接正常,數據獲取、轉換、顯示正常,報警功能正常。實現效果如圖2所示。

本文很好地實現了智能電池無線監(jiān)測系統(tǒng),解決了傳統(tǒng)有線監(jiān)控方式的諸多不便,為智能電池的監(jiān)控提供了一種更加可靠、便捷的方案,具有一定的實用意義。BLE低功耗藍牙是大勢所趨,對于小型智能產品來說,是一種很好的通信方式。隨著Android系統(tǒng)的不斷迭代發(fā)展,對BLE藍牙的支持也會更加完善,基于BLE藍牙開發(fā)的App前景也將會更加廣闊。

參考文獻:

[1] 周賀松.一種基于物聯(lián)網技術的多功能采集系統(tǒng)[J].物聯(lián)網技術,2020,10(5):46-48,54.

[2] Shaikh Shahriar Hassan,Soumik Das Bibon,MdShohrab Hossain,et al. Security threats in Bluetooth technology[J]. Computers & Security,2018,74:308-322.

[3] 陳冬云.淺談藍牙4.0“助力”物聯(lián)網的發(fā)展[J].教師,2014(17):126.

[4] Robin Heydon.低功耗藍牙開發(fā)權威指南[M]. 陳燦峰,劉嘉,譯.北京:機械工業(yè)出版社,2014.

[5] 萬燕,李麗麗.基于Android與BLE的藍牙通信系統(tǒng)的實現[J].科技創(chuàng)新與應用,2018(16):15-17.

[6] 熊小軍,萬輝勇,陳泓屹.基于Android的低功耗藍牙通訊研究與實現[J].科技廣場,2015(7):122-127.

【通聯(lián)編輯:代影】

主站蜘蛛池模板: 亚洲青涩在线| 大学生久久香蕉国产线观看| 久久久久久久久久国产精品| 91亚洲精选| 亚洲人成色在线观看| 国产地址二永久伊甸园| 黄色不卡视频| 久久人搡人人玩人妻精品一| 日本久久久久久免费网络| 激情无码字幕综合| 狠狠综合久久久久综| 国产成人一级| 国产乱论视频| 日本精品视频| 国产99视频精品免费视频7| 亚洲日韩AV无码精品| 国产精品久久久精品三级| 在线观看国产精品第一区免费| 亚洲成人精品在线| 国内精品伊人久久久久7777人| 精品免费在线视频| 亚洲色欲色欲www在线观看| 亚洲Va中文字幕久久一区 | 欧美黑人欧美精品刺激| 国产成人成人一区二区| 国产麻豆91网在线看| 亚洲天堂高清| 77777亚洲午夜久久多人| 中国一级毛片免费观看| 最新国产精品第1页| 伊人久久福利中文字幕| 亚洲国产亚洲综合在线尤物| 色婷婷成人| 99精品伊人久久久大香线蕉| 国产成人资源| 亚洲精品麻豆| 99热这里只有精品免费| 免费一级α片在线观看| 日韩欧美国产中文| 在线观看免费黄色网址| 蜜芽一区二区国产精品| 精品少妇人妻一区二区| 欧美日韩精品一区二区在线线| 2022国产91精品久久久久久| 免费人成在线观看成人片| 中文字幕无码电影| 欧美日韩v| 久久青草精品一区二区三区| 视频国产精品丝袜第一页| 三上悠亚在线精品二区| 精品视频在线观看你懂的一区| 午夜精品一区二区蜜桃| 一级片免费网站| 波多野结衣视频网站| 亚洲免费成人网| 日韩一级毛一欧美一国产| 91网在线| 毛片一级在线| 免费人成又黄又爽的视频网站| 激情在线网| 亚洲精品色AV无码看| 性色在线视频精品| 高清码无在线看| 成人av专区精品无码国产| 她的性爱视频| 亚洲黄色成人| 国产精品美女自慰喷水| 一级看片免费视频| 无码高清专区| 亚洲欧美日韩另类在线一| a在线观看免费| 日韩AV手机在线观看蜜芽| 国产精品开放后亚洲| 91久草视频| 中文无码精品a∨在线观看| 久青草网站| 国产成人高清在线精品| 国产成本人片免费a∨短片| 91国内外精品自在线播放| 亚洲床戏一区| 国产亚洲欧美在线中文bt天堂| 黄色三级网站免费|