DIY的乐趣:打造你自己的WiFi“云”播放器,提供软硬件设计方案
对QoS提供了一定的原声支持。
负载均衡。对于范围规模较大情况下的云播放系统,采用分布式的CDN(Content Delivery Network,内容分发网络)是减小服务器压力、提高客户端下载速度的有效手段。此时通过DNS技术,将客户请求连接到最近的缓存服务器得到满足,动态的调节网络负载均衡,达到最快的响应和传输速度。
可适应性编码。采用具有可适应性编码的前提是可进行服务器端与客户端实时传输速率的测量。当出现网络拥塞或带宽限制时,将流媒体编码率适当降低。反之,当网络带宽足量或剩余时,调整音频流至高码率,提供更高品质的音乐体验。
根据上述服务模型的分析,确定了已下的通信原语:
名称 | 起始方 | 说明 |
WIFI_scan | 客户端 | 客户端扫描附近范围的可用wifi网络 |
WIFI_netInfo | Wifi AP | Wifi网络AP返回网络信息,SSID、信道频率等 |
WIFI_connect | 客户端 | 客户端连接到一确定的wifi网络,需提供SSID,密钥可选。预期应答为WIFI_ack |
WIFI_close | 客户端 | 离开已加入的wifi网络,关闭所有连接。预期应答为WIFI_ack |
WIFI_ack | Wifi AP | 响应客户端请求的应答 |
Cloud_1stAdd | 客户端 | 首次联机时,客户端通过序列号完成注册 |
Cloud_requestList | 客户端 | 客户端向服务器端请求收藏列表。预期应答为Cloud_list |
Cloud_list | 服务器端 | 服务器传输的收藏列表 |
Cloud_play | 客户端 | 客户端选择曲目或列表位置请求音频播放 |
Cloud_pause | 客户端 | 暂停音频播放 |
Cloud_addMusic | 客户端 | 向列表中添加新曲目 |
Cloud_delMusic | 客户端 | 删除列表中特定曲目 |
Cloud_search | 客户端 | 客户端提交搜索关键字,进行音乐查询。预期结果Cloud_searchRes |
Cloud_searchRes | 服务器端 | 搜索动作返回的结果集 |
Cloud_state | 服务器端 | 对客户端连接状态的查询 |
Cloud_ack | 客户/服务器端 | 积极的响应应答,表示动作得以执行 |
|
|
|
|
|
|
|
|
|
典型的系统服务交互过程如下所示:
客户端 AP 服务器端
WIFI_scan
WIFI_netInfo
WIFI_connect
WIFI_ack
Cloud_1stAdd
Cloud_ack
Cloud_requestList
Cloud_requestList
Cloud_play
Cloud_pause
Cloud_addMusic
Cloud_ack
vCloud_delMusic Cloud_ack
Cloud_search Cloud_searchRes
Cloud_state
Cloud_ack
2.2.3音频解码
首先调研一下PIC提供的audio library,看能否满足项目的需要。
2.2.4音频播放
音频播放采用PmodAMP1--扬声器/耳机放大器,调用PIC的audio libray对接受到的音频文件进行解码,然后经PWM DAC输出到PmodAMP1。
2.2.5液晶屏显示
液晶屏采用PmodCLS--字符LCD串行接口,通过SPI控制。
2.2.6按键驱动
拟定采用矩阵式按键,采用软件消抖,接受用户输入。
- DIY的乐趣:梦幻水音箱设计实例(04-09)
- DIY家庭影音系统:无线多媒体家用系统,包括硬件细节图、软件流程图(04-15)
- DIY创意家电:基于AVR的家庭语音控制器的软硬件实现(04-16)
- DIY智能家居:触摸按键墙壁开关设计方案,软硬件平台搭建(04-27)
- 无线充电DIY设计各路资料倾情奉献(06-17)
- 集电子鬼才DIY佳作做七夕礼物:把妹,自己来!(06-23)