36 小时,程序员可以开发出什么?

开发一个项目需要多长时间?

有程序员说,或两天、或一周、或是几个月、一年甚至于更久,这将取决项目的具体需求。那么反而言之,给你 36 个小时,项目主题及需求随你定,你可以开发出什么样的项目呢?

36 小时,程序员可以开发出什么?

近些年来,编程马拉松(Hackathon)逐步在程序员、开发者、极客、设计师之间流行起来,这项不以商业利益为驱动、不以传统思维为定式的活动使得无数的程序员在有限的时间内碰撞出许多颠覆性创新的灵感和火花。而正是在这样的背景之下,全球知名的芯片公司 Qualcomm 于 12 月 21 日携手国内物联网(IOT)云服务平台机智云、上海移远通信和 CSDN 隆重举办了为期 36 小时的“Qualcomm LTE 物联网应用开发者大赛”,经过前期初赛、半决赛激烈的角逐,最终来自全国各地的八强开发者团队相聚于深圳,以创意、应用决战物联网之巅。

做开发,没有一款利器如何了得?

大赛伊始, Qualcomm 的产品市场部邱萍女士表示道,预计未来十年,物联网应用将实现快速增长。由此产生的海量物联网设备连接成为当前整个行业亟待满足的需求之一。对于广域应用而言,如今的蜂窝技术就可以满足跨市场或行业的各种新服务需求,且其中针对物联网领域,以 LTE 为代表的蜂窝技术能够很好地提供可扩展的物联网平台,以连接海量的物联网设备。

36 小时,程序员可以开发出什么?

Qualcomm 产品市场部邱萍女士

事实上,回忆最初的 LTE 应用,彼时的它更多地是被开发用于提供更快的移动宽带接入,为替代 2G 和 3G 做铺垫。如今经历了多年的发展,LTE 早已能够通过载波聚合和高阶 MIMO 等先进技术进行扩展以实现千兆级吞吐量。但是在此前的物联网环境下,LTE 似乎远远还不能够满足企业及开发者的需求。因此 LTE IoT 从 3GPP 标准的第 13 版开始,引入了两种新的窄带 LTE 技术,即物联网专用的 eMTC(Cat M)和 NB-IoT(CatNB1)。这两种通讯技术也就是广为人知的低功耗窄带物联网连接技术。二者可以极大程度上降低终端的设计复杂度及使用功耗,也可以实现更多空口接入以提升频谱效率,更深层收发以达到更好覆盖,并有望满足 IMT-2020 的要求。二者之间的重要区别在于,eMTC 在带宽更高的同时,也支持移动性和语音功能。

基于此,Qualcomm 研发了一款支持全球多模多频 eMTC、NB-IoT、GPRS 的 Qualcomm®9206 LTE调制解调器,它能够与全新的 LTE IoT SDK 配合,为开发者提供极具成本效益的低功耗终端工具。在此次开发者大会中,该调制解调器的 A7 核的可二次开发的 QAPI 和 SDK,也为开发团队提供了诸多的便利。

36 小时,程序员可以开发出什么?

Qualcomm® 9206 LTE 调制解调器

随后,来自机智云的市场总监李莲健表示,机智云作为全栈物联网云服务的领导者,根据不同角色的需求提供不同纬度的产品和服务,其 IoT 设备自助开发平台,将以更低的成本、更快的解决方案,助力用户快速追赶物联网浪潮。今年二月,机智云和 Qualcomm 联合推出一款名为 GoKit4.0(G) 全栈 IoT 开发套件(以基于 Qualcomm® MDM9206 LTE 物联网调制解调器及全新LTE IoT软件开发包(SDK)的Quectel BG96 蜂窝模块为特征),支持 NB-IoT/eMTC 及电信网络。

36 小时,程序员可以开发出什么?

机智云市场总监 李莲健

在本次开发者大赛中,开发者可基于机智云的 GoKit4.0(G) 开发板,快速实现智能设备数据采集、远程控制等产品原型开发和验证,并通过机智云开发平台代码生成工具,调用 Qualcomm LTE IoT SDK 的相关接口/协议/工具用于产品研发等等。

36 小时,程序员可以开发出什么?

机智云 GoKit4.0(G)

最后,来自上海移远通信的市场总监张欲与大家分享了 LPWAN(低功耗广域)的技术演进历程。他表示,移远通信作为首批推出基于 Qualcomm9206 芯片组的多模 PWA 模组,将于明年计划推出基于高通下一代 LPWAN 芯片的 BG35&BG17 模组。此外,他还详解了于 2017 年推出的 BG36 技术原理,BG36 是一款集成式的 LTE Cat M1 和 Cat NB1 解决方案,支持最大上下行速率 375Kbps,并具有超低功耗。它在设计上兼容移远通信 LTE 系列的 EG91/EG95、LTE Cat NB1(NB-IoT)系列的 BC95、UMTS/HSPA系列的 UG35/UG96 以及 GSM/GPRS 系列的 M35,可以方便企业或开发者快速、灵活地进行产品设计和升级。

36 小时,程序员可以开发出什么?

上海移远通信市场总监张欲

八强争锋,谁主沉浮?

正是基于以上的开发利器,进入八强的选手展开了为期 36 小时的编程马拉松开发,如今大赛赛已完美收官,接下来,我们将一窥本场决赛究竟诞生了哪些值得期待的产品雏形,其未来商用的可能性又有多大呢?

No.1 壁挂炉远程控制

拔得本次“Qualcomm LTE 物联网应用开发者大赛”头筹的是来自上海的 HVAC 工程师(Heating,Ventilation and Air Conditioning,供热通风与空调工程)李小磊,他研发的项目为“壁挂炉远程控制”。

36 小时,程序员可以开发出什么?

李小磊

该项目的灵感主要来源于壁挂炉在生活中的不便,对此,李小磊解释道:

  • 日常,时刻为供暖准备的壁挂炉必须保持常开状态,这自然导致了能源损耗等问题;
  • 按照正常用户习惯,家中的壁挂炉主要安装于厨房或者阳台等位置,因此当用户想要调节温度时,必须人工进行操作,耗时耗力;
  • 家用的壁挂炉时常会受到系统水压的影响,当系统水压很小时,会导致壁挂炉水泵烧坏,因此也需要人工检查系统水压;
  • 壁挂炉漏水时,用户很难发现。

基于这些痛点,是否有比较好的解决方案呢?在此,李小磊通过各方考量,慎重决定将传统的 HVAC 技术与新兴的物联网技术结合,希望可以通过远程控制系统有效地改善以及提高壁挂炉的使用舒适性,为大家提供更节能、更智能的家居环境。

在本项目中,考虑到壁挂炉的安装位置或许离家中的 WiFi 比较远,从而导致信号不稳定的情况,李小磊决定采用了 NB-IOT 的连接方式,并基于 Windows 操作系统,探索出了以下的解决方案:

  • 使用 NB-IOT 的 module 将采暖温度上传到机智云的云端,通过手机 App 远程控制壁挂炉开关,这样用户可以在下班前 2 个小时通过 App 打开壁挂炉,当下班到家的时候,既让家里温度适宜,也不会浪费不必要的能源;
  • 对于以上第二个问题,可通过 open-therm(简称 OT 协议)接口将需要设定的温度通过 App 下发给壁挂炉,使壁挂炉根据设定的目标温度进行运行;
  • 通过远程传输将系统水压传到 App 端,只需轻松点开 App,就可知道当前系统的水压值,防止水压过低将水泵烧坏。
  • 最后,检测壁挂炉周围湿度,并将信息传到机智云,任何地方App 轻松点开查看湿度。

36 小时,程序员可以开发出什么?

项目系统图

在整个开发项目过程中,李小磊表示开始之初在环境构建花费了一定的时间,此外由于国内 NB-IoT 的网络部署并未渗透到每片区域,导致项目调试连接时总出现了连接不上网的状况,不过庆幸的是,最终在机智云工程师的帮助下,将网络通讯时间延迟了 5 秒,解决了该问题。

当谈及到参加此次编程马拉松有何感受时,李小磊兴奋地说道:“对技术开发者来说,这种赛制的比赛,是一种动力,既可以让开发者更快熟悉这个平台的使用,让自己在短时间内获得很多专业的知识,还能够认识更多行业内的朋友,为未来的强力的开发带来更多的思路。”

36 小时,程序员可以开发出什么?

壁挂炉远程控制项目产品图

NO.2 超早期消防预警系统

获得本次大赛第二名的是来自佛山和金科技有限公司和佛山大学共同组建的开发者团队,其研发的项目名为“超早期的消防预警系统”,旨在对消防预警的系统的开发与研究。

36 小时,程序员可以开发出什么?

刘勇和他的团队

虽然当前我国的消防防火工作已经取得了一定成绩,但往往因人们的消防防火安全意识不强、消防知识较为缺乏等因素,火灾还是极为容易地发生。据研究发现,当火灾发生时,可燃物质燃烧的面积会随时间推移而扩大,一般 15 分钟之内火势就会达到很难控制的燃烧的阶段,因此是否可以在火灾还未到达即火灾初期阶段就能及时地发现火情并作出措施?

对此,该开发者团队成员之一的刘勇表示,通过查阅中国科学技术大学马绥华、张启兴博士的论文发现,当物体处于阴燃状态的时候,空气中许多细小的特有颗粒含量会迅速增加,与没有火灾隐患时候的颗粒含量有很大的区别。在这个基础上,刘勇团队利用高精度的传感器、精密的电路和 Gokit4(G)搭建了硬件环境,并加上了大数据后台分析,组装成一个能通过分析空气中特定颗粒浓度来判断是否有物体处于阴燃阶段的系统。

该系统的基本原理简要来说,就是不同材质燃烧时释放的颗粒对光反射的波长不同,来判断是否有物体处于阴阳状态。刘勇表示,这个系统主要由三方面构成:

  • 数据存储,需要预先在大数据后台记录不同材质燃烧时产生的颗粒物反射情况;
  • 网络通信,利用物联网技术,用 NB-IoT 芯片发送实时检测到的数据,到大数据后台进行比对分析;
  • 自动报警,检测空气中特有粒子的含量是否超标。超标进行预警,及时报告火势的发展情况。

通讯实现原理图如下:

36 小时,程序员可以开发出什么?

该系统相较于其他火灾预警装置究竟有何特别?对此,刘勇解释道,该项目的先进之处在于这是利用互联网技术打造的一个纯新的网络系统,它与传统的不同是它在于能够更早、更及时准确的发现有火灾,然后能够及时的预警减少伤亡。独特之处在于现在的消防系统一般都是温度传感器,或者是烟雾传感器,就该系统而言,它能够实时检测空气中 20nm-0.8um 之间的粒子浓度,并开启预警功能。其次,它还能分析出到底是哪种器件会燃烧,这对消防部门而言,可以更早获得起火的类型,从而准备有针对性的材料,达到了更好的灭火效果。

36 小时,程序员可以开发出什么?

超早期消防预警系统项目产品图

NO.3 小型智能气象站

本次大赛第三名的得主是来自北京的物联网爱好者武志忠,其研发的项目为一个小型的智能气象站。

36 小时,程序员可以开发出什么?

武志忠

不同于传统的气象站单一的播报气象功能,武志忠表示自已研发的小型智能气象站可广泛应用于气象、农业、环境检测和治理等领域。该项目开发的气象站原型样机,基于 Qualcomm MDM9206 的 BG96 转接板模块作为 SOC 控制器,以机智云 Gokit4.0(G) 传感器底板外接多种传感器和控制器,实现多种气象元素的采集,并上传机智云平台。通过手机 App 实现数据展示,同时可以通过手机 App 远程控制水泵开关,实现环境土壤湿度,如外接风扇或空调也可以实现空气温湿度控制。

结构图如下所示:

36 小时,程序员可以开发出什么?

当前,该项目已经实现了测量风速、土壤的湿度检测、环境光照检测、水泵的开关控制、环境温湿度检测、下雨指示、风向测量、PM2.5/PM 10 测量、雨量的检测等功能。

从应用的角度来看,无论是 SOC 端、App 端,还是机智云平台运用,武志忠表示,其均可以作为一套教学案例,包括软件设计的方向、机械设计、3D 打印、传感器使用等方面,此外,该项目也可以应用于智慧农业大棚、家庭菜园、智能插座、智能锁、室内环境监测控制。

谈到对于本次参赛的有何心得时,武志忠建议,对于不熟悉和刚接触的项目,首先要研读文档和原代码;其次在开发过程中,要采用增量式开发,步步为营;第三点,和开发者多交流,毕竟三人行必有我师焉。

36 小时,程序员可以开发出什么?

小型的智能气象站项目产品图

当然除了以上一二三等奖外,还有五名开发者/团队荣获入围奖(以下排名不分前后)。

远程控制和数据采集——面向小型无人驾驶系统

获得入围奖的有来自浙江的朱忠和贵州的王泽优共同研发的“远程控制和数据采集系统”项目,它主要面向的是小型的无人驾驶系统,譬如无人车、无人船、无人机等无人设备。

36 小时,程序员可以开发出什么?

朱忠(左)和王泽优(右)

而之所以会有这样看似天马行空般的想法,还是因为现实中无人系统操控的距离限制带来的困扰。大多数情况下,当前的遥控器可遥控的距离不超过 3 km,这导致无人船、无人车、无人机等设备只能在有限的范围内活动,局限性太强。基于此,朱忠和王泽优二人一直在思考是否可以让模型飞机或者模型船在到达一个足够远的地方时,还可以受到开发者控制且能够查看该设备当前的状态。

有想法不如付诸于实践,由于时间限制,朱忠表示其团队仅来得及开发出一个无人车模型,该模型相当于轨道自动巡航小车,实际上,这与我们平时听到的自动驾驶效果相当。该模型基于广覆盖的移动网络、GNSS 定位功能以及 A7 核心板等技术及硬件,可通过 App 直接控制车的前进、后退、转向等功能,也可以实现远程输入轨迹,小车可以按照轨迹运行。

36 小时,程序员可以开发出什么?

远程控制和数据采集系统的无人车模型

基于高通和机智云的 GoKit 4.0(G) 家用快递柜

由于送快递时间的不定性,我们往往不是那么容易凑巧顺利地取到快递。因此,当家中无人,是否也可以安心地收快递呢?

基于这样一个愿景,来自北京的吕树桪与李金颖带来了“家用快递柜”项目。

36 小时,程序员可以开发出什么?

吕树桪

该项目主要分为设备端、服务端和移动端三大模块。当收到快递员电话时,用户可以通过手机移动端遥控家用快递柜的开关,然后发送指令给服务端,最终设备端收集到门开闭状态,并执行开门命令,之后当快递员打开快递柜,系统会记录开锁时间,当快递员放好货品后关闭快递柜,系统也会记录闭合时间,收货人回家后开锁,打开快递柜取件后关闭快递柜,系统同样记录操作和时间,至此整个流程结束。

36 小时,程序员可以开发出什么?

技术架构

36 小时,程序员可以开发出什么?

家用快递柜项目产品图

物联网图形化编程平台

其实就当前技术范围较为广泛的物联网而言,很多开发者还是在入门时就开始了迷茫,根本不知道如何上手。在本次物联网应用开发者大赛上,来自创客教育行业的资深创客刘大海为大家带来了一款物联网图形化可编程的平台,该平台旨在为开发者降低物联网的入门门槛。

36 小时,程序员可以开发出什么?

刘大海

简单来说,只要开发者有一定的逻辑基础和鼠标使用技能,就可以实现心目中的物联网的项目。就项目而言,其使用了 GoKit 4.0(G) 开发板,利用了蓝牙、GPL、ADC、DAC 等特性,通过图形化的硬件来降低物联网的开发难度。此外,刘大海表示,自己还研发了一个 App 端的图形化编程。该项目可分为几个部分,一是设备端,即 App 可以调用手机功能,比蓝牙等功能,当点击后台的‘+’时,就可以将设备上的功能添加到标准的模板中,而用户可以将该功能移植到 App 中,在 App 中点击该功能的按钮时可以查看到其背后的逻辑和数据。

36 小时,程序员可以开发出什么?

正是通过添加这些模块再配套标准的模板,开发者就可以任意向里面添加模块,来实现自己不同功能的需求。

36 小时,程序员可以开发出什么?

物联网图形化编程平台项目产品图

智能家居多路智能开关

万物互联时代,智能家居的应用的落地才真正将物联网技术融入我们的日常生活。在本次大赛中,均有 7-8 年嵌入式开发经验的开发者张国财和余黔江为大家展示了的智能家居的智能开关项目。

36 小时,程序员可以开发出什么?

张国财

之所以会有这样的项目诞生,张国财表示这源于其创业的技术理念,当前市面上的智能家居产品大多是基 WiFi、ZigBee、BLE 等无线通信协议,依赖于家庭网关的联网控制。而本项目将传统智能家电设备接入 NB-IOT 蜂窝网络,去家庭网关化,实现移动 App 随时随地的控制,以提高智能家居设备的灵活性并降低成本。

此次 36 小时研发的智能开关项目主要基于 Qualcomm MDM9026 NB-IOT 网络,三路 AC 220V 输出,单路额定负载 2500W。目前,该项目可成功控制照明灯、电风扇、窗帘电机的运行,并将设备状态上传到云端和手机 App 端。

具体结构图如下所示:

36 小时,程序员可以开发出什么?

通过此次比赛,张国财表示可以与更多的开发者沟通交流,从中受益匪浅,但遗憾的是,因时间限制此次的项目还有不少 Bug 尚未解决,他相信未来该项目会有很大的发展空间。

36 小时,程序员可以开发出什么?

智能家居多路智能空间项目产品图

智能遥控家用电源控制系统

以技术为驱动的世界,诸如家中因跳电需要重开电闸这种事也可以躺在床上分分钟搞定了。而这样的项目出自浙江丰邦智能科技的王翦之手。

36 小时,程序员可以开发出什么?

王翦

该项目的创意来源于目前电网的的智能化欠缺,当跳电或交完欠费单时,很多用户还得人为合闸,耗时耗力。因此,王翦计划改进传统断路器,以实现其自动重合闸功能,这样设计出来的硬件不但可以装在智能电网器上,也可以装在用户的家中。具体来说,它可以分开控制总电源、插座电源、以及各个房间的照明电源,从而可以让不太好动的人们在床上、上班族在公司、商人在国外等场地进行实时控制及了解家中或公司及办公室的用电情况。

总电源控制如图所示:

36 小时,程序员可以开发出什么?

王翦解释道,通过控制器,后续可以在项目中把不同产品的用电量细化出来,从而用户可以分别掌控家中的用电量。

写在最后

至此,36 小时八组开发者团队的成果已全部展现,对于参赛团队来说,无论获奖与否,这一次的参与都是对自己的一种历练及提升。对于整个行业来说,可以通过短时间催生出诸多优秀的创意,为传统下的企业注入新的活力,这未尝不是一件好事。

而本次大赛的本质也正呼应了 Linux 创始人 Linus Torvalds 的经典名句: Talk is cheap,show me the Code!

那么对于这一次的编程马拉松大赛中,你最看好哪一个项目呢?欢迎下方留言,分享你的看法。

相关推荐