设为首页 | 加入收藏 |
MILAN.COM米兰体育(中国)科技公司

信工学生参加《第五届电子设计创新大赛》有感

2024.09.24            阅读量:

 

在信工第五届电子创新设计大赛中,我们小队荣获二等奖。虽未能夺得桂冠,心有不甘,但能拿到这样的成绩,细细想来其实也有些窃喜。回味之中,突然想起徐老师在颁奖典礼上分享了一篇文章,以我们小队的作品作引,引出了一条让我记忆颇深的观点:“比起成绩,学习的能力和自由的心灵更加重要”。我相信记忆就是思维的重现,回过头来看,我们也确实很好的印证了这句话。

 

奖状

奖品

 刘家瑞

 

自我介绍

 

我是软件工程2306班的刘家瑞,是项目《宿舍管家》的主开发和管理者。可能有些人已经通过日常接触/课程交流/竞赛合作/社团活动对我有些认识(至少对我的标志性的头像/表情包有所认识),承蒙各位厚爱,感谢你们允许小小的我在你们的记忆中暂居一段时间。

 

 

灵感来源

 

正如艺术来源于生活,我们的想法也来源于生活。作品的灵感来自我们日常的宿舍起居生活:一年来,我和宿舍的每个人关系都不错,尽管来自不同专业,我们共同起床又共同休息,生活和谐又美妙。但是惟有一类事情,把我们区分开来:床铺位置。我在宿舍靠门的下铺,而我的队友兼舍友:善杰,住在宿舍靠灯开关的上铺。看似一个小小的位置问题,却引起了巨大的改变:由于“位置便利”,我每天都要控制空调温度和开关,而善杰又需要每天都控制灯具的开关。人总是会带点惰性,这类工作总会让人厌烦,他就像眼中钉一样扎在我的头脑里,每次开关的时候都会让人不爽。

 

我很喜欢观察,也很喜欢设想。“what if”总是那个诱人的话题,让人深深陷入,无法自拔。在日积月累的想法堆积起来之后,质变,涌现。渐渐的,一个奇妙的思想在我的脑海生根发芽——“如果我能够制造一个装置代替我做这些事情呢?”这个装置只需要模拟人手调动开关,模拟遥控器发射红外信号,并通过手机进行控制即可。

 

出现问题

 

尽管我们尝试在比赛的展示中体现整个流程阳光的一面,但我们都知道:有光就有影子相伴。我从来没有做过这样的东西,大一学的那些课程,也不足以支撑我去写任何一套跑在开发板上的代码,更何况能够运行一整套操作呢?出师不利,惟一的解决方案即为——寻找案例,实践真知。

 

在进行搜索并与队友们交换意见之后,我们对常用单片机有了些许了解。发现相比于32和51来说,对我而言,Arduino更为适合,因为生态完整性更好的同时,代码的编写难度也有所下降。更进一步:我们发现esp32这块开发板不仅价格低,而且支持WiFi和蓝牙(包括低功耗蓝牙),使我们的开发变得更加方便。接下来,我花费了整整一周的时间,钻研整个Arduino体系和esp32相关的功能。由于课程紧张,我只能在考试复习周贡献我的时间,以至于考试的成绩虽然合格但并不理想。但是在这一周过程中,通过找寻大量的硬件库案例,以及不断的上手实践,我对整个系统的理解能力大幅提升。

 

 

解决问题

 

隔行如隔山,但隔专业并非隔山。更为有意思的事情是,尽管整个系统看似和我们专业的内容区别甚大,但是其实内在的部分可以说十分接近。虽然在学习的过程中常常碰壁,代码总有问题,但是调试的过程,其实和跑在电脑上的程序是接近的。同样是加载文件系统,同样是启动本地的web服务器,由于没有PC上那样完善的调试工具,我必须尝试结合硬件和其他的方式,知道程序当前的状态,获得系统当前的信息,甚至强行进入某种状态。由于存储空间受限,不能编写日志系统记录信息。我们将各个组块各个操作都以某种方式显示出来,这样在组块间交互的时候,只需要通过urat串口/web界面/ble串口查看该发送的东西有没有发送,有没有接受,状态有没有同步。只需要找到缺失的部分或者多余的部分,即可知道代码逻辑的错误或者硬件问题。其实,都是工科专业,背后的逻辑本身就是相似的。

 

比赛进行时

 

初赛很快就开始了,我们只作出了大概的功能原型,虽然演示上并不是很完美,我们甚至没有框架,所有的固定全在一块小面包板上,但是基本的功能有实现,而且非常幸运的是,我们成功度过了初赛。

 

 

此时作品仍旧不完善,我们还有很多新点子没有实现,其中最诱人的一个就是接入某个手机助手,因为我使用的是苹果手机,于是我选择优先对苹果下手。很不幸的是,复赛材料递交通知来的匆匆忙忙,材料提交期限与通知时间间隔很短,我必须在两天内做完整个产品的更新迭代。在各种焦虑和急火攻心之下,我的行动草率,粗心大意让我的电路设计变得糟糕,主板在一次误操作下烧毁,陶瓷天线随着我颤抖的手一起磕碎在地上。慌乱只是暂时的,我很快冷静下来,迅速订购了备用件。我的搭档们已经提前找好了西安本地的店铺,备用配件第二天便送到了学校。

 

 

我选择了很完善的homespan开源库来接入homekit,进而链接语音助手和苹果的整个自动化生态。美中不足的是,这个库实际上只负责通信协议和UI组件的同步(内部称作草图),内部的设备类我必须参照官方的文档,继承官方提供的基础类,然后添加我自己的方法。多亏前面打下的基础,虽然在学习调用接口的时候因为没有相关示例,必须自己摸索。在摸索过程中,我们进行反思,发现在加入homekit后已经不需要单独的BLE近场通讯了,我们直接砍掉了这个功能,发现由于一些代码的执行逻辑问题,ble会导致WiFi通信和homekit通信效率降低。砍掉之后整个代码的执行效率提高了1.5倍,代码大小减少了几乎1倍,没有浪费特别多时间,成果是可观的,其用户界面和操作逻辑都要比我设计的web界面合理且美观,而且也能够成功接入siri操控设备(可惜汇报的时候忘记演示这一点了)。

 

 

多亏了我的队友郑善杰和田家桥,他们电信的专业知识辅佐以我们整理的资料,其他的汇报资料几乎不需要我操心,我们匆匆录制视频,匆匆剪辑,匆匆结束。但我并不喜欢匆匆,于是私下里通过之前学到的技能偷偷做了一个模拟空调,希望能给整个演示带来一点生气。不过由于红外发射和接收都是廉价配件手搓的,这个环节演出效果也并不是很好,较为可惜。

 

  获

 

不过整体来说,收益良多,上手去做一套自己的物联网设备,接触一下硬件相关的程序开发,在各种限制下达成目的,从其他角度去认识编程语言。我对未来仍有设想,我们仍有许许多多的点子没有实现,也希望把项目做的更加美观。加上些宿舍人数和位置检测,空气质量检测,智能门锁之类的功能,也未来希望能够画一张属于我们的PCB,然后布局一整套物联网体系。

 

 

我们正走在梦想的旅程上,感受着温暖的曙光。希望各位,也可以鼓起勇气,事竟成,攀高峰。

 

  声

 

最后,如果有人想要模仿我们的项目制作自己的版本,我们的探索过程会拆解成技术教程发在博客园上,同时我们也会尝试设计更加偏向量产的模型,分享给周围的人。欢迎交流讨论,我也希望能够借机学习更多:

https://www.cnblogs.com/Brakeintime/p/18415592

 

 

学校地址:陕西省西安市雁塔区东仪路8号    


Copyright 2017 Xi'an Eurasia University , All Rights Reserved , 陕ICP备13005465-1