TinyLink: A Holistic System for Rapid Development of IoT Applications

Slides:



Advertisements
Similar presentations
Android App簡介及 App Inventor 2體驗 靜宜大學資管系 楊子青
Advertisements

云计算辅助教学风云录 黎加厚 上海师范大学教育技术系 2010年8月9日.
公司保密工作要求及 院商秘保护工作安排 2014年9月12日.
2007年8月龙星课程 周源源老师课程体会 包云岗 中科院计算所
软件工程实践 软件学院 高海昌 作业提交 课件下载
顏協邦 慧盟資訊 商業智慧導入服務部 資深經理
操作系统结构.
Mobile base station power remote monitoring system
2012 Project Planning 2012 年技术规划
Combinational Logic 組合邏輯
Mode Selection and Resource Allocation for Deviceto- Device Communications in 5G Cellular Networks 林柏毅 羅傑文.
Minimum Spanning Trees
Thinking of Instrumentation Survivability Under Severe Accident
EPF10K10TI144-4晶片燒錄.
微小光機電的新科技生活 一花一世界,一沙一天國; 君掌盛無邊,剎那含永劫。(李叔同) 沈志雄 彰化師範大學機電工程學系 光磊科技研發部
毕业论文报告 孙悦明
異質計算教學課程內容 「異質計算」種子教師研習營 洪士灝 國立台灣大學資訊工程學系
實證醫學 嘉義基督教醫院 外科部 黃國倉醫師
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
Web-based cooperation + Data Intelligence for Malaysian SME
Arduino 基本知識.
The Empirical Study on the Correlation between Equity Incentive and Enterprise Performance for Listed Companies 上市公司股权激励与企业绩效相关性的实证研究 汇报人:白欣蓉 学 号:
Proteus 可视化设计 Drag, Drop and PLAY! Slide 1.
第 1 章 ERP的演变.
C H A P T E R 10 存储器层次.
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
Special English for Industrial Robot
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
Android 课程讲义 智能手机开发
Arduino.
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
第九單元 Classes and data abstraction I
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
Formal Pivot to both Language and Intelligence in Science
塑膠材料的種類 塑膠在模具內的流動模式 流動性質的影響 溫度性質的影響
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
Symbolic Execution During Test Data Generation and Augmentation Top Paper Review Zhiyi Zhang.
Asian Development Bank: District Heating Seminar
2019/2/22 批销商品组套培训指导
服務於中國研究的網絡基礎設施 A Cyberinfrastructure for Historical China Studies
IBM SWG Overall Introduction
客製化安裝 建國科技大學 資管系 饒瑞佶.
TinyOS 石万兵 2019/4/6 mice.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
資料庫 靜宜大學資管系 楊子青.
Sensor Networks: Applications and Services
学 术 报 告 北京化工大学化工资源有效利用国家重点实验室
高性能计算与天文技术联合实验室 智能与计算学部 天津大学
Ericsson Innovation Award 2018 爱立信创新大赛 2018
Safety science and engineering department
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
关联词 Writing.
服務於中國研究的網絡基礎設施 A Cyberinfrastructure for Historical China Studies
Google Local Search API Research and Implementation
Smart grid Name:牟传强.
SoC 與微控制器的發展 朱亞民.
第10章 存储器接口 罗文坚 中国科大 计算机学院
An organizational learning approach to information systems development
BiCuts: A fast packet classification algorithm using bit-level cutting
Chapter 10 Mobile IP TCP/IP Protocol Suite
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
Create and Use the Authorization Objects in ABAP
國立東華大學課程設計與潛能開發學系張德勝
Operating System Software School of SCU
Center for Deliberative Democracy, Stanford University
Programmable Logic System Design
Section 1 Basic concepts of web page
Presentation transcript:

TinyLink: A Holistic System for Rapid Development of IoT Applications Gaoyang Guan, Wei Dong, Yi Gao, Kaibo Fu, Zhihao Cheng College of Computer Science, Zhejiang University Mobi’Com 2017

Background The market of IoT is larger and larger Rapid development is essential for IoT 随着现在物联网产业规模越来越大, 我们知道,物联网开发经常涉及硬件与软件的各个方面。这使得物联网应用开发是非常耗时的 快速的物联网应用开发是越来越有必要

Traditional Bottom-up development First, know all aspects of an IoT system including the requirements of target application. Second, building an appropriate hardware platform and constructing the software libraries. Finally, write the application code. The development of IoT are time-comsuming 我们先来看看传统的,自底向上的开发过程 从系统架构到客户需求

Our solutions In this paper, we advocate a top-down approach: an application developer can first write the application code as if there exists a virtual platform which possesses all hardware components in the Market. 一系列硬件库

Challenges how to select the most appropriate hardware components in order to satisfy application requirements? how to embrace a diverse set of commercially available hardware components in a compatible manner? How to express application logic in a hardware-independent manner and translate it into the executable code for the corresponding hardware configuration? 1如何判断众多硬件应该选择哪些?如果都可以,哪些花费比较小 2如何连接这些众多复杂的设备 3如何建立一套硬件无关的语言并将其转化为可执行代码?

Catalog 1 Workflow example Architecture 2 3 Evaluation Conclusion 4

TinyLink In order to address the challenges, we present TinyLink, a holistic system for rapid development of Iot applications.

Example: monitoring the moisture and ambient light of a house plant

Step 1: write application code Setup() Loop() Upload() TL_开头的是api ,自动识别 硬件

Step 2 & 3: upload and get the outputs the hardware configuration which includes the selected hardware components the hardware-dependent code

Step 4&5: assemble the platforms and burn

Catalog 1 Workflow example Architecture 2 3 Evaluation Conclusion 4

TinyLink system architecture Hardware Generation system Software Generation system

Hardware database

Definition: Valid hardware configuration (1) the two interfaces must be in the same form (i.e., physical pin or port) (2) the two interfaces must be type compatible (i.e. UART) (3) the interfaces must be power compatible

Constraints 加上之前对有效硬件定义

Problem Formulation M是主板 S是shield(扩展板) P是外围设备 ci 是硬件数据库中的cost di =1 为第i个component 选取,di=0为不选取 M是主板 S是扩展版 P是外围设备

User Constraints Fui 表示第i个component是否需要功能u

Port Constraints 这3个方程分别表示port,pin, MCU引脚 已有的大于需求的

对比CodeFirst

Software Generation system Hardware Configuration Header File API Design Widely-used APIs MQTT Debug IBM Bluemix and China Mobile IoT Open Platform 4种板子 Arduino LinkIT one 树莓派2 BeagleBone Black

Software Generation system Library most commonly used libraries reuse existing libraries and add glue code Crowdsourcing Cross compiler 软件库是为了实现上述api选取

Catalog 1 Workflow example Architecture 2 3 Evaluation Conclusion 4

Evaluation Setup database

前期准备 一共在4种开发板上进行测试 Arduino UNO, LinkIt One, Raspberry Pi 2, BeagleBone Black 进行六种常见的代码编写 LED亮灯,获取wifi,文件读写,温度传感器读取,湿度传感器读取,亮度传感器读取 进行了3个实际案例的研究 一个室内植物的亮度与湿度测量节点,一个空气质量检测节点,一个声控LED灯亮灭。

Result Using TinyLink compare with using original APIs ,the code becomes shorter. Using TinyLink compare with using CodeFirst, reading data from a temperature sensor, TinyLink costs 15 lines while the CodeFirst costs 27lines

Result More solution and less money cost

Overhead Execution overhead compared with original API Program space overhead 额外增加了一些时间花费 Uno 3kb,存储区 32kb RP2 30kb,存储区16mb 21B, 2KB One 21KB for2MB Memory space overhead

Case study Houseplant Base shield 被选择是因为它提供引脚和端口,而UNO没有那么多

Case study Air quality node

Case study Voice controlled LED Lamp

Catalog 1 Workflow example Architecture 2 3 Evaluation Conclusion 4

Discussion Optimization Criteria, why not energy consuming ? Hardware-dependent, code-dependent Code migration Extensibility More hardware component and extend TinyLink optimization 扩展性,开发者可以轻松实现别的开发板和MCU,只要扩展这个硬件库和软件库了 移植,显然这种硬件独立的设计可以有效移植到不同平台上。

个人总结 工业界和学术界对物联网应用快速开发越来越关注,前人的工作 有做搭建硬件平台,使得开发者只用专注应用开发的。还有就是做 这个帮助硬件选择的,减轻硬件工作量的。和本文类似的codefirst 是一个简单的,只针对一种开发板的应用快速开发系统。本文提出 的TinyLink系统整理并改进了前人的工作,更富挑战性和实用性。 但是整个系统还有一些局限性,如硬件约束,API,软件库等,无法 全部覆盖,有待改进。 tinyOS,开发者都必须有相当高的专业知识

Thank you! Q & A