2021年10月20日,杭州,阿里云栖小镇。
经过19日紧张的hackathon,阿里云ACE X 阿里云IoT-HaaS物联网设备云端一体极客大赛总决赛终于迎来最终一战。
美丽大方的白科老师按照获奖顺序宣布最终的比赛成绩,我们“无一战队”非常荣幸地成为冠军。
激动、紧张、热血沸腾,已不足以形容当时的兴奋之情,非常感谢大赛组委会能给我们这么大的平台展示自己的作品,也非常感谢HaaS技术团队和超棒的HaaS产品强大的支持,这份荣誉属于HaaS,也属于所有的参加比赛的选手,大家都很棒,每一份作品都有很多闪光点,值得我们学习。
我们将从以下几个方面对整个比赛进行总结,希望能够对HaaS小伙伴以及未来参加比赛的同学有所启发。
1.备战
在参加比赛之前,我们一直是HaaS的用户,从HaaS100,600到510我们都一直在用,对硬件基本结构和软件开发环境相对来说比较熟悉。我们是最早加入HaaS技术钉钉群的用户之一,HaaS技术专家在群内热情地为开发者们服务,加上“轻应用”这种开发方式非常容易入手,可以在短时间开发功能强大的物联网应用,所以我们这次比赛非常坚定地选择了HaaS硬件作为核心硬件。
备战的第一个问题:敢不敢参赛?
8月初,我们就了解到可以参加这次大赛,但是面对如此大规模的比赛,我们有些底气不足,到底自己的团队技术实力如何,能不能在全国性比赛中拿得出手,当时很犹豫。我们还不知道到底拿什么作品才能够参加这次大赛。
在正式参加比赛之前,其实我们还在犹豫,到底参加不参加。大家可以想象的那种纠结,在我们团队身上一直都有。
后来冯庆巍同学联系到我,为我打气,说难得能现场参加全国性的比赛,不如出去看看,看了我写的系列博客,觉得我有一定的实力,去试试看吧。
在大家的鼓励和支持下,我们最终决定参赛。
备战的第二个问题,拿什么参赛?
我和团队成员赵星商量,该拿什么样的作品参加比赛,最初我们也没有思路,当时我们考虑了人脸识别、也考虑了老人的提醒装置,没有一个成型的想法。
经过了多轮讨论,最终确定了最终以“物联网测温终端”参加比赛。这个作品创意来源于团队中的李轩颐同学参加当地第六届中小学教育机器人大赛创客竞赛,这是一个3D打印比赛的作品,出发点是对疫情防控工作人员的关爱,只是一个想象的模型,并不具备真实可用的功能。
这个作品体现了人文关怀,也适应当前的疫情防控形势,因此我们就想把它真正地做出来。最重要的是,我们用HaaS600搭建了一个简易的测温终端,并且将基本的程序调试通过。尽管简陋,但是起码一个雏形已经出来了。如果参加比赛,相当于我们已经有了一定的准备,比从零开始已经好多了。比赛之后想起这件事情,感觉这个决定是非常正确的,“不打无准备之仗”,我们占据了一点点先机。
我们为自己的队伍起了一个好听的名字“无一”战队。这个名字灵感于诗经上的一句古诗“岂曰无衣,与子同袍”,描述的是一种“同甘共苦”的精神,因此在疫情防控期间被广泛引用。“一”也是“疫”的同音字,“无一”就是“无疫”,我们希望通过团队的力量,在疫情防控工作中,能够发挥“一”点点的作用。
还模仿阿里云ACE的LOGO,设计了战队的LOGO。
2.攻关
在“天池”注册账号,正式报名参加比赛后,我们面临最大的一个问题,就是如何将自己的想法实现。如果拿上图中的作品参赛,我们感觉到全国的平台上去比拼,可能竞争力不足。所以就开始组建了专业的团队,而且邀请我市一名长期从事硬件研发的大学副教授担任我们的指导老师,给出专业的指导意见,尽最大的努力,将作品完成好。
做物联网和做嵌入式系统是相似的,“跑通”是最终目的。
我们就经历了3代的迭代,最终才形成了参赛的作品。
第一代作品。就是上图中的原理样机,采用了HaaS600来开发。配合人脸识别模块实现了可以防止瞒报体温的功能。第一代作品研发的时候,我们也遇到了很多问题。我们及时在钉钉群内发出帮助请求,得到了HaaS技术专家热情周到的支持,问题得到了解决,这成了一条经验,“有问题找专家”,在后续的开发中,我们一直与HaaS技术专家保持频繁的技术交流,这成为我们作品迭代的“加速器”。感谢HaaS!
第二代作品。我们饶了一个很大的弯路。出于做出一台手持设备的考虑,我们将HaaS硬件更换为EC600模块,仅支持串口指令。这个模块的体积仅相当于HaaS600开发板上的核心模块那么大,体积明显小了很多。
但是随之而来出现了两个问题。第一是这个模块操作步骤繁琐,需要多条指令才可以实现与阿里云的连接,发送体温数据也需要上百字节的字符串才能发送成功。第二是找不到合适的外壳来配合布局复杂的前面板。
第三代作品。更换回HaaS硬件,也就是HaaS510,并且绘制了专用的外壳。更换回HaaS510之后,与阿里云连接的问题得到了解决,一条指令就可以实现稳定可靠的连接,而且自动握手,不会掉线,这样就解决了第二版本的极大隐患,使作品的稳定性得到了极大的保证。
为配合复杂的前面板布局,我们设计了一个简陋但是具备基本功能的外壳。这让作品具备了较好的完成度和形象展现。
这中间还遇到了很多很多的问题,但是经过团队的集体攻关,将它们一一解决。
3.决赛
10月17日,我们收拾行装,赴杭州参会。这里有一点体会,就是大赛之前,一定要留足时间,尽量要把所有的工作都在出发之前全部完成,否则到赛前,有很多作品之外的工作要做,就没有大块的时间来完善作品了。我们团队就在出发前经历了48小时连续作战,将最后一个BUG搞定之后才松了一口气。整个过程堪称惊险,作品到最后一刻不工作了,整个团队差点崩溃。
10月18日,抵达云栖小镇,我们抽空一直在练习最终的演讲,在宾馆练习,走在路上也在练习,不断打磨演讲稿,团队的小伙伴提出意见来,大家一起修正,尽力展现最好的效果。
10月19日,团队抵达赛场后,首先被精心设计的赛场震撼了。然后看到大屏幕上滚动播放的团队信息,我们相互对视一眼,感觉没戏了。决赛队伍太强了,不敢相信能和这么多高手同台。
尽管很紧张,但是我们还是愿意尽最大努力把我们的作品讲好,抱着不怕输的心态,我们继续全力准备,放下一切心理负担,继续完善作品。
正式的演讲和答辩环节,我们还是比较紧张的,自认为发挥了平时练习的80%水平。真的走上台来讲,跟在自己家里讲是两种心态。上台还是紧张了。但是我们尽力在规定的时间内,把该说的都说了出来。这里面有个小差错,就是最后致谢页面没有播放出来。那里面有我们的口号,也有我们的初衷。对于HaaS,我们心怀感激,遇到HaaS是缘分,参加比赛是荣幸,获得奖励是幸运。大赛组委会的组织精心而严密,精准而不失关怀,我们涨了见识,也希望能够依托HaaS,实现更多的团队梦想。
4.心得
4.1.凡是预则立,不预则废。参加比赛之处,我们已经有了一个相对成熟,而且充满爱心的出发点,同时也有了一个简易的原理样机。接下来的比赛准备阶段,节省了大量的论证和调研时间。
4.2.团结协作。尽管有了样机,但是走到最后,几乎所有的软硬件全部推翻重来,甚至云平台账号都更换了。这样大的工作量,是依靠个人的力量无法完成的。我们的团队来自不同的专业领域,大家一起讨论、一起研究、一起加班,最终才在这么短的时间内完成了3代作品的迭代。
4.3.选型很重要。做第二代作品的时候,从HaaS更换为普通的串口指令模块,饶了很大的弯路。现在想来,这是非常冒险的一步,如果想当然地认为一个没有用过的模块简单,那么这种想法本身就十分可笑。HaaS技术团队日以继夜做出来的成熟产品,怎么可能还比不过其他产品。还好最终还是用的510,强大、稳定,以后我们还会用它。
4.4.人外有人,天外有天。这次比赛,每个团队都非常强,我认真聆听了每个队伍的演讲和答辩,有的将tensorflow移植到了HaaS,有的做出了水位预警产品,有的做出了运动急救手环,有的做出了老人看护装置……真的大开眼界。他们的出发点很棒,做出的作品很棒,他们是未来的希望。
最后,再次感谢阿里云,感谢阿里云IoT事业部,感谢大赛组委会,感谢主持人,感谢各位技术专家和工作人员,你们辛苦了!