【物联网智能网关-12】以网关为核心,互联网为基础构建物联网平台

简介: 在我眼中,所谓物联网智能网关,至少应该有如下几个特色:一,对下可以和主流传感器进行对接,可以相对容易的获取传感器数据;二、对上可以和后台或云进行通信,可以把数据进行上传;三、用户可以进行编程处理,对获取的数据进行打包及一定的逻辑判断处理,当然和传感器及后台通信,用户除调用标准系统库外,也可以自行编程实现。

在我眼中,所谓物联网智能网关,至少应该有如下几个特色:一,对下可以和主流传感器进行对接,可以相对容易的获取传感器数据;二、对上可以和后台或云进行通信,可以把数据进行上传;三、用户可以进行编程处理,对获取的数据进行打包及一定的逻辑判断处理,当然和传感器及后台通信,用户除调用标准系统库外,也可以自行编程实现。

以上几点只是一个上行通道,当然用户通过手机、平板和PC等常用用户终端可以通过云或后台和智能网关进行通信,对相应设备进行操控。上行、下行通道、数据处理逻辑和用户接口界面搭建容易与否,是衡量一个物联网智能网关是否成熟及实用的标志。

其实从某种意义上说,物联网网关不仅仅是一个产品,而已经成为一个平台最关键的枢纽,整个物联方案以此为核心,进行构建。


1强化网络功能

紫藤系列的物联网网关(紫藤207),最近对网络部分的代码进行了重构,不仅通信性能、并发能力大幅度提高,并且已经支持网络方式调试(在基于网络安全的前提下,防火墙开放26000端口,可以直接支持VS2010远程调试)。


2优化文件系统及提供外部访问能力

文件系统是构建WebServer和数据库的一个基础,其稳定性和可靠性非常重要。针对NandFlash驱动添加了损耗平衡算法之后,使文件系统的可靠性和稳定性得到了进一步的提升。

不过官方标准功能中,并没有提供PC平台访问.NET Micro Framework文件系统的能力,这大大限制了.NET Micro Framework文件系统功能的使用。我编写了一个类似WinCE的远程文件管理系统,可以很方便的对.NETMicro Framework文件系统进行格式化,创建目录,删除,上传和下载文档等操作。

这个软件其实我已经在2010年初就已经编写完成,只是由于最近基于文件系统要构建数据库和物联网组态软件平台(YFIOs),所以才进一步推广使用。详细的操作,请参见我以前写的博文《【玩转.Net MF –03】远程文件查看器》和《【玩转.Net MF –05】加载文件系统中的Pe文件》。

3 Web Server网页发布直接支持

.NET Micro Framework除了提供标准Socket类库接口为,也提供了HttpListener类,可以直接进行Http协议相关方面的编程。我在博文《IP地址设定及简单web演示》、《Http Server功能演示》和《获取雅虎天气(HttpClient示例)》写了相关的应用,但是根据这些示例,来构造一些复杂的,可以交互的动态网页还是有一段距离的。

故开发了一个基于HttpListener类的WebServer库,如果网页文件存放在文件系统,可以两句代码就可以构建一个Web Server。

WebServer server = new WebServer(80);

server.SetWebRoot("\\ROOT\\web");

 

YFSoft.WebServer库地址下载(含文档和示例):

http://www.sky-walker.com.cn/MFRelease/library/v42/YFSoft.WebServer.rar

我基于该库已经完成的Web Server如下,详情我还会另外专门写篇文章介绍。


(通过xmlHttp协议和后台服务进行交互,可以远程操控紫藤开发平台

4 前端网页和后台服务动态交互能力

(1)       基于xmlHttp实现动态网页

YFSoft.WebServer库,除了直接提供了网页的发布能力外,还提供两个有用的事件通知,一个是POST的事件,一个是GET事件,用户可以在这两个事件里,进行数据处理。详情我会写专门的文章去介绍。用户也可以直接下载该库文件,里面有文档和示例说明。

(2)       基于Html5构建动态画面

Html5是未来发展的趋势,而基于canvas容器进行动画绘制,将使前端画面更为丰富多彩。目前无论是PC上的主流浏览器,还是一些IOS和安卓平台上的手机和平板都已经支持。

(3)       基于WebSocket实现实时数据通信

   有了画面展现能力,剩下的就是靠实时数据通信,来动态显示画面了。当然实时远程操控的操作也必不可少。下图就是我基于Html5 Canvas+WebSocket技术实现的远程动态操控紫藤开发平台


相关操作视频:


http://v.youku.com/v_show/id_XNDY3NzM1Mzky.html

 

YFSoft.Html5.WebSocket库下载(含文档和代码示例):

http://www.sky-walker.com.cn/MFRelease/library/v42/YFSoft.Html5.WebSocket.rar

这部分内容我会另写文章详情介绍,敬请关注。

5 推出以Web Server为核心的物联网组态软件

以前编写的无论是YFIOServer还是TinyIOs等系统,都离不开PC平台的软件,这大大限制了一些用户想通过手机和平板进行系统搭建和配置的能力。所以目前推出的YFIOs就是以WebServer为核心,基于网页方式进行驱动加载配置,运行时监控等操作。

TinyIOs(升级后的基于网络模式的平台,改名为YFIOs),百度百科上的介绍如下:

http://baike.baidu.com/view/4401476.htm

后期我将发布该平台的SDK,以供大家方便构建自己的物联网平台。

 

MF简介:http://blog.csdn.net/yefanqiu/article/details/5711770

MF资料:http://www.sky-walker.com.cn/News.asp?Id=25


相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
12月前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
4685 8
|
SQL 关系型数据库 分布式数据库
分布式关系型数据库DRDS支持显示的Prepare和Execute语法及逻辑库锁功能等多项能力
信息摘要: DRDS支持显示的Prepare和Execute语法及逻辑库锁功能等多项能力适用客户: 数据库使用者 / 分布式数据库使用者 / 开发者 / 互联网企业 / 金融保险行业 / 新零售行业版本/规格功能: 新功能 1.
|
4天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
294 116
|
19天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
7天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
452 44
Meta SAM3开源:让图像分割,听懂你的话
|
13天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
684 222
|
1天前
|
Windows
dll错误修复 ,可指定下载dll,regsvr32等
dll错误修复 ,可指定下载dll,regsvr32等
133 95

相关产品

  • 物联网平台