首页 资讯 应用 高压 设计 行业 低压 电路图 关于

物联网

旗下栏目: 物联网 机器人 新技术 仪器仪表

一款物联网应用的快速开发系统

物联网 | 发布时间:2017-07-09 | 人气: | #评论# |本文关键字:物联网,开发
摘要:今天在这里向大家介绍一款专门开发物联网应用的在线系统,这个系统是教主本人亲自参与设计,做得不好还请多多建议。系统名曰TinyLink,具体先不讨论这个名字是什么东东了,我们

今天在这里向大家介绍一款专门开发物联网应用的在线系统,这个系统是教主本人亲自参与设计,做得不好还请多多建议。系统名曰TinyLink,具体先不讨论这个名字是什么东东了,我们进入主题。

导航栏左侧(左上角)是语言选择,支持简体中文和英文两种语言。

导航栏右侧(主页右上角)有三个项,左边第一个Introduction是TinyLink系统的介绍:

第一页主要是TinyLink桌面应用的下载(Download TinyLink Application),下面的蓝色小字表示最新版本,例如上图表示最新版本在2017年5月24日发布。还有,如果你选择的语言(主页左上角进行语言选择)是英文那么下载的就是英文版本,如果不喜欢看英文没关系选择中文语言下载的就是中文版本。这个桌面应用是TinyLink系统对物联网应用开发者提供的操作接口,在物联网应用的快速开发系统(二)中教主会详细介绍如何使用TinyLink系统开发一个具体的物联网应用。

第二页是TinyLink的特点,不同于以往自底向上的开发模式,TinyLink采取先写代码然后硬件选型的开发模式,这个解释看似有些矛盾,也许你会想在不知道具体硬件平台的情况下如何编写代码,这也是TinyLink的与众不同之处,新的自顶向下的开发模式的确大大加速了开发过程,当你亲自使用TinyLink开发一个应用后就会恍然大悟。

第三页中有一个TinyLink使用的教学视频,这个视频还是比较易懂的,对于上手TinyLink特别有帮助

第四页是对TinyLink的支持介绍,从介绍来看TinyLink目前支持4种硬件平台,分别是Arduino、LinkIt、Beagle Bone和树莓派,其支持的传感器种类多达100种,可以使用MQTT将数据上传至几大物联网云平台(IBM Watson、百度IoT Hub和AWS IoT)

第五页是一个联系方式,可以看出TinyLink是国内高校的产品,可为什么主页打开一股洋文扑面而来>.<,不瞒大家,这个系统不仅对国内开放,在国外也可以访问,它是面向世界的^.^

导航栏的第二项是TinyLink系统的试用版,这是一个精简过的TinyLink online系统,输入TinyLink代码可以得到硬件配置,但相比客户端缺少可执行文件的输出,客户端可以得到硬件配置和对应硬件的可执行文件,还负责将可执行文件一键烧入硬件平台。

下图是样例代码Upload sensor data to IBM Watson运行之后的结果。红色矩形框是一个推荐方案,点开之后发现除了Arduino Uno平台之外还有LinKIt平台的解决方案。蓝色矩形框是功能列表,代表代码中包含的应用功能,例如WiFi表示这个物联网应用的硬件要通过无线方式进行数据通信,Light、Soil_Humidity和Temperature表示这个物联网应用要采集的数据是光强、土壤湿度和温度。诶,这不就是一个智能植物的应用吗,没错,根据样例代码的内容也不难推断出这个应用是要将上述采集数据上传到IBM云端。最后的绿色矩形框是硬件配置,这个硬件配置也包含了各个传感器和主板的连接关系,例如Grove UART WiFi是一个无线模块,它连接在Base Shield的UART port上,Base Shield是一块Arduino系列的扩展板,上面不同类型的多个port,每个port都是4根杜邦线的组合接口包括VCC、GND、Input和Output,这里Soil Moisture Analog传感器的连接标志是Pin,表示通过杜邦线连接到Base Shield的A2针脚上,3v3,5v表示供电电压可选3v3或5v。

样例代码如下所示:

导航栏的第三项是TinyLink系统相关文档,包括入门介绍的User Guide,还有编写TinyLink代码的API Reference,根据API Reference可以DIY自己的物联网应用。

合TinyLink我们开发一个实际的物联网应用,根据实际体验我们再对这个TinyLink做些comments。

从TinyLink主页tinylink.emnets.org下载的客户端打开后是这样的

 

 

咋上手呢?没办法,看Document吧,跟着User Guide一步步做下来(安装设备驱动->注册),我们登录到系统然后准备编写TinyLink代码。

咋写TinyLink代码?问得好,看Document吧,跟着API Reference照猫画虎,教主写了下面这么一段code:

void setup {

TL_Serial.begin(9600);

}

void loop {

TL_Light.read;

TL_Soil_Humidity.read;

TL_Temperature.read;

TL_Serial.println(String("Light = ")+TL_Light.data);

TL_Serial.println(String("Soil Humidity = ")+TL_Soil_Humidity.data);

TL_Serial.println(String("Temperature = ")+TL_Temperature.data);

TL_Time.delayMillis(1000);

}

然后上传代码,Submit之后出现如下结果:

哇,终于弹国语框了,这下你相信这是国人的产品了吧-.-

根据连接关系图连接硬件,下图是教主连接好的硬件实物图

点击右侧的一键烧写(Burn),也许你在实验的过程中会发现这个烧写也太慢了吧,开发过Arduino的人会明白这已经远程出Arduino的正常烧写时间。情况是酱紫的,在前面教主提到这个TinyLink是面向世界的,所以把服务器部署到了国外,烧写程序还有个下载的过程,导致整体时间变慢。这个当国人的注册数量将来逐渐多起来之后一定会在国内部署服务器,还望大家谅解。

 

 

完成之后,打开串口工具(Serial),打开串口,可以看到有数据打印,怎么样是不是很有成就感

让我们来回顾一下整个开发流程:

  • 第一步,编写TinyLink代码

  • 第二步,根据生成的硬件连接图选择开发板和传感器,并将其组装

  • 第三步,将硬件连接到电脑(记着事先装好驱动哦),烧写代码到硬件,观察结果

根据上述流程果然是一个自顶向下的开发模式,用户在整个开发流程要做的只有三件事:编写TinyLink代码、看图组装硬件和烧写程序到开发板。而传统的物联网应用开发流程应该是:选定硬件平台->选择传感器->编写对应平台的代码->编译代码->并烧入可执行程序到开发板。由此看来TinyLink为用户做了两件事,一个是硬件和传感器的选择,另一个是代码编译,那么这就大大加速了开发流程。

教主本人是一个嵌入式开发人员,谈不上专业但也参与过一些Arduino的开发,深知TinyLink代码完全是一个简化的版本,真要用Arduino IDE去完成上述应用不是这么几行代码就可以了事的,所以这也加速了开发流程。

让TinyLink系统去处理硬件选择并且TinyLink代码的硬件无关性的好处就是开发人员不需要具备专业的硬件知识,TinyLink用户只要有些C基础就可以快速构建一个物联网应用。

好了,到此为止,TinyLink介绍完毕,下面要请大家听听我这个TinyLinker的一己之见。之前提到教主曾参与开发TinyLink,开发期间为了将TinyLink原型化后的设备节点和物联网云平台能够使用MQTT无缝连接教主曾考察过国内外多家物联网云平台,例如阿里的物联网套件、百度的IoT Hub、庆科云、微信物联、IBM Watson、Azure IoT、AWS IoT等等,可以说是TinyLink为响应物联网的大潮而生,只不过工业界大多做的是云平台,云平台可以用来托管物联网设备,我们TinyLink做的是被云平台托管的物联网设备(以及对应设备的可执行程序,对了我前面提到的物联网应用包括硬件和对应的可执行程序)。

责任编辑:电气自动化网

热门文章

首页 | 资讯 | 应用 | 高压 | 设计 | 行业 | 低压 | 电路图 | 关于

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。