女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 智能應(yīng)用
[導(dǎo)讀]最近發(fā)生了一件很有意思的事情,Google發(fā)布了 Android Things 的第一個(gè)預(yù)覽版,他們的SDK主要針對(duì)3個(gè)開(kāi)發(fā)板(Single Board Computers),Pi 3、Intel的Edison和NXP Pico。

我與Android Things的24小時(shí)

我正在參與一個(gè)基于Android的物聯(lián)網(wǎng)商用項(xiàng)目,它運(yùn)行在Raspberry Pi 3上。最近發(fā)生了一件很有意思的事情,Google發(fā)布了 Android Things 的第一個(gè)預(yù)覽版,他們的SDK主要針對(duì)3個(gè)開(kāi)發(fā)板(Single Board Computers),Pi 3、Intel的Edison和NXP Pico。在Pi和Android之間無(wú)法建立端口連接,我們只能忍受自制固件的各種問(wèn)題,這種痛苦真的是無(wú)以言表。其中一個(gè)最大的問(wèn)題是它們不支持觸摸屏,甚至連 Element 14 官方出售的版本也不行。我知道Android正在向Pi靠攏,而之前Google向AOSP項(xiàng)目提交的一個(gè) 聲明 更是讓每個(gè)人為之動(dòng)容。2016年12月12號(hào),Google發(fā)布了“Android Things”,外加一個(gè)可下載的SDK。于是我開(kāi)始著手研究,并在門(mén)上掛上“勿擾”的牌子……

關(guān)于Android Things的疑問(wèn)

在經(jīng)歷了大量Android工作和一些Pi項(xiàng)目之后(包括現(xiàn)在的這個(gè)項(xiàng)目),對(duì)于Android和Pi,我不禁有很多疑問(wèn)。后面我會(huì)逐個(gè)說(shuō)明,不過(guò)第一個(gè)最大的疑問(wèn)現(xiàn)在已經(jīng)得到了回答——Android Studio完全支持Pi,Pi正式成為一個(gè)支持ADB連接的設(shè)備。是的!Android Studio那些超級(jí)好用的強(qiáng)大特性最終支持了真實(shí)的物聯(lián)網(wǎng)硬件,我們可以使用布局預(yù)覽、調(diào)試系統(tǒng)、源代碼檢查器、自動(dòng)化測(cè)試等等。我為此感到很激動(dòng)。直到現(xiàn)在,我的很多Pi板載程序都是使用Python來(lái)開(kāi)發(fā),使用運(yùn)行在Pi上面的編輯器(MC)來(lái)進(jìn)行SSH連接。這種方式是可行的,而且毋庸置疑,Pi和Python大神們會(huì)提出更好的方式,不過(guò)這仍然會(huì)讓人感覺(jué)回到了80年代的軟件開(kāi)發(fā)時(shí)代。我的項(xiàng)目需要為控制Pi的手持設(shè)備編寫(xiě)Android程序,如果使用之前的方式等于往傷口上灑鹽,而我后來(lái)使用Android Studio來(lái)開(kāi)發(fā)“真正”的Android程序,然后使用SSH來(lái)完全其它工作,一直到現(xiàn)在。

所有的例子都是有關(guān)上述的3個(gè)開(kāi)發(fā)板,Pi 3是其中一個(gè)。通過(guò)Build.DEVICE常量可以在運(yùn)行時(shí)決定是哪一種設(shè)備,所以你會(huì)看到很多類(lèi)似這樣的代碼:

public static String getGPIOForButton() {
     switch (Build.DEVICE) {
         case DEVICE_EDISON_ARDUINO:
             return "IO12";
         case DEVICE_EDISON:
             return "GP44";
         case DEVICE_RPI3:
             return "BCM21";
         case DEVICE_NXP:
             return "GPIO4_IO20";
         default:
             throw new IllegalStateException(“Unknown Build.DEVICE “ + Build.DEVICE);
     }
 }

這里對(duì)GPIO的處理很有意思,因?yàn)槲抑粚?duì)Pi比較熟悉,所以我只能假設(shè)其它開(kāi)發(fā)板也是以這種方式工作的??梢栽谶@些地方定義輸入和輸出,并作為到外部世界的主要接口。Pi所使用的Linux發(fā)行版完全支持Python的讀寫(xiě)操作,但對(duì)于Android來(lái)說(shuō),你必須使用NDK來(lái)編寫(xiě)C++驅(qū)動(dòng),然后通過(guò)JNI與Java進(jìn)行交互。這樣做不僅增加了難度,還讓構(gòu)建過(guò)程變得更加復(fù)雜。Pi設(shè)計(jì)了兩個(gè)針腳的I2C接口,分別是時(shí)鐘和數(shù)據(jù),需要額外的工作來(lái)處理它們。I2C是一個(gè)強(qiáng)大的可尋址總線系統(tǒng),它可以把多個(gè)針腳的數(shù)據(jù)串行化到一個(gè)針腳上面。讓我們感到驚喜的是,我們現(xiàn)在可以直接在Android Things里完成這些工作。你只需要調(diào)用read()或write()方法來(lái)訪問(wèn)GPIO針腳,而I2C的操作也很簡(jiǎn)單:

public class HomeActivity extends Activity {
    // I2C Device Name
    private static final String I2C_DEVICE_NAME = ...;
    // I2C Slave Address
    private static final int I2C_ADDRESS = ...;
    private I2cDevice mDevice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Attempt to access the I2C device
        try {
            PeripheralManagerService manager = new PeripheralManagerService();
            mDevice = manager.openI2cDevice(I2C_DEVICE_NAME, I2C_ADDRESS)
        } catch (IOException e) {
            Log.w(TAG, "Unable to access I2C device", e);
        }
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mDevice != null) {
            try {
                mDevice.close();
                mDevice = null;
            } catch (IOException e) {
                Log.w(TAG, "Unable to close I2C device", e);
            }
        }
    }
}

Android Things是基于哪個(gè)Android版本?

應(yīng)該是Android 7.0,我們因此可以使用完整的Material Design UI、優(yōu)化工具、安全增強(qiáng)以及之前版本的所有特性,真是太棒了!那么問(wèn)題來(lái)了:未來(lái)的平臺(tái)更新將以什么方式放出?我們需要單獨(dú)對(duì)它們進(jìn)行管理嗎?不要忘了,這些設(shè)備不會(huì)一直在線,我們也無(wú)法奢望總是有移動(dòng)網(wǎng)絡(luò)或WiFi可用,哪怕是不穩(wěn)定的無(wú)線網(wǎng)絡(luò)。

我所擔(dān)心的另一個(gè)問(wèn)題是,從名字上看,Android Things只是Android的一個(gè)衍生產(chǎn)物,它的誕生只是為了振奮Arduino市場(chǎng),而并非為了做出一個(gè)強(qiáng)大的操作系統(tǒng)。不過(guò)它所給出的 示例 立馬打消了這個(gè)疑慮,示例里有些地方甚至使用SVG作為resource(這是Android最近才有的),而不是使用傳統(tǒng)的位圖,雖然使用傳統(tǒng)的位圖也很方便。

既然Android Things是基于Android的,那么Android的一些問(wèn)題也會(huì)不可避免地出現(xiàn)在Android Things上,比如權(quán)限問(wèn)題。Android Things是為了固定的硬件設(shè)備而設(shè)計(jì)的,一旦構(gòu)建完成,用戶(hù)一般不會(huì)在上面安裝應(yīng)用,所以用戶(hù)不會(huì)被詢(xún)問(wèn)權(quán)限問(wèn)題,因?yàn)樵O(shè)備上可能連UI都沒(méi)有!所以,在應(yīng)用被安裝到設(shè)備上時(shí),它會(huì)被授予所有的權(quán)限。一般情況下,這些設(shè)備都是單應(yīng)用設(shè)備,在設(shè)備啟動(dòng)時(shí),只有一個(gè)應(yīng)用會(huì)在上面運(yùn)行。

Brillo發(fā)生了什么?

Brillo是前Google物聯(lián)網(wǎng)操作系統(tǒng)的代號(hào),看起來(lái)應(yīng)該是Android Things之前的代號(hào)。事實(shí)上,你還是能夠看到很多地方在使用Brillo這個(gè)名字,特別是GitHub上Android Things示例代碼里的源代碼文件夾名稱(chēng)。不過(guò)這樣的情況會(huì)越來(lái)越少,因?yàn)橐磺姓谙蛐碌耐跽呖待R!

UI指南?

Google發(fā)行了大量關(guān)于Android智能手機(jī)和平臺(tái)應(yīng)用的指南,比如如何在屏幕上布局按鈕等等。當(dāng)然,如果能夠遵循這些最佳實(shí)踐是再好不過(guò)了,不過(guò)現(xiàn)在我們?cè)僖膊荒芟褚郧澳菢印DJ(rèn)情況下,屏幕上什么也沒(méi)有,應(yīng)用開(kāi)發(fā)者需要自己管理所有的組件。包括頂部的狀態(tài)欄、底層的導(dǎo)航欄以及其它所有的組件。多年來(lái),Google告訴Android應(yīng)用開(kāi)發(fā)者不要自己去渲染一個(gè)返回按鈕,因?yàn)槠脚_(tái)會(huì)為我們提供一個(gè)這樣的按鈕,不過(guò)現(xiàn)在連這個(gè)按鈕也沒(méi)有了,因?yàn)?Android Things有可能連UI都沒(méi)有 !

關(guān)于Google將會(huì)提供的服務(wù)支持,我們將作何期待?

我們可以有很多期待,但不包括所有事情。Android Things的首個(gè)預(yù)覽版不支持藍(lán)牙,也不支持NFC,而對(duì)于物聯(lián)網(wǎng)來(lái)說(shuō),藍(lán)牙和NFC是非常重要的。而開(kāi)發(fā)板就支持這些功能,所以我認(rèn)為在不久的將來(lái)Android Things也會(huì)支持它們。因?yàn)闆](méi)有通知欄,所以也不會(huì)有通知。地圖也不會(huì)有。沒(méi)有默認(rèn)的軟鍵盤(pán),需要自己安裝一個(gè)。因?yàn)闆](méi)有應(yīng)用商店,所以必須通過(guò)ADB安裝應(yīng)用,還要做很多其它操作。

在使用Android Things進(jìn)行開(kāi)發(fā)時(shí),我嘗試著把為Pi開(kāi)發(fā)的APK安裝到普通的設(shè)備上,但沒(méi)有成功。有個(gè)錯(cuò)誤被拋了出來(lái):“com.google.android.things”庫(kù)不存在,說(shuō)明為Android Things設(shè)備開(kāi)發(fā)的應(yīng)用無(wú)法安裝到其它設(shè)備上。這個(gè)看起來(lái)是合理的,因?yàn)橹挥蠥ndroid Things設(shè)備需要這些東西,不過(guò)這也會(huì)有點(diǎn)局限,因?yàn)椴粌H僅智能手機(jī)或平臺(tái)沒(méi)有這些庫(kù),其它的模擬器也沒(méi)有。也就是說(shuō),你只能在Android Things物理設(shè)備上運(yùn)行和測(cè)試Android Things應(yīng)用……直到Google在它的物聯(lián)網(wǎng)開(kāi)發(fā)者社區(qū) 上回答了我所提出的疑問(wèn),并提供了一個(gè)變通方案。

關(guān)于Android Things生態(tài)系統(tǒng)的演化,我們將做何期待?

我期待能夠看到更多的基于傳統(tǒng)Linux服務(wù)器的應(yīng)用被移植到Android Things平臺(tái)上,雖然這些應(yīng)用對(duì)于智能手機(jī)和平板來(lái)說(shuō)毫無(wú)意義。例如,Web服務(wù)器。現(xiàn)在已經(jīng)有一些這樣的服務(wù)器,不過(guò)還沒(méi)有像Apache或Nginx這樣的重型服務(wù)器。物聯(lián)網(wǎng)設(shè)備可能不會(huì)有本地的UI,不過(guò)可以通過(guò)瀏覽器來(lái)管理它們,這樣做是可行的,所以需要一種方式來(lái)展現(xiàn)Web面板。對(duì)于那些著名的通信應(yīng)用來(lái)說(shuō),它們需要麥克風(fēng)和揚(yáng)聲器,從理論上說(shuō),可以支持任何一款視頻通話應(yīng)用,比如Due、Skype、Facebook等等。事態(tài)將會(huì)發(fā)展到何種程度都只是我們的猜測(cè)。是否會(huì)出現(xiàn)應(yīng)用商店?是否會(huì)出現(xiàn)廣告?我們能夠避免被黑客控制?從消費(fèi)者的角度來(lái)看,物聯(lián)網(wǎng)設(shè)備就是一些具有觸摸屏的聯(lián)網(wǎng)設(shè)備,而且每個(gè)人都習(xí)慣了智能手機(jī)的工作方式。

我期待能夠看到硬件的飛速發(fā)展,特別是開(kāi)發(fā)板設(shè)備,而且能夠處在一個(gè)較低的成本水平。Raspberry Pi Zero只要5美元,這個(gè)價(jià)格低得讓人不可思議,不過(guò)它那可憐的CPU和內(nèi)存甚至都無(wú)法保證能夠運(yùn)行Android Things。它們什么時(shí)候才能運(yùn)行Android Things?很顯然,很多開(kāi)發(fā)板產(chǎn)商把目標(biāo)瞄準(zhǔn)了Android Things,而且隨著規(guī)?;a(chǎn),一些外圍設(shè)備,比如觸摸屏,很可能只需要2美元左右。

不過(guò),我不認(rèn)為我們會(huì)如飛一般跳躍。如果我們把Android Things看成一個(gè)無(wú)所不包的物聯(lián)網(wǎng)操作系統(tǒng),那么知道一些Android架構(gòu)方面的知識(shí)有助于我們了解這個(gè)系統(tǒng)。它仍然使用Java語(yǔ)言開(kāi)發(fā),Java因?yàn)樗睦厥胀nD時(shí)間飽受詬病。不過(guò)這只是其中的一個(gè)方面。一個(gè)真正的實(shí)時(shí)操作系統(tǒng)對(duì)時(shí)效性具有非常嚴(yán)格的要求,它不能是一個(gè)關(guān)鍵性任務(wù)系統(tǒng)。想想那些醫(yī)療應(yīng)用、安全監(jiān)視器、工業(yè)控制器等。從理論上說(shuō),如果有必要,Android系統(tǒng)上的Activity或服務(wù)隨時(shí)會(huì)被停掉。對(duì)于手機(jī)來(lái)說(shuō),用戶(hù)可以重啟應(yīng)用,清除其它應(yīng)用,或者重啟設(shè)備。擁有一個(gè)心跳監(jiān)測(cè)器是很重要的。如果前臺(tái)的Activity或服務(wù)正在監(jiān)聽(tīng)一個(gè)GPIO針腳,而信號(hào)得不到及時(shí)的處理,就會(huì)發(fā)生錯(cuò)誤。Android需要做一些很基礎(chǔ)的修改來(lái)支持心跳監(jiān)測(cè),不過(guò)到目前為止還沒(méi)有聽(tīng)說(shuō)有這方面的計(jì)劃。

過(guò)去的24小時(shí)

那么,讓我們回到我的項(xiàng)目上來(lái)。我想我可以把之前所做的工作盡可能地移植過(guò)來(lái),如果不可避免地碰到一些問(wèn)題,我可以到G+開(kāi)發(fā)社區(qū)上尋求幫助。不過(guò)除了無(wú)法在非Android Things設(shè)備上運(yùn)行應(yīng)用這個(gè)問(wèn)題以外,還沒(méi)有碰到其它問(wèn)題。目前一切運(yùn)行良好!這個(gè)項(xiàng)目還用了一些奇怪的東西,比如自定義字體和一些精準(zhǔn)的計(jì)時(shí)器,這些東西在Android Studio里都得到了完美的支持。我這次給Google打滿分。之后我會(huì)做一些實(shí)實(shí)在在的原型,而不只是視頻或截圖。

藍(lán)圖

物聯(lián)網(wǎng)操作系統(tǒng)目前看起來(lái)非常的碎片化。這個(gè)領(lǐng)域目前還沒(méi)有出現(xiàn)市場(chǎng)領(lǐng)導(dǎo)者,雖然我們經(jīng)常聽(tīng)到一些天花亂墜的大肆宣傳,但這些還為時(shí)過(guò)早。Google能否在物聯(lián)網(wǎng)領(lǐng)域也能做得像他們?cè)谝苿?dòng)領(lǐng)域所做的那樣?要知道,他們已經(jīng)占據(jù)了90%的移動(dòng)市場(chǎng)。我相信他們會(huì)的。而如果這個(gè)成為現(xiàn)實(shí),那么Android Things的出現(xiàn)就是一個(gè)起點(diǎn)。

讓我們想想開(kāi)放軟件和私有軟件之間的戰(zhàn)爭(zhēng),比如Apple和Google。Apple從來(lái)沒(méi)有完整開(kāi)放過(guò)他們的軟件,而Google的開(kāi)源軟件已經(jīng)為很多人帶來(lái)了好處。現(xiàn)在這個(gè)問(wèn)題又出現(xiàn)了,要讓Apple開(kāi)發(fā)出一個(gè)免費(fèi)的物聯(lián)網(wǎng)系統(tǒng),就好比讓它發(fā)布一款免費(fèi)的iPhone一樣難。

物聯(lián)網(wǎng)操作系統(tǒng)的游戲已經(jīng)開(kāi)始了,而競(jìng)爭(zhēng)對(duì)手們甚至都還沒(méi)有做好準(zhǔn)備……

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉