本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】JavaScript——下一代物联网全栈开发(3)

时间:2017-04-30 15:31来源:118论坛 作者:j2开奖直播 点击:
在浏览器端,Java在数据的可视化方面早已处于支配地位,作为现在几乎唯一可在所有浏览器上运行的编程语言,使用Java不仅可以给用户提供交互式的环境

  在浏览器端,Java在数据的可视化方面早已处于支配地位,作为现在几乎唯一可在所有浏览器上运行的编程语言,使用Java不仅可以给用户提供交互式的环境,而且可以做出非常漂亮的图表与动画效果,包括两维的图表曲线以及三维的虚拟空间,都可以使用Java控制浏览器来实现,现在许多基于浏览器的VR环境也可以通过Java来开发了。使用Java来做物联网的数据展示实在太合适不过了。

  当今互联网世界,Java已经是一种全栈网络开发语言。特别是HTML5兴起以后,Java不再局限于浏览器端,而是将触手伸到了网络的方方面面,包括物联网端、手机的移动端和传统的PC端。HTML5为浏览器设计,很好地发挥了Java的跨平台特点,真正做到了开发一次Java代码,从手机上的iOS、Android到电脑端的Windows、macOS、Linux的跨平台运行。虽然目前Java在性能上仍然无法与原生开发应用相匹敌,但是仅使用单一的Java来开发各种应用程序,开发成本与响应速度上是其他开发方式所无法比拟的。特别是在物联网开发环境中,很多应用是轻量级的,对性能没有特别高的要求,但是却需要依照不同物联网环境进行不同的定制与适配,Java来做这样的数据展示工作再合适不过。根据网络的对称性特点,甚至于,完全可以用Java来实现在物联网节点上完成数据展示的工作,一如我们用手机来进行数据展示与控制。

  Java数据展示开源项目汇总

  D3(https://github.com/d3/d3)是基于SVG的矢量图操作工具。通过使用Java,D3将数据以矢量图形式展示出来并提供了任意伸缩的能力,在HTML5出现之前,D3是二维可视化的底层标准。通常许多绘制图表与数据可视化工具都使用D3作为底层驱动引擎,在其之上提供用户友好的API接口。

  three.js(https://github.com/mrdoob/three.js/)是基于WebGL的Java3D绘图工具。通过WebGL扩展,Java语言实现了直接驱动底层显卡进行3D绘图。three.js在3D图像基础上还提供了VR支持,可以方便的使用Java来实现VR数据展示。

  ionic(https://github.com/driftyco/ionic)是基于AngularJS的移动端跨平台开发环境,能够在一个统一的框架下使用Java HTML CSS,同时完成开发iOS、Android、Window Phone程序,并根据各个环境的不同UI做自动适配。

  Electron(https://github.com/electron/electron)是基于Node.js与chrome的跨平台桌面开发环境,j2直播,electron通过将浏览器内核和后台Node.js服务进行打包,实现了一个使用Java的全栈开发环境,无需任何修改就能够将程序部署到Windows、macOS、Linux平台上。

  nw(https://github.com/nwjs/nw.js)是轻量级的Java跨平台桌面开发环境,它实现了在HTML代码中直接调用Node.js的各种API函数,提供了一个平滑自然的桌面应用开发环境,隐藏了客户端服务器编程的细节。

  物联网Java实例讲解

  为更好理解Java物联网开发,下面以笔者设计的物联网系统为例,详细介绍物联网系统的设计。所有设计资料都是开源的,读者可以对照源码网页与文档。( )

  ● 物联网网关最小系统硬件设计

  对于应用于物联网的嵌入式系统,系统的硬件设计是重要的组成部分,通常来说应对不同的应用,嵌入式硬件的系统设计会有所不同,每个系统都会按照相应的应用场景进行调整。但是物联网的核心系统通常是一个设计构架可以应用于一大类的系统,所需要调整的通常是外围设备。

  

码报:【j2开奖】JavaScript——下一代物联网全栈开发

图1

  如图1所示是笔者设计的物联网网关最小系统,在系统设计思想上首先保证了核心系统的通用性,采用了ARM处理器。因为是网关节点,设计上需要网关直接连接IP网络并提供全功能的网络服务,因此选择了能够完整运行Linux系统的ARM9处理器,运行完整的Linux也是能够运行Node.js与完整Java的必要条件。由于采用了标准Linux,虽然Linux内核提供了一些实时性补丁,但由于编程模型复杂而且也不适合与Node.js集成,因此在最小核心系统中加入了FPGA。FPGA能够在硬件层面完成实时响应,解决了系统的实时响应需求,其次由于FPGA是一种可配置系统,能够根据应用需要进行设计与配置,所以引入FPGA也极大提高了系统的适配能力,为灵活适配各种不同物联网应用提供了基础。

  ● 物联网网关系统软件设计

  物联网网关的软件设计完全是基于硬件设计的构架,最大限度发挥硬件的功能,设计流程如下:

  1.首先在ARM9处理器上运行完整的Linux系统,其拥有完整的网络服务,并能根据需要通过APT-GET命令来安装所需要的软件包。

  2.在Linux系统基础上,运行Node.js+MongoDB来提供所有网络服务。

  3.在Node.js里运行HTTP服务器来提供基于Restful API的各种本地服务,包括各种外设与I/O的控制。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容