現(xiàn)代手機(jī)擁有許多傳感器,包括地磁、姿態(tài)、GPS、光照、溫度、氣壓、攝像、聲音、電磁等,完全就是一個(gè)高度集成的科學(xué)儀器。不夸張的說,一部手機(jī)加上一個(gè)外圍的計(jì)算機(jī)和控制系統(tǒng),做一個(gè)功能較強(qiáng)的自主移動(dòng)機(jī)器人并不是不可能。但是,很多APP都只是局限于自身的功能,并不喜歡把傳感器數(shù)據(jù)泵出來給其他設(shè)備分享。即使有,也是收費(fèi)的。
有沒有可能自己做一個(gè)小APP,獲得所有的手機(jī)傳感器數(shù)據(jù),榨干手機(jī)的感知能力呢?實(shí)際上實(shí)現(xiàn)起來并不困難,甚至連界面都不需要。筆者準(zhǔn)備涉足一下從未實(shí)操過的App開發(fā),把舊手機(jī)的傳感器數(shù)據(jù)分享出來。
1. 基本思路
分享傳感器數(shù)據(jù),必然需要一個(gè)連接。從應(yīng)用的場(chǎng)景來說,用手機(jī)與消費(fèi)者的網(wǎng)絡(luò)距離來分類,可以想到如下幾種常見共享思路。
序號(hào) | 連接 | 場(chǎng)景 | 技術(shù)要求 |
---|---|---|---|
0 | Wifi局域網(wǎng) | 室內(nèi)/近距離,低延遲局域網(wǎng)通信 | 需要局域網(wǎng)服務(wù)聲明與功能發(fā)布實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)與連接 |
1 | 網(wǎng)絡(luò)熱點(diǎn)(無線/USB/藍(lán)牙等) | 室內(nèi)/近距離,無需第三方Wifi網(wǎng)絡(luò)支持,低延遲局域網(wǎng)通信 | 客戶端直接獲取網(wǎng)關(guān)地址而后連接,最簡(jiǎn)單。 |
2 | 藍(lán)牙數(shù)據(jù)連接 | 室內(nèi)/近距離,無需第三方Wifi | 需要藍(lán)牙發(fā)現(xiàn)與連接功能 |
3 | 物聯(lián)云服務(wù) | 遠(yuǎn)距離,基站覆蓋區(qū)域內(nèi)共享,公網(wǎng)端口映射 | 需要注冊(cè)域名,購買云資源,花錢但簡(jiǎn)單可靠 |
4 | DDNS動(dòng)態(tài)域名 | 遠(yuǎn)距離,基站覆蓋區(qū)域內(nèi)共享,公網(wǎng)端口映射 | 需要自己維護(hù)寬帶、IP與DDNS,復(fù)雜度高但開銷小 |
從簡(jiǎn)單考慮,我們使用序號(hào)1進(jìn)行開發(fā)。手機(jī)為其他設(shè)備提供互聯(lián)網(wǎng)熱點(diǎn),并在構(gòu)造的局域網(wǎng)內(nèi)直接通過局域網(wǎng)IP段進(jìn)行傳感器內(nèi)容分發(fā)。
2. 開發(fā)工具鏈搭建
如果熟悉Java或者Kotlin開發(fā),當(dāng)然是用原生的 Android Studio 搞定。不過我比較熟悉C++,準(zhǔn)備使用C++ Qt搞定。通過初步的安裝,我驚喜的發(fā)現(xiàn)新版的Qt(Creator版本 9.0)在線安裝真的比4年前方便太多了!基本是按照下面的步驟自動(dòng)搞定,不需要自己修改環(huán)境變量、配置Java。
注意的是,為了后續(xù)安裝方便,機(jī)器上要安裝Git客戶端,并加入PATH,使得CMD可以找到Git.
2.1 下載并安裝 Android Studio
在官網(wǎng)下載 Android Studio, 并進(jìn)行安裝。筆者的下載速度不孬,呼呼叫就下完了,管的狠!
- 下載后,最好選擇一個(gè)大一點(diǎn)的磁盤,進(jìn)行安裝。我不喜歡把SDK之類的東西放到默認(rèn)的C:\Users\Name\AppData下,所以注意,安裝的時(shí)候選好文件夾。
- 如果一直在手機(jī)上物理調(diào)試,也可以不安裝虛擬機(jī)。這樣快得多。另外在實(shí)際手機(jī)調(diào)試的體驗(yàn)要比虛擬機(jī)好得多。
在安裝完畢后,直接開始(start),首次會(huì)提示下載必要的組件。注意為了SDK不污染AppData,選擇自定義模式完成后,關(guān)閉程序。注意,目前缺失的很多組件,Qt Creator 9.0會(huì)在配置時(shí)進(jìn)行下載。
2.2 在線安裝Qt
在官網(wǎng)下載Qt在線安裝工具
https://www.qt.io/download-qt-installer
需要注意的是,要有耐心等待網(wǎng)頁,真的很慢。而后會(huì)進(jìn)入下載頁面。真開始下載后,下載超級(jí)快。另外注意的是,雖然是在線安裝,但是綠色版的。比如你在學(xué)校機(jī)房,安裝好一臺(tái)后,直接拷貝到其他機(jī)器就全了。只要保證文件夾都一樣就可以。如果不一樣,用junction創(chuàng)建一個(gè)NTFS鏈接即可。
由于學(xué)校不是所有計(jì)算機(jī)都有D:(有的是光驅(qū)+E:),我一般會(huì)選擇一臺(tái)C盤大的機(jī)器,全部一股腦裝到C:\Qt或者 C:\Tools\Qt里(本次放在C:\Android\Qt)。發(fā)布到其他電腦的 E:或者D:后,再junction到C。
而后,雙擊下載的文件 “qt-unified-windows-x64-4.5.0-online.exe” 進(jìn)行安裝。注意似乎需要填寫賬號(hào),還需要提前注冊(cè)一個(gè)。
在選擇套件時(shí),直接選擇上 Android,就選中了所有的組件。默認(rèn)當(dāng)前最新是Qt 6.4.1。像筆者這樣已經(jīng)安裝過Qt的用戶,直接選升級(jí)后,再添加Android組件即可。注意一定要安裝9.0以上的QtCreator,真的非常好用。
2.3 自動(dòng)配置Android工具鏈
首次啟動(dòng)QtCreator后,底部會(huì)有提示,配置安卓直接點(diǎn)擊,選擇剛才的SDK路徑后,會(huì)發(fā)現(xiàn)很多項(xiàng)都是紅色的。
點(diǎn)擊“設(shè)置SDK”,進(jìn)行配置
而后,再次選擇同一個(gè)SDK文件夾,就會(huì)觸發(fā)下一步配置
注意許可證要一路點(diǎn)擊同意
完畢后,主干功能全部變綠。如果配置了Git,則卡伊自動(dòng)克隆openssl,所有功能變綠。
此時(shí),重啟 QtCreator,會(huì)發(fā)現(xiàn)Kits里已經(jīng)出現(xiàn)了完好的工具鏈。
3. 創(chuàng)建第一個(gè)安卓應(yīng)用
可以直接新建第一個(gè)應(yīng)用了,也可以打開一個(gè)例子。注意,在release版本的構(gòu)建選項(xiàng)里,要?jiǎng)?chuàng)建一個(gè)用于app簽名的證書,否則release版本的apk生成會(huì)有問題。
注意首次編譯會(huì)下載 Downloading https://services.gradle.org/distributions/gradle-7.4.2-bin.zip,如果網(wǎng)絡(luò)不好,可能會(huì)超時(shí)。多試幾次就可以了。要注意有些編譯提示是UTF-8的,需要修改QtCreator的默認(rèn)編碼,這樣才能顯示中文錯(cuò)誤提示。
編譯后,即可運(yùn)行例子
4 為后續(xù)開發(fā)安裝額外的模塊
Qt的很多專門模塊目前已經(jīng)變成可選模塊,直接通過維護(hù)器進(jìn)行自定義安裝(我全裝了)
我們把“Additional Libraries” 全勾上,花不了幾個(gè)G的磁盤。
至此,基本的開發(fā)環(huán)境就做好了。文章來源:http://www.zghlxwxcb.cn/news/detail-779556.html
5 兼容性
要注意的是,目前太老的Android手機(jī)可能不支持,建議用近兩年的手機(jī)測(cè)試。另外要查看自己手機(jī)的SDK版本,如果遇到問題,要先在Android Stuido里安裝老一點(diǎn)的SDK。文章來源地址http://www.zghlxwxcb.cn/news/detail-779556.html
到了這里,關(guān)于使用 Qt for Android 獲取并利用手機(jī)傳感器數(shù)據(jù)(上篇)開發(fā)環(huán)境省心搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!