#申请原创#
@21小跑堂
前段时间刚完成了一场作品设计比赛,并取得了一定的好成绩,但回想起它的实现过程,可谓是伴随着惊魂时刻。 我的作品是一个通过语音指令来控制家居设备的管控装置,前期的工作是完成各功能模块的设计及调试。随着各模块功能的实现,便转向各功能模块的集成及整体调试。 伴随着各模块的不断加入,程序的体量开始快速地膨胀起来,与此同时编译的速度也在明显地降低,十分担心不知何时会弹出程序空间不足的提示或是因过度的烧录而出现芯片寿命已尽的尴尬境地。 一旦出现该情况,重新购置芯片和开发板还好说,最可怕的是前期的设计将大打折扣,不得不削足适履,缩减设计是预期的目标化为泡影。 万幸的是伴随着不断的变量向函数内部的归附、函数间的参数化传递及显示字模在不影响显示情况下的删减,程序终于在存储空间崩溃的边缘完成了,此乃第一惊魂时刻。 接下来的工作是解决语音识别问题,采取的方法是以离线的方式来完成。 受语音识别模块存储空间的制约,语音指令的多少自然是存在一定边界的,但这个边界又是无法靠准确计算来求解的,只能在实践中去求解。 于是在照顾到每个控制对象的前提下,只能在符合语言规范的基础上尽量缩减语音指令的长度和回应语句的简洁程度,以便在允许的范围内最大地发挥其作用。 在完成语音指令的设计后,便是设计目标的在线编译生成工作,按提示该工作约要20~30分钟。 在漫长的等待中,1小时已经过去了,似乎是编译崩溃了。 没有办法只好再次缩减语音指令、减少控制对象,再次提交编译请求。 如此往复,当执行到第4轮缩减时,奇迹终于出现了,第一轮的编译居然完成了,它可是在经过了4个小时之后呀,你说惊不惊魂?! 软件的设计终于完成了,总不能让开发板、显示屏、传感器等像摆地摊儿一样连在一起吧。 于是在匆忙间在网上完成了PCB的设计,并提交了嘉立创的免费制板。 不得不说嘉立创的服务还是很到位的,没有几天白色的PCB板就寄到了。 在迅速焊上连接件后,效果还是满不错的。唯一不足的是,有个连接件的间距没考虑周全,有些过宽,但不影响使用。 于是打算再对开发板做进一步的完善和预留功能的扩展,但之后却一直没等到嘉立创再次开放在线设计的机会,如果当初要是迟一些,可能就真要让开发板和器件摆地摊儿了是不是? 图1 语音控制主界面
图2 家居控制界面
|