物联网的开发应该是什么样子?

  目前的物联网开发实际上与传统嵌入式开发并无太大的差别,开发人员除了要懂得编程语言之外还需要拥有一定的硬件知识储备,这一点在很长的一段时间内并没有引起我的注意,甚至我认为这是物联网开发该有的样子,这种对于开发人员技术较高的要求曾经一度让我认为可以提高开发门槛,也更提高开发质量。

  但是现在我对此有了不同的看法。或者说这在某种程度上改变了我对于开发的看法。

  物联网目前的发展可以用“乱世纷争,群雄并起”来形容。各种专为物联网设计的操作系统,开发工具,甚至是新的编程语言纷纷登台。但是在这众多的工具与平台之中,很少有站在开发者角度去设计的,而物联网的开发却与嵌入式开发与互联网开发应该有着显著的不同, 它更加的跨领域. 因此使用这些系统(比如Contiki, Lite OS), 你需要懂得中断, 懂得数模转换, 懂得时钟, 懂得操作系统的细节, 懂得一段代码是如何变成一抹律动的电平, 这些知识对于很多没有嵌入式开发经验的互联网开发者或者桌面开发者是没有接触过的或者早已变成"印象中学过, 不过我忘了". 即使对于有嵌入式开发经验的人员来说, 这些使用这些工具还需要其它他们所不熟悉的知识, 比如懂得无线协议栈, 懂得路由与组网.

  很容易看到在传统的互联网开发(PC)中, 程序员数量十分庞大, 社区极其活跃, 而反观物联网开发领域却只有零星的研究人员与发烧友. 没有一个庞大的人员数量基础, 物联网的发展必定会慢下来很多. 而我认为这一切除了技术上的因素之外, 就是没有一个开发者友好的工具平台. 物联网的开发涉及众多领域, 不少各个领域的开发者都被吓退了,或者是因为"听不懂, 看不明白, 没兴趣"的思维所牵绊. 但尴尬的是, 一个技术要想长足的发展, 那么它就必须亲民, 必须让更多普普通通的只是想换一个工作的开发者加入进来, 而不能仅局限于研究人员与发烧友.

  那么怎么才是一个开发者友好的工具平台呢?

  1. 我觉得首先应该有一个非常优秀的操作系统, 这个操作系统应该对底层做了足够的封装, 操作系统本身与它提供的API应该是开箱即用的. 将底层的工作与上层的工作完全隔离开, 普通应用开发者并不需要去了解他的每一个操作在系统底层是如何工作的. 这一点应该像Android的开发一样.这一点上, 伯克利大学开发的TinyOS表现比较不错, 不过奈何它是新造了一门语言, 工具链也是非常的难用. TinyOS本身是一个科研产物, 没有社区推动, 它的命运必然不会太好, 但是如果它的开发工具更好一些, 移植性与扩展性更好一些, 我觉得它可能会非常有出息的.

  2. 其次, 一个物联网的开发平台应该有一个十分傻瓜式的IDE. 目前我所使用过的物联网的开发平台的搭建与使用都非常非常的不友好. 一个功能完备且强大的IDE无疑会大大降低开发门槛, 吸引更多的种子选手入坑.

  3. 接着其软硬件架构因当是非常容易扩展与移植的.当如第一条说的将底层与上层完全的隔离开来. 当上层应用开发者不需要关心底层的时候, 物联网平台却面临着应用场景众多, 需求众多的局面, 因此扩展性与移植性可以实现对于场景需求的定制. 而这些是底层开发者的任务.

  4. 关于将上层与底层完全隔离中有一个非常重要的地方就是强大的任务管理, 应用开发者将不再自己去对程序的运作方式再三斟酌以此来为了实现高效与节能的目的.

  现有物联网平台都是在为物联网的一些特殊需求而设计, 我在这里不探讨这些所谓的"特殊需求"是否成立, 但是忽视开发者感受的开发工具注定不会获得胜利, 甚至我认为在某种程度上是限制了物联网的发展和推广. 不过作为相关行业的人员, 我们也应该看到物联网开发的与众不同之处, 这些与众不同导致了很多目前难以协调的问题, 而这样的局面也正是我们从业者的机遇与挑战.

  

时间: 2024-10-23 13:58:25

物联网的开发应该是什么样子?的相关文章

微软借力.NET开源跨平台支持,布局物联网平台开发

今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之一的 IDE 正式支持编写 Android 和 iOS 程序 -- Visual Studio 和 .NET 真正开始走向跨平台化.Nadella 说的“移动为先,云为先”和“找到微软最初的本质”终于连成一线.(详情请参见相关新闻链接:http://www.cnbeta.com/articles/3

【物联网(IoT)开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LED灯开关

上篇"[物联网(IoT)开发]Arduino 入门 Hello World(LED闪烁)"只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断开网络提供电源依然还可以工作.本文将介绍如何开发一个应用程序,以便使用适用于物联网 (Internet of Things, IoT) 的技术.我们的应用程序通过串口收集数据,将其存储在一个 Web 服务器上,然后在网页上实时显式结果,并可以在网页上控制LED的开关. 构建一个类似的应用程序的前提条件 对于第

openwrt教程 第一章 物联网&openwrt开发概述

转载请注明出处:http://blog.csdn.net/ns_code/article/details/28505569 序言 求两个正整数的最大公约数是一个很古老且很基本的问题,欧几里得在其著作<几何原本>中给出了高效的解法--辗转相除法,也叫做欧几里得算法.下面我们来看下求最大公约数的一些方法. 方法一 我们先来看欧几里得的辗转相除法.原理很简单,假设用f(x,y)表示x和y的最大公约数,我们令x>y,则有x=ky+b,如果一个数能够同时整除x和y,则必能同时整除b和y,而能够同时

国内物联网平台初探(七):Ablecloud物联网自助开发和大数据云平台

国内物联网平台初探(七)——Ablecloud物联网自助开发和大数据云平台 马智 平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速硬件实现联网智能化. 架构 服务 云端服务一体化开发引擎 业内独创一体化开发引擎架构,自动解决底层连接.存储.分布式集群部署.弹性扩容.安全等难题,降低IoT云端功能开发门槛,普通工程师即可快速完成云端服务开发部署,加速IoT功能创新迭代. IoT功能组件及方案超市 提供丰富的IoT功能组件及方

(转)微软借力.NET开源跨平台支持,布局物联网平台开发

今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之一的 IDE 正式支持编写 Android 和 iOS 程序 -- Visual Studio 和 .NET 真正开始走向跨平台化.Nadella 说的“移动为先,云为先”和“找到微软最初的本质”终于连成一线.(详情请参见相关新闻链接:http://www.cnbeta.com/articles/3

物联网应用开发,这样选方案节省10倍成本!

5G时代已然来临,物联网即将迎来爆发式的增长.物联网的适用范围及其广泛,包括物流.交通.安防.能源.医疗.建筑.制造.家居.零售和农业等等.不同的行业对物联网设备的功能有不同的要求,但是有一个共同点,那就是都需要一个屏幕以便进行信息显示与用户交互.这种带屏幕的物联网设备开发应用就必然需要用到图形系统. 那么物联网应用开发,通常会用到哪些图形系统,怎样选方案能够让效果最好,成本最低呢? 比较常见的是Android.Browser.MiniGUI等等.这些不同的图形系统在功能.性能.成本等方面均有很

物联网APP开发利器之APICloud

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心Hende_Zhu先生执笔. 前面文章提到,庆科物联系统为APP端开发提供两种SDK,分别用于Native APP开发和基于APICloud平台的混合模式开发,其中主推APICloud进行APP开发.通过APICloud平台,开发者可以通过使用标准web技术即可完成一款高质量的移动应用(包括iOS以及Android),其所具有的开发周期短.功能模块强大的特点得到IoT开发者的喜爱. 除了庆科以外,机智云也提供了用于APICloud开发的模

物联网系统开发如何选择时序数据库

在很多物联网系统中,都需要对联网的设备进行监控,并对监控采样到的数据进行持久化.对采样数据进行持久化,其实很多年前在工业领域已经有专门的数据库来完成这个任务了.在工业领域,这个叫实时数据库. 工业领域的实时数据库具有数据采集.实时数据缓存.数据回写(向设备发送指令).采样数据归档存盘等主要功能.目前工业领域实时数据库基本上被国外厂家所垄断,价格昂贵.以PI数据库为例,基础版本(只有5000个测点)就需要大约10万美元,每个数据采集接口需要6000美元.这个价格对新兴的物联网公司来说代价太大了.

JavaScript —— 下一代物联网全栈开发

作者简介:李知周,中国科学院微系统与信息技术研究所博士,物联网早期创业者,发起了开源物联网项目 Openfpgaduino,目前在国际知名投资银行从事基于大数据与机器学习的网络安全开发. 本文为<程序员>杂志原创文章,未经授权,请勿转载 关注公众号"CSDN 物联网开发"微信公众号,了解更多物联网资讯与干货 Jeff Atwood 曾提出"任何能够用 JavaScript 实现的应用,最终都必将用 JavaScript 实现"他对 JavaScript