1、阶段代码功能
shoutcast协议/icecast协议,http协议,mp3 online play,预定义的channel等。
2、组件
http://www.st.com/web/catalog/tools/FM116/CL1620/SC959/SS1532/LN1848/PF261641
- mp3 decoder: helixmp3 codec
https://helixcommunity.org/viewcvs/datatype/mp3/codec/fixpt/
http://www.oryx-embedded.com/download.html
http://www.oryx-embedded.com/download.html
cyclonetcp自带移植版
- gui: emwinstm32cube 附带版本
- regular expression:trex
https://github.com/kimperator/T-Rex
除了freertos之外的其它组件,对我来说都是第一次上手使用,甚至STM32都算是第一次稍微系统化的使用。使用下来,感觉以上各种组件都不算复杂。
Mp3的编解码不是我的专业,仅仅使用一下就好。Tcp的实现很漂亮,代码质量和风格,在理解、调试、适配、修改等各种方面相比lwip好很多,熟悉tcp的家伙很容易可以上手,不熟悉tcp的家伙上手的阻碍也很平坦。正则表达式应该是每一个程序员必备和必须掌握的工具,体现很多设计和思维,trex很小也很强大。Emwin在本项目中不需要做移植,确实减少了很多繁琐的工作,其中各种window和widgets,与win32sdk很类似,上手的时候做一下简单的参考就可以慢慢用起来。趁次机会把STM32简单过了一遍,对于一些人鼓吹的lib也好,hal也好,register也好,更坚定了我关于单片机底层的基础决定了一颗新片子可以怎样熟悉这个观点。STM32提供的HAL极大减少工作量,好处是确实省了很多工作,不好的地方是HAL中很多固有实现,稍不注意的话很容易陷入HAL已经挖好的坑中。
3、现存问题
关于本地sd卡的mp3播放,stm32cube有sd卡和fat文件系统的参考实现,整合起来只是工作量的问题。
待完善部分:在线频道抓取解析,mp3流的访问稳定加强,mp3解码的dsp实现,wifi的接入方式。
本帖最后由 freebsder 于 2015-12-20 18:39 编辑