摘要:开始这篇文章之前,需要先了解<Linux音频编程> 1. 架构 在Android中,audio以分层的方式实现,从上到下依次为 - 应用框架: 提供android.media API 音频管理器: AudioManager音频采集: MediaRecoder, AudioRecord音频播放: So 阅读全文
posted @ 2021-04-20 11:07 北落不吉 阅读(15) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 在Android中定位方式通常有两种,GNSS和网络 GNSS(Global Navigation Satellite System)一般是指全球导航卫星系统,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统网络定位是当设备通过基站或WiFi连入网络后 阅读全文
posted @ 2021-04-14 22:29 北落不吉 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1. HAL 1.1 HAL介绍 1.2 分类 Android 8.0以前的HAL可分为传统HAL(Stub HAL)和旧版HAL(Legacy HAL) 1.3 实现 2. HIDL 2.1 介绍 2.2 分类 3. HIDL实现 HIDL实现分为三个部分,HIDL接口、服务端和客户端 2.3.1 阅读全文
posted @ 2021-02-06 16:32 北落不吉 阅读(138) 评论(0) 推荐(0) 编辑
摘要:开始这篇文章之前,需要先了解<Linux音频编程> 1. 架构 在Android中,audio以分层的方式实现,从上到下依次为 - 应用框架: 提供android.media API 音频管理器: AudioManager音频采集: MediaRecoder, AudioRecord音频播放: So 阅读全文
posted @ 2020-01-09 21:20 北落不吉 阅读(3342) 评论(0) 推荐(1) 编辑
摘要:1. 介绍 Zygote是Android系统创建新进程的核心进程,负责启动Dalvik虚拟机,加载一些必要的系统资源和系统类,启动system_server进程,随后进入等待处理app应用请求 Zygote涉及的主要代码如下 frameworks/base/cmds/app_process/App_main.cpp frameworks/base/core/jni/AndroidRuntime.c... 阅读全文
posted @ 2020-01-02 23:22 北落不吉 阅读(2360) 评论(0) 推荐(1) 编辑
摘要:上一篇: <Android binder介绍(上)> 5. Java Binder Android中也实现了Java层的binder接口 主要代码如下 5.1 基础类 5.2 ServiceManager ServiceManager类是servicemanager在Jave层代理, 对应nativ 阅读全文
posted @ 2019-12-30 00:03 北落不吉 阅读(663) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Binder是Android下基于C/S架构的IPC机制,基于开源OpenBinder 从实现上来说可分为Binder驱动、ServiceManager、Server、Client四个组成部分 2. Binder驱动 Binder驱动代码主要位于drivers/android目录 2.1 阅读全文
posted @ 2019-12-27 00:18 北落不吉 阅读(1846) 评论(0) 推荐(0) 编辑
摘要:上一篇: <Android init介绍(上)> 5. AIL 在init启动过程中,系统服务等均是通过解析rc文件来启动,而rc文件则是由Android初始化语言(Android Init Language)的脚本写成 5.1 格式介绍 AIL以Section为区分,由如下import、actio 阅读全文
posted @ 2019-12-19 23:58 北落不吉 阅读(1504) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 init进程是Linux系统第一个用户进程,是Android系统应用程序的根进程,即1号进程(PID为1);Android中的init文件位于/init,代码位于system/core/init目录 Linux中第一个进程为init_task,也即0号进程(PID为0),init进程由init_task进程fork而来,在kernel初始化完成后init_task便化身为idle进程 ... 阅读全文
posted @ 2019-12-11 23:52 北落不吉 阅读(1420) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Android网络服务主要包括如下四个部分 2. NetworkManagementService NetworkManagementService是重要的网络服务,通过NativeDaemonConnector类建立和netd的联系,实现对物理接口进行操作;它封装了关于接口、网络、防火 阅读全文
posted @ 2019-10-29 23:47 北落不吉 阅读(591) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 代理(即网络代理)是一种特殊的网络服务, 允许一个网络终端(客户端)通过这个服务与另一个终端(服务器)进行非直接连接,从而提供服务. 其中, 提供代理的网络终端称为代理服务器(Proxy Server) 根据代理服务器的作用可分为如下类型- HTTP代理: 主要是代理浏览器访问网页- S 阅读全文
posted @ 2019-05-26 16:18 北落不吉 阅读(2346) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 ALSA(即Advanced Linux Sound Architecture), 是目前Linux的主流音频体系结构, 提供了音频和MIDI的支持, 其架构图如下所示 TIP: 笔者的代码分析基于linux 4.14.19 2. 初始化 系统启动中ALSA初始化过程如下 从用户空间打开 阅读全文
posted @ 2018-11-18 21:14 北落不吉 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:6. MAC功能描述 6.1 信道访问 802.15.4使用的物理无线电信道的访问机制有下面两种: - 基于竞争的访问机制: 设备使用CSMA-CA退避算法以分布式方式访问信道 - 无竞争的访问机制: PAN协调器通过使用GTS来控制 6.1.1 超帧结构 6.1.1.1 介绍 PAN协调器可以选择使用超帧结构(Superframe Struct)绑定其信道时间超帧以信标帧的传输为界,有活动部... 阅读全文
posted @ 2018-11-07 22:18 北落不吉 阅读(1616) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 ZigBee MAC层,即IEEE 802.15.4 MAC层,这里主要介绍了802.15.4-2003版本 MAC层处理所有对物理无线信道的访问控制,并负责下面的任务 2. 服务 MAC层通过MCPS-SAP和MLME-SAP提供SSCS(Service Specific Conver 阅读全文
posted @ 2018-10-24 22:45 北落不吉 阅读(3861) 评论(1) 推荐(0) 编辑
摘要:1. 介绍 ZigBee PHY层,即IEEE 802.15.4 PHY层,这里主要介绍了802.15.4-2003版本 PHY主要实现了如下功能 需要注意区分: 收发器(transceiver)、发射器(transmitter)、接收器(receiver) 2. 服务 PHY通过RF固件和硬件为M 阅读全文
posted @ 2018-10-18 00:26 北落不吉 阅读(1236) 评论(0) 推荐(1) 编辑
摘要:1. 介绍 ZigBee是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术ZigBee建立在IEEE 802.15.4标准(定义了PHY和MAC层)之上,ZigBee联盟对其网络层和应用层进行了标准化 ZigBee协议栈可分为五层 - 物理层(PHY) - 介质访问控制层(MAC) - 网络层(NWK) - 应用程序支持子层(APS) - 应用层(APL) 2. 特点 2.1 速率... 阅读全文
posted @ 2018-10-09 23:56 北落不吉 阅读(2210) 评论(0) 推荐(0) 编辑
摘要:1. 无线通信 无线通信主要是利用无线电(Radio)射频(RF)技术的通信方式,无线网络是采用无线通信技术实现的网络无线网络可为两种: 近距离无线网络和远距离无线网络 近距离无线网络主要可分为如下两类:- 无线局域网(WLAN, Wireless Local Area Network)- 无线个域网(WPAN, Wireless Personal Area Network) WPAN是为了在PO... 阅读全文
posted @ 2018-10-08 23:42 北落不吉 阅读(1897) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Yeelight是小米生态链中的WiFi智能灯泡,本文介绍它的接入和控制实现; Yeelight使用的是自定义的私有协议,该协议采用了类似SSDP的发现机制和基于JSON的控制命令 2. 接入 Yeelight并没有配备网关(Hub),为了将其接入到平台中,需要配置所在网络的SSID和密 阅读全文
posted @ 2018-09-24 21:14 北落不吉 阅读(1583) 评论(0) 推荐(0) 编辑
摘要:1. 概念 物联网,Internet Of Things(IoT),是互联网的延伸和扩展,是指物品与物品之间信息交换和通信组成的网络智能家居,Home Automation,是通过互联网技术将家中的设备进行互联,提供控制功能;可以说智能家居系统是物联网应用的具体实例 智能家居系统从广泛意义上包括室内 阅读全文
posted @ 2018-09-23 19:07 北落不吉 阅读(1402) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Linux中,将包括MMC、SD、SDIO统称为MMC子系统 MMC子系统从功能上可分为三个层次 2. 数据结构 MMC中包含的主要数据结构如下 mmc_host主要字段如下 mmc_card主要字段如下 mmc_ios字段如下 mmc_driver字段如下 mmc_bus_ops字段如 阅读全文
posted @ 2018-09-13 19:12 北落不吉 阅读(4862) 评论(1) 推荐(0) 编辑