热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--附录(和审稿专家的讨论与思考)

首先感谢各位兄弟姐妹们的耐心等待。本书预计在3月中旬上市发售。从今天开始,我将在博客中连载此书的一些内容。注意,此处连载的是未经出版社编辑的原始稿件,所以样子会有些非专业。附录为笔者和审稿专家之一的吴

首先感谢各位兄弟姐妹们的耐心等待。本书预计在3月中旬上市发售。从今天开始,我将在博客中连载此书的一些内容。注意,此处连载的是未经出版社编辑的原始稿件,所以样子会有些非专业。

附录为笔者和审稿专家之一的吴劲良先生关于本书定位、学习方法等方面的讨论。相信这些讨论内容能引起读者的共鸣。

附录的内容来自笔者和吴劲良先生的几份讨论邮件,此处略有修改。

[-->笔者发给吴劲良先生的邮件]

吴兄:

我有几个问题想和你深层次讨论下,就是关于这本书的定位:

我先说说我的看法:

1)对于初学者(就是完全没有wifinfcgps经验的人),这本书肯定是入门书,但是它的难度比普通意义上认为的入门书难。

2)对于中级学者,这些人定位在1-2年或者那些有过实际改bug的经验,但是缺乏全局理解的人,那么这本书也合适。不过,可能有部分内容对他们来说比较简单。另外,关于NFCGPS的知识,从我们统计的情况来看,NFCGPS的问题非常少。从面试情况来看,对NFC芯片的datasheet的了解(GPS应该是没有这方面公开的资料)也很重要。不过本书没有考虑NFCGPS以及Wi-Fi HAL层的内容。一方面我感觉Wi-Fi驱动层和协议结合非常紧密,有点钻研精神的读者在本书基础上,再加上一些驱动经验就可以搞定。而NFC HAL层未来发展趋势可能会和wpa_supplicant一样,即不会出现NXPBroadcom这样太过特定的内容。GPS一般不太可能让外人看到驱动的代码了吧?我专门看过QC开源项目Codeaurora[①]GPSHAL代码。它是C/S架构的,只有Client端内容,而且都是简单的发些命令,然后接收回复,没有核心的东西。

3)对于高级学者,例如那些经验和理论知识都比较到位的人,那这本书唯一的优势可能就是当做参考书来看了,不过内容相对会浅显点。

另外,昨天和Eva沟通后,觉得本书没有太多实际经验,确实如此。我自己定位这本书还是想打通整个知识面,实际经验的话,需要理论联系实践。现在很多工程师只有实践,没有理论,或者理论关注较少。另一方面,如果专门讲实践,这种书反而价值不高,因为可操作性太低。它不像网管类的书籍,一步一步跟着做就行了。

这是我对本书定位的一些看法,吴兄,你能否从一线工程师,培养新人等多个方面讲下你的感受么?不足之处也提出来哈。

最后,写完这本书后,我感觉在Wi-FiNFCGPS这几块,核心都是芯片厂商做好了,我们唯一可做的就是改改bug,攒足实战经验,似乎可发挥的地方非常少(NFC CE模式还有很多发挥空间,尤其是安全交付解决方案之类的)。吴兄,对这个问题又怎么看呢?

诚挚欢迎吴兄的金玉良言!

Br

             邓凡平

[-->吴劲良先生的回复]

邓兄:

1)正如邓兄说提到,这本书对不同知识深度的学者而言,会有各自的收获,可引初学者入门,可给中级学者问题分析的线索,可给高级学者一个知识思索的机会(对比自己的理解和补充下知识),书就起抛砖引玉的作用,不同的读者收中收获多少还得看个人,多思考的读者还可以从书中学习到邓兄分析问题的思路、会反思如何提升自己的搜索的技巧。

2)这本书是理论分析为主,没具体问题的解答,但是我觉得够了。这不是一本Q&A的书,WiFiNFCGPS这三大部分,Android涉及的主干支知识都有,读者可以做选择性的深入分析,各个人对知识点的追求都不一样,很难满足所有人的需求,就个人而言,我会对android Wi-Fi的休眠策略、Location的网络定位感兴趣,这跟实际工作遇到的问题相关。

3)“NFCGPS问题非常少”,这会跟功能模块是否被广泛使用和应用的广度有关,被使用多了可能会暴露多些问题,应用场景多也会促使功能的开发,自然会引出新问题。GPS HAL的代码各厂家都不提供,BroadcomMTKRDA均只是提供so,有可能是涉及到核心技术,估计是一些Command的实现,GPS一般是UART接口,UART只负责上层与模组的数据通讯。

4)对于负责无线模组的新人,我对他们工作的安排是:先做功能的验证测试,让他从测试中加深对功能点的理解,知道哪些点是容易出问题;然后会给一些已经调试ok的模组让其单独去调试,目的是熟悉调试一个模块需要做哪些工作;最后会渐渐的让其承担一些实际任务。学习的安排是:学习NL802.11USBSDIOUARTI2C等模组接口驱动的分析,然后会从内核往Android学习,如:Wi-Fi driver->netd->wpa_supplicant->HAL->frameworkAndroid会安排一些核心知识点的学习,主要是理清工作的机制。最终是希望新人在头脑有有一幅Android网络结构图,并能将其画出来。

5)由于需要先确保相关的外围模组能配合主控使用,这也决定平常无线工作的重点会在模组的移植调试上,涉及的内核驱动的调试较多,现在android做得越来越完善,大问题很少,小问题还是有,但解起来还好(Android4.4Wi-Fi目前测试出原生代码有几个bug,较严重的一个是在关闭Wi-Fi时没关闭supplicant创建的socket,每次打开Wi-Fi时又创建,socket打开个数累积超过65536时,后续操作将失败)

6)无线模块Wi-FiBTNFCGPS,核心的技术是在芯片厂,而且是在芯片设计中,driver的编写只是其中的很小一部分,即使是相对复杂的Wi-Fi Driver,投入两三个人,花两个月的时间把driver写出来是完全没问题。这个我也认同发挥的地方很少,除非是从应用角度去开发新的功能或做一些功能创新。但从工作的角度看,要把这些无线模块支持好,也不是不容易,调一款新的Wi-Fi就像在弄一个小系统,需要把系统调稳,没有bug并可以达到量产的标准,这往往会耗上一两个月的时间。虽然发挥的地方是少,但当前看这方便的技术人员的需求还是挺大的。

Br.

       吴劲良



[①]https://www.codeaurora.org/,上面可下载高通参考设计(QC Reference Design)的代码。

 


推荐阅读
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 【工具篇】抓包中的王牌工具—Fiddler (1环境搭建)
    本文介绍了抓包工具Fiddler的概述,包括其功能、选择原因和安装方法。Fiddler是一款免费且功能强大的抓包工具,可用于网络代理、接口测试、安全测试和WEB调试等。安装配置简单,上手快速,适合新手使用。详细的安装地址为https://www.telerik.com/download/fiddl。 ... [详细]
  • 微软发布OneNote for WordPress插件,支持一键从OneNote获取内容发布
    微软今日发布了OneNoteforWordPress插件,该插件支持从OneNote一键获取 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 计算成像的原理与应用研究
    本文探讨了计算成像的原理与应用研究。首先介绍了小孔成像实验和软件方面的相关内容。随后从傅里叶光学的角度简单谈了成像的过程。成像是观测样品分布的一种方法,通过成像系统接收光的强度来呈现图像。视网膜作为接收端接收到的图像实际上是由像元组成的矩阵,每个元素代表相应位置像元接收光的强度。大脑通过对图像的分析,得出一系列信息,如识别物体、判断距离等。计算成像是一种采集记录系统,通过处理数据得到样品分布与像的对应关系,用于后续问题的分析。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
百脑汇_惠州店_909
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有