【Android Framework (十二) 】- 智能硬件設備開發

文章目錄

  • 前言
    • 智能硬件的定義與應用
    • 智能硬件產品開發流程
    • 智能硬件開發所涉及的技術體系概述
    • 關于主板選型
    • 主板CPU芯片的選擇
    • 關于串口通信
  • 總結


前言

針對我過往工作經歷,曾在一家智能科技任職Android開發工程師,簡單介紹下關于任職期間接觸和開發過的一些項目經歷,智能多與物聯網(LOT)進行聯系,從對Android智能硬件一無所知到現在算是略有小成,期間踩了很多坑,也接觸到了許多非Android方面的知識,現用文章的方式將之記錄下來,與大家分享。


智能硬件的定義與應用

提到智能硬件其實屬于物聯網(LOT)的范疇,關于智能硬件的定義,以我理解的角度來看,首先這是一個不同于移動手機的硬件,它本質還是一個可觸碰的實質物體;其次關于智能,只要是基于Android系統開發的硬件就可稱之為智能,因為智能硬件最關鍵的特性就是與外部連接通信,也稱之為物聯網,而Android系統自帶優秀的外部連接通信體系。

我們最常聽到與見到的智能硬件有手環、智能音箱、智能家居這些比較成熟的消費級商品,這些智能硬件大部分都是沒有界面的,與我從事的領域有所不同。沒有界面的智能硬件大部分都不是Andriod系統,而有觸屏界面的智能硬件我敢說80%以上都是Android系統,因為Android的交互體系絕對是最好的。

市面上成熟的Android智能硬件有:手持POS機、自動售貨機、政務自助機、人臉識別門禁、收銀機、汽車多媒體、電子班牌、快遞柜、影院取票機、廣告視頻機等等。


智能硬件產品開發流程

導入需求,分析確定需求細節,討論方案的技術可行性。
確定項目負責人、產品經理、硬件工程師、軟件工程師、結構工程師、UI設計師。
由需求確定使用哪些外設,對外設進行選型,需充分考慮性能、質量、結構設計、價格、供應商支持度等各方面的因素。
優先確認使用什么Android主板,確認主板與外設選型后告知結構工程師進行結構外形設計。
硬件工程師負責外接設備的控制板開發并提供接入協議,硬件工程師還須將外設接入Android主板的線材適配好。
UI設計師提供界面給軟件工程師(Android),開始進入進行軟件開發階段。
產品樣品建模制作出外殼,打磨、噴漆后進行所有元件的組裝。
樣品燒入程序,開始交予測試。
程序bug修改,穩定性測試。
所有測試通過后,撰寫用戶文檔與操作手冊。
一款智能硬件樣品全部制作完畢。

智能硬件開發所涉及的技術體系概述

Android UI
列表(RecycleView)
彈窗(Dialog)
動畫(Animation)
文字與按鈕(TextView)
手勢(Gesture)
外部通信
串口通信(UART)
以太網
Wifi、熱點
4G
藍牙
USB
NFC
I2C
GPIO
存儲
TF卡
U盤
FTP
Linux系統
腳本
點亮屏幕
固件升級
NDK
音視頻播放
設備通訊協議加密
接入已有的C庫
語音識別
人臉識別
外接設備
二維碼
攝像頭
紅外感應器
喇叭、麥克風
觸摸屏
LCD液晶屏
打印機
NFC模塊
IC類讀卡器

關于主板選型

Android主板的選型一定要放在首位,因為這是整個產品的控制中心,核心元件,如果不能自己定制主板,那就只能依賴于供應商提供方案。現行市面上非常多做安卓工業主板的,不愁找不到主板,但想要很特殊的定制可能會比較麻煩,除非你的量很大,否則只能用人家的標準板。依賴供應商還有一個特別麻煩的事情,就是系統功能定制的溝通,這是一個特別漫長而痛苦的過程。

結合多個項目的經驗,總結出智能硬件在安卓系統中所基本必要的功能。

序號 功能 說明
1 開機自啟 智能硬件一般只運行一個應用,且開機就要自動打開
2 保證應用永遠在前臺運行 讓用戶永遠不會看到除了應用之外的其它安卓界面
3 有接口設置系統時間 有些局域網場景無法連接外網,需要同步局域網服務器時間
4 定時開關機(帶RTC電池) 為了讓系統更好運行,可能需要每隔幾天重啟一次
5 靜默安裝應用,完成后直接拉起應用 更新安裝應用過程必須是無感的
6 系統固件更新接口 將新的系統固件放入系統后能用有方法更新
7 支持U盤、TF卡且有路徑檢測 對于非聯網管理的產品必須要能檢測到外部存儲插入
8 設置靜態以太網IP接口 對于某些依賴于IP地址進行管理的產品必須要能設置IP
9 開啟/關閉背光電源接口 有些場景可能要求節能環保,關背光很必要
10 讀寫IO口接口 IO口是控制外設開關的關鍵功能
11 設置屏幕顯示方向 橫豎屏根據項目會有不同要求

主板CPU芯片的選擇

CPU芯片是一塊主板最核心的元件,對于智能硬件而言CPU價格是不能太高的,不然會導致產品成本過高競爭力下降,但CPU性能又不能太差以讓產品毫無競爭力可言。從我觀察的情況來看,現在市面上的智能硬件基本是三家芯片廠商占據了絕大部分市場,它們分別是:

瑞芯微 Rockchip,簡稱RK
全志 AllWinner
飛思卡爾 FreeScale
瑞芯微是我接觸比較多的,在百度搜安卓主板出來的廣告廠商基本都是采用瑞芯微方案的,總體來說瑞芯微方案是最成熟的。

全志的安卓主板給我的感覺就是很便宜但系統都是4.2或4.4,說實話有點落后時代,不是5.0系統以上的主板我都不想碰,界面太丑系統還有點卡。

最后關于飛思卡爾,這是一個國外廠商,我手上還沒接觸過這個芯片的板子,很少見搭載這個芯片的安卓主板,也許在某些特定應用場景才會考慮這個芯片吧。

下面重點介紹下瑞芯微(下面簡稱RK芯片)系列4款常見的芯片。
芯片 定位 特性
RK3188 低端 四核Cortex-A9(32位),頻率最高1.6GHz,四核Mali-400MP4 GPU,支持OpenGL ES1.1/2.0,1080P視頻編解碼 (H.264)
RK3288 中端 四核Cortex-A17(32位),主頻最高達1.8GHz,Mali-T764 GPU,支持OpenGL ES 1.1/2.0/3.1, OpenCL, DirectX9.3,1080P視頻編解碼 (H.264/265)
RK3368 中低端 八核64位Cortex-A53,主頻最高達1.5GHz,PowerVR G6110 GPU,支持 OpenGL ES 1.1/2.0/3.1,OpenCL,DirectX9.3,1080P視頻編解碼 (H.264/265)
RK3399 高端 雙Cortex-A72+四Cortex-A53大小核CPU結構,主頻最高達1.8GHz,Mali-T864 GPU,支持OpenGL ES1.1/2.0/3.0/3.1,OpenVG1.1,OpenCL,DX11,1080P視頻編解碼
目前RK3288工業主板的價格大概在350~500 之間,RK3399價格在500~700之間,RK3188比3288便宜,RK3368介于3288與3399之間。

對于絕大多數應用場景而言,RK3288絕對能滿足需求,價格也比較適中,系統一般是Android5.1不用進行運行時權限適配。RK3399主要用于對于運算能力要求比較高的場景,比如人臉識別,3399還有一大優勢就是板子面積相對而言比較小。我目前基本都是采用3288進行開發的,對于智能硬件而言成本還是首要考慮因素,畢竟制造業利潤低,苦笑~
在這里插入圖片描述
在這里插入圖片描述

關于串口通信

串口通信是Android智能硬件開發所必須具備的能力,市面上類型眾多的外設基本都是通過串口進行數據傳輸的,所以說不會串口通信根本就做不了智能硬件開發。
首先來看一張RK3288的架構圖,在ConnectActivity那一個模塊可以發現UART*5的字樣,這就表示3288有5個串口可用,其中串口2一般是調試口不開放使用。
在這里插入圖片描述

總結

以上可以對從事android開發工程師來說大致了解做智能硬件需要了解的一些知識點,和對基礎一年電路板的選型尤其是cpu上,真實android軟件工程師來說主要還是在底層基礎上進行相應有UI效果的開發和編程處理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38844.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38844.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DDPM: Denoising Diffusion Probabilistic Models

DDPM: Denoising Diffusion Probabilistic Models 去噪擴散模型前向過程-加噪聲反向過程-去噪聲 去噪擴散模型 論文題目:Denoising Diffusion Probabilistic Models (DDPM) 論文來源:NIPS, 2020 論文地址:https://arxiv.org/abs/2006.11239 論…

RH850從0搭建Autosar開發環境【24】- Davinci Configurator之DEM模塊配置詳解(上)

DEM模塊配置詳解 - 上 一、Autosar中DEM模塊簡介1.DEM對其他模塊的依賴2.DEM模塊架構2.1 DEM模塊Dem Satellite(s) 和Master2.2 診斷事件處理2.2.1 基于計數器的算法2.2.2 基于時間的算法三、配置錯誤項處理3.1 容器DemEventParameter3.2 容器DemOperationCycleRef3.3 容器DemO…

13.3 目標檢測和邊界框

錨框的計算公式 假設原圖的高為H,寬為W 詳細公式推導 以同一個像素點為錨框,可以生成 (n個縮放 m個寬高比 -1 )個錨框 錨框的作用: 不用直接去預測真實框的四個坐標,而是: 1.先生成多個錨框。 2.預測每個錨框里是否含有要預測…

C++:哈希表——模擬散列表

模擬散列表 維護一個集合,支持如下幾種操作: 1.“I x”,插入一個數x 2.“Q x”,詢問數x是否在集合中出現過 現在要進行N次操作,對于每個詢問操作輸出對應的結果 輸入格式 第一行包含整數N,表示操作數量 …

【Linux】【驅動】雜項設備驅動

【Linux】【驅動】雜項設備驅動 Linux三大設備驅動1. 我們這節課要講的雜項設備驅動是屬于我們這三大設備驅動里面的哪個呢?2.雜項設備除了比字符設備代碼簡單,還有別的區別嗎?3.主設備號和次設備號是什么? 掛載驅動 雜項設備驅動是字符設備驅動的一種&#xff0…

小程序制作教程:從零開始搭建企業小程序

在如今的數字化時代,企業介紹小程序成為了企業展示與推廣的重要工具。通過企業介紹小程序,企業可以向用戶展示自己的品牌形象、產品服務以及企業文化等內容,進而提高用戶對企業的認知度和信任度。本文將介紹如何從零開始搭建一個企業介紹小程…

Linux常用命令詳細大全

目錄 1、查看目錄與文件:ls2、切換目錄:cd3、顯示當前目錄:pwd4、創建空文件:touch5、創建目錄:mkdir6、查看文件內容:cat7、分頁查看文件內容:more8、查看文件尾內容:tail9、拷貝&a…

小程序 vant 項目記錄總結 使用 scss 分享 訂閱消息 wxs 分包 echarts圖表 canvas getCurrentPages頁面棧

小程序 vant vant 下載 npm init -ynpm i vant/weapp -S --production修改 app.json 將 app.json 中的 “style”: “v2” 去除 修改 project.config.json {..."setting": {..."packNpmManually": true,"packNpmRelationList": [{"p…

域名配置HTTPS

一、注冊域名 這個可以在各大平臺注冊,具體看一下就會注冊了,自己挑選一個自己喜歡的域名。 步驟一般也就是先實名,實名成功了才能注冊域名。 二、辦理SSL證書 這里使用的是阿里云的SSL免費證書 1、申請證書 二、填寫申請 三、域名綁定生…

公司電腦三維圖紙加密、機械圖擋加密軟件

機械圖紙加密軟件的問世,讓很多的網絡公司都大受其帶來的工作中的便利。在安裝了機械圖紙加密軟件后,不僅可以很好的管理員工在工作時的上網娛樂,在對整個公司員工的工作效率上也有著明顯的提高,那么對于機械圖紙加密軟件的具體特…

【C#】靜默安裝、SQL SERVER靜默安裝等

可以通過cmd命令行來執行&#xff0c;也可以通過代碼來執行&#xff0c;一般都需要管理員權限運行 代碼 /// <summary>/// 靜默安裝/// </summary>/// <param name"fileName">安裝文件路徑</param>/// <param name"arguments"…

word 應用 打不開 顯示一直是正在啟動中

word打開來顯示一直正在啟動中&#xff0c;其他調用word的應用也打不開&#xff0c;網上查了下以后進程關閉spoolsv.exe,就可以正常打開word了

演進式架構

演進能力是一種元特征和保護其他所有架構特征的架構封裝器IEEE 的軟件架構定義中的41 視圖模型。它關注不同角色的不同視角&#xff0c;將整個系統劃分成了邏輯視圖、開發視圖、進程視圖和物理視圖架構師確定了可審計性、數據、安全性、性能、合法性和伸縮性是該應用的關鍵架構…

機器學習:特征工程之特征預處理

目錄 特征預處理 1、簡述 2、內容 3、歸一化 3.1、魯棒性 3.2、存在的問題 4、標準化 ?所屬專欄&#xff1a;人工智能 文中提到的代碼如有需要可以私信我發給你&#x1f60a; 特征預處理 1、簡述 什么是特征預處理&#xff1a;scikit-learn的解釋&#xff1a; provide…

linux系統服務學習(六)FTP服務學習

文章目錄 FTP、NFS、SAMBA系統服務一、FTP服務概述1、FTP服務介紹2、FTP服務的客戶端工具3、FTP的兩種運行模式&#xff08;了解&#xff09;☆ 主動模式☆ 被動模式 4、搭建FTP服務&#xff08;重要&#xff09;5、FTP的配置文件詳解&#xff08;重要&#xff09; 二、FTP任務…

Python基礎語法入門(第二十天)——文件操作

一、基礎內容 在Python中&#xff0c;路徑可以以不同的表現形式進行表示。以下是一些常用的路徑表現形式&#xff1a; 1. 絕對路徑&#xff1a;它是完整的路徑&#xff0c;從根目錄開始直到要操作的文件或文件夾。在Windows系統中&#xff0c;絕對路徑以盤符開始&#xff0c;…

【學會動態規劃】環形子數組的最大和(20)

目錄 動態規劃怎么學&#xff1f; 1. 題目解析 2. 算法原理 1. 狀態表示 2. 狀態轉移方程 3. 初始化 4. 填表順序 5. 返回值 3. 代碼編寫 寫在最后&#xff1a; 動態規劃怎么學&#xff1f; 學習一個算法沒有捷徑&#xff0c;更何況是學習動態規劃&#xff0c; 跟我…

CSS 兩欄布局和三欄布局的實現

文章目錄 一、兩欄布局的實現1. floatmargin2. flaotBFC3. 定位margin4. flex 布局5. grid布局 二、三欄布局的實現1. float margin2. float BFC3. 定位 margin(或者定位BFC)4. flex布局5. 圣杯布局6. 雙飛翼布局 一、兩欄布局的實現 兩欄布局其實就是左側定寬&#xff0c;…

高層建筑全景vr火災隱患排查模擬培訓軟件助力群眾防范火災傷害

隨著城市化進程的加快&#xff0c;樓宇建筑的數量也在不斷增加。然而&#xff0c;樓宇消防安全問題也日益突出。為了提高樓宇員工和居民的消防安全意識&#xff0c;樓宇VR消防安全教育培訓應運而生。VR安全培訓公司深圳華銳視點制作的樓宇vr消防安全教育培訓&#xff0c;包括消…

谷粒商城第十一天-完善商品分組(主要添上關聯屬性)

目錄 一、總述 二、前端部分 2.1 改良前端獲取分組列表接口及其調用 2.2 添加關聯的一整套邏輯 三、后端部分 四、總結 一、總述 前端部分和之前的商品品牌添加分類差不多。 也是修改一下前端的分頁獲取列表的接口&#xff0c;還有就是加上關聯的那一套邏輯&#xff0c;…