ixdc 中国交互设计体验日-a5_吴晓丹_软硬件一体化设计

41
软硬件一体化设计 广州顺科 吴晓丹 腾讯 徐森圣 中国交互设计体验日2010 工作坊

Upload: ixdc

Post on 24-May-2015

1.972 views

Category:

Design


4 download

DESCRIPTION

我们处在一个智能移动终端设备繁盛的时代。移动终端,如iPhone,除了是人们随身的通讯设备,同时也是一台微型的计算机,可以用来连接外设和控制外设。而原本计算能力有限的 外设,在与智能移动终端相连后,获取了其计算能力、数据储存能力和联网能力,大大提高了功用。要使硬件和软件完美的协同工作,展现无缝的人机交互体验,以前硬件和软件分开设计的做法就显得有点过时了。在工作坊中,会以苹果iPhone及其配套外设为案例,讲述软件和硬件一起设计的技术要领。 课程目标 1、了解苹果公司的开发者资质规范 2、了解iPhone/iPod/iPad外设产品开发的可能性 3、了解基于iOS的应用程序的界面设计规范 4、了解苹果公司的软件与硬件外设的开发过程中所使用的工具与设备 5、了解软硬件一体化开发的基本流程 环节安排 1、实用案例分析 2、基础知识讲述 3、开发工具与设备的演示 2010年首届中国交互设计体验日,是以“赢在互动”为主题的大型交互设计会议盛宴。大会包括交互设计演讲、论坛、展览及工作坊。通过互动、交流体验的方式,将“交互设计”的理念在中国设计产业中进行高层次、深度、广泛的推广与传播。 我们希望通过这次大会,聚集国内外交互设计先驱者;展示中国交互设计优秀成果;为交互设计教育与企业搭建一个交流的平台; 促进中国交互设计产业与国际设计前沿的同步发展。

TRANSCRIPT

Page 1: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

软硬件一体化设计

广州顺科 吴晓丹

腾讯 徐森圣

中国交互设计体验日2010

工作坊

Page 2: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

演示

Page 3: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

iPhone外设产品点评

Page 4: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

音响

Page 5: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

显示屏? 按键?

有质感的

App界面

Page 6: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

适用性

三个不同的

App?

Page 7: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

一致的布局 一致的色调

Page 8: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

医疗

Page 9: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计
Page 10: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

娱乐与游戏

Page 11: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计
Page 12: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计
Page 13: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

什么是iPhone没有的? • 红外线

• 温度感应

• 无线电

• 读卡器

• 物理按键

• 多余的电量

• ...

Page 14: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

iPhone有什么?

• CPU

• Storage

• Networking

• Display

• Multi-Touch

• ...

Page 15: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

iPhone有什么?

• CPU

• Storage

• Networking

• Display

• Multi-Touch

• ...

与外设的连接

Page 16: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

屏幕

• 显示层和触摸层的分辨率是不一样的

• 但需要共享一样的坐标系统

• iPhone 4的Retina屏幕

Page 17: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计
Page 18: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

iPad iPhone iPhone 3G Retina

Page 19: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

• Points ≠ Pixels

• device-independent points

• 40 x 40 points → 6 mm

iPhone

3G

iPhone 4

(Retina)

屏幕尺寸 3.5 in 3.5 in

分辨率 320x480 640x960

ppi 163 326?

屏幕

• 显示层和触摸层的分辨率是不一样的

• 但需要共享一样的坐标系统

• iPhone 4的Retina屏幕

2

Page 20: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

与外设的连接

Page 21: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

通讯架构

Page 22: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

Dock Connector

• 2003年以来,一直是iPod,

iPhone, iPad上的标准接口。

• 指令集

• Audio

• Video

• Location

• Multimedia remote control

• Keyboards

• Accessibility

• Custom protocols

Page 23: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

蓝牙

• 支持协议

• Hands-Free Profile (HFP)

• Phone Book Access Profile (PBAP)

• Advanced Audio Distribution Profile (A2DP)

• Human Interface Device Profile (HID)

• Personal Area Networking (PAN)

• Device ID Profile (DID)

• Custom protocols

Page 24: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

蓝牙

• 蓝牙与Wi-Fi共用天线

• Bluetooth 2.1 + EDR

Page 25: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

App Store集成

Page 26: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

连接方式比较

Dock Bluetooth Wi-Fi

连接速度

无线

低成本

开发速度

集成效果

Page 27: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

开发资质

• iDP

• MFi

Page 28: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

工具演示

Page 29: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

需要些什么工具

• 一块开发板,一台iPhone

• External Accessory Framework

• ATS (Accessory Test System)

• 通常还需要一台Windows的PC

Page 30: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

如何通讯?

• iPhone与附件通过Dock连接

• iPhone与附件至少约定一个协议串(Protocol String),用以标识对方所支持的协议。

• iPhone端使用External Accessory

Framework与附件通讯及收发的数据

• 附件端需要通过授权芯片与iPhone通讯和收发数据

Page 31: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

EA Framework

• EASession:控制通讯过程中的输出输入流

• EAAccessory:用以标识一个附件

• EAAccessoryManager:管理附件的插入、拔出等事件

Page 32: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

EA Framework

EASession

EAAccessoryManag

er

EAAccessory EAAccessory EAAccessory

EASession EASession

Page 33: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

典型的编程方法

• 向你的新项目添加External Accessory

Framework

• 向EAAccessoryManager注册通知,以便获取附件插拔的消息

• 软件启动时应检查当前有无插入软件支持的附件

Page 34: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

典型的编程方法

• 通过EASession与附件建立联系

• 通过EASession的inputStream和outputStream方法管理输入输出流

Page 35: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

用ATS进行调试

• ATS是一套软件和硬件的套件

• ATS可帮助开发者检查iPhone和附件之间的通讯,监视收发的数据包,ACK和握手过程等等

Page 36: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

小技巧之如何Debug

• 由于插入附件会占用iPhone的Dock接口,于是无法使用Xcode强大的调试功能

• 主要使用NSLog打印日志,然后通过Xcode的Organizer工具查看日志

• 将数据收发模块独立开来,这样在测试软件的界面时,可以制造伪数据收发模块,从而实现在Xcode上调试

Page 37: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

小技巧之数据打包

• 每次通讯总是需要发送完整的状态吗?

• 通常,由于上位机与下位机需要不断的同步他们的状态,因此答案是肯定的。

• 然而,硬件厂商通常会选择较为低廉的MCU来生产附件,因此可用内存会很小。内存用毕的直接后果就是丢包。因此,数据包当然越小越好。

Page 38: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

小技巧之数据打包

• 要使用变长的数据包还是定长的数据包?

• 尽量使用定长的数据包。如果数据包中的每个数据都是定长的,则不需要声明包的大小。这同样是为了附件的低廉MCU考虑的。下面的代码展示了定长数据包是如何计算自身的大小的。

Page 39: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

小技巧之数据打包

• 是不是有点像TCP的数据包?可层层剥离的header-payload封包与解包方式是否适用?

• 是的,非常相似。一旦iPhone获取到一份数据,EA

Framework已经确保这份数据是完整的,并自动向附件发送了ACK。如果您进行过C/S架构的编程,您从前对付TCP封包和解包的方法可直接套用。但为了使包的大小尽量小一些,封包的层级应该尽量的小一点。

Page 40: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

谢谢!

Page 41: IxDC 中国交互设计体验日-A5_吴晓丹_软硬件一体化设计

Q & A

新浪微博:t.sina.com.cn/infothinker