大数跨境

牛人示范:如何将Kinoma玩得高大上

牛人示范:如何将Kinoma玩得高大上 Marvell
2015-06-17
1
导读:创客伙伴们好!我们许多的Wi-Fi联网设备通过使用网络时间服务器或资源实现日期和时间的同步。Kinoma C

创客Ken Howells是一位悬挂式滑翔机爱好者,他非常痴迷于悬挂式滑翔机运动。1985年,Ken第一次驾驶悬挂式滑翔机飞行,此后他经常组装并试飞悬挂式滑翔机。1995年开始Ken进入滑翔机制造商工作,1996年Ken将Wills Wing连到互联网,1999年开始运行一个联网的气象站和网络摄像机。今天我们就来看看Ken是怎么利用Kinoma Create让他的滑翔机运动更加高大上的。



安装在滑翔机翼尖上的温度与气压传感器和安装在Kinoma Create设备上的GPS模块提供实时数据,这些数据显示在飞机的触摸屏上,同时被记录下来供日后分析。悬挂式滑翔机能够在热气流中保持悬浮——热气流来源于从地球表面上升的热气柱或热气泡。在飞机上显示温度有助于检测热空气,从而使滑翔机能够更长时间的悬浮在空中。




遗憾的是,Ken注意到如果失去了Wi-Fi连接,日志文件中的时间戳将会被重置到Epoch时间点(即1970年1月1日00:00:00UTC),因此看起来好像他刚在1970年的午夜之后飞行。幸运的是,Ken采用的Adafruit Ultimate GPS Breakout传感器可以在每次定位时提供UTC时间和日期。




serial -MTK3339样例应用展示了如何将GPS模块和KinomaCreate集成在一起。该应用使用BLL定期地从串行接口读取GPS定位信息,然后再从谷歌静态地图API申请获取的地图上显示位置。GPS BLL的硬件引脚仿真器版本可用于两英尺高的实际测试。



GPS数据手册(PDF)描述了导航数据格式,其中包括了UTC时间和日期域。每次读到的定位数据以逗号分开的ASCII字符串形式提供。BLL可以解析各个域:


$GPRMC,064951.000,A,2307.1256,N,12016.4438,E,0.03,165.48,260406,3.05,W,A*2C


JavaScriptDate.UTC静态方法返回GPS提供的UTC日期/时间与Epoch时间点之间的毫秒数。


var milliseconds = Date.UTC(year, month - 1, day, hours, minutes,  seconds);


Kinoma Create提供一个全局性的K4对象(K4是KinomaCreate的内部名字),可以用来通过JavaScript设置系统时钟:


K4.date = secondsFromEpoch;

为了设置Kinoma Create系统时钟,需要从Date对象传递UTC秒数:

K4.date = milliseconds / 1000;

这样就设置好了日期/时间,但还需要设置时区,否则显示出来的本地时间是不正确的。K4.timezone函数可以用一个POSIX GMT/UTC字符串来设置时区:

K4.timezone = "PDT+07:00";


在没有Wi-Fi网络的环境中,Ken可以使用K4.date和K4.timezone函数设置Kinoma Create的系统时钟,并且使用板载日志应用程序记录飞行时的传感器数据。



作者简介

Brian Friedkin在软件设计和工程方面拥有三十多年的丰富经验。作为苹果公司的一位首席工程师,Brian参与了Windows版本的QuickTime开发。Brian是Kinoma公司(2010年被Marvell公司收购)的共同创始人。Brian后来在Marvell公司的Kinoma平台团队负责过许多项目,并在Kinoma开发者论坛以账号BrianKinoma进行支持Brian曾为包括Palm、索尼、精工电子和惠普等一些业界大公司开发过消费级多平台应用和嵌入式实时软件。



想要通过Kinoma实现你独一无二的创意吗?戳阅读原文报名参加“Marvell最强创客挑战赛”吧!三万元奖金、面试PASS卡以及实习机会等待着你!




【声明】内容源于网络
0
0
Marvell
内容 0
粉丝 0
Marvell
总阅读0
粉丝0
内容0