HelloX操作系统与中国移动OneNET物联网平台成功完成对接
HelloX成功与中国移动物联网平台对接
经过HelloX项目组同仁的努力,尤其是Tywin(@飓风)的努力下,HelloX最新版本V1.78已成功与中国移动OneNET(open.iot.10086.cn)物联网平台完成对接。这标志着HelloX操作系统又向物联网领域的应用迈出了一大步。
OneNET平台是中国移动物联网公司推出的专门针对物联网设备提供服务的云平台,只要遵循OneNET的接入协议,任何终端都可以与OneNET通过Internet进行对接。目前,OneNET平台支持RestFul和EDP等接入方式,HelloX采用EDP方式接入OneNET。
与传统嵌入式操作系统接入方式不同的是,接入代码是作为一个独立应用程序而存在的,不是与操作系统内核编译在一起。这与通用操作系统类似,接入代码被编译为一个独立的应用程序(EXE文件),存储在外部存储介质上。如果希望接入云平台,只需要运行这个平台特定的程序即可。运行完毕后,会动态卸载掉。这种方式可确保平台代码与操作系统内核的独立性,同时便于接入更多的云平台。据不完全统计,当前已经商用的物联网云平台,就已经达到了160多个。如何有效整合这些不同的云平台,解决“紧耦合”的问题,是物联网领域的一个难题。HelloX操作系统通过动态加载和卸载的方式,试图解决这个问题。
下面是接入过程的一些抓图。首先,在运行HelloX的终端上(这里是虚拟机),运行平台接入应用程序(./run.bat是运行云平台接入应用的批处理文件):
这时候,云平台的客户端代码就会与OneNET平台建立网络连接,然后采用JSON方式,向云平台传递数据。上图中,我们每隔两秒钟,把HelloX的本地网卡的报文收发统计信息,上传到云平台。
通过OneNET的手机客户端,就可以查看设备上传的数据了。下面的图示,展示了HelloX接收到的数据报文字节数(每隔两秒钟统计一次,OneNET的iPhone客户端还需要加把劲啊):
可以看出,大部分情况下,每2秒钟接收的字节数,在400字节左右。但是也会偶尔有突发的情况,比如有时候竟然达到了11万左右的字节。这时候网络应该是有突发的广播流量。
感兴趣的朋友,可以实际体验一下。大致步骤如下:
1. 到github上下载最新的代码(github.com/hellox-project/HelloX_OS)。代码中的/bin目录下,有创建好的虚拟硬盘文件(vdisk.rar),解压后可直接引导VirtualBox虚拟机;
2. 创建并配置VirtualBox虚拟机,并完成网络设置(参照下列文章完成网络设置:http://blog.csdn.net/hellochina15/article/details/48013881)。然后用vdisk来引导虚拟机;
3. 引导完成之后,在字符命令行下,运行命令“./run.bat”(注意反斜杠前面也有一个点),即可加载OneNET平台代码,并开始向OneNET发送数据(只传送网络统计数据,不涉及任何个人信息);
4. 这时候,到OneNET平台上去看一下对应的设备情况,应该能够看到最新更新的数据。链接如下:http://open.iot.10086.cn/device/detail?pid=20423&device_id=151403
如果您希望尝试修改OneNET的接入代码,可以用VisualStudio(2010以上版本)打开/iotcloud/cmcc/edp下的工程,进行代码修改即可。
后续HelloX会与更多的云平台进行对接,逐渐丰富云平台层面的生态链。为了方便开发者和终端用户,在HelloX的源代码中,专门创建了一个iotcloud的目录,用于存放成功对接的云平台客户端代码。所有最新的代码,已正式发布到github上,欢迎感兴趣的朋友下载试验。
最后,欢迎有志于物联网操作系统开发和推广应用的朋友加入我们,让我们一起构筑物联网时代的数字神经。
QQ群:38467832,为了给群成员提供更好的交流环境,拒绝垃圾广告,加入时请说明加入目的。
HelloX操作系统与中国移动OneNET物联网平台成功完成对接的更多相关文章
- 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之HTTP服务① —— 模拟上传温度(TcpClient)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务② —— 远程控制LED
1.理论基础 参考博主线上博文: 玩转PubSubClient MQTT库 玩转OneNET物联网平台之简介 玩转OneNET物联网平台之MQTT服务① 2.远程控制LED 2.1 实验材料 ...
- 玩转OneNET物联网平台之MQTT服务① —— OneNetMqtt全方位调试
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务⑤ —— OneNet智能灯+MVP框架
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之HTTP服务③ —— OneNet智能灯 HTTP版本
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务⑦ —— 远程控制LED(数量无限制)+ Android App控制 优化第一版
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之简介
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
随机推荐
- memcached+php客户端
连接memcached <?php $mem = new Memcache; $mem->connect('localhost',11211) or die("connected ...
- Json.net/Newtonsoft 3.0 新特性JObject/Linq to Json
原文:http://www.cnblogs.com/chsword/archive/2008/09/19/Newtonsoft_new_3_0.html http://www.cnblogs.com/ ...
- Eclipse Error: Unable to set localhost. This prevents creation of a GUID.
Symptoms The following error appears in the atlassian-confluence.log: 2011-03-16 18:20:03,021 ERROR ...
- 数组对象Vector用法
import java.util.Vector; public class VectorTesting { public static void main(String[] args) { Vecto ...
- sql over()---转载
1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作.而且利用over子句的分组效率比group by子句的效率更高. 2.在订单表(order)中统计中,生 ...
- POJ 1731
#include<iostream> #include<string> #include<algorithm> using namespace std; int m ...
- Java Socket 使用BufferedWriter和BufferedReader要注意readLine 以及换行标志的发送
当接收的类使用的是BufferedReader,发送的类是BufferedWriter的时候,要注意发送的一行要有换行标识符. 请看下面一个例子,服务器接收不到客户端的信息. 服务器: import ...
- Thread的第五天学习
1.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如:卖票系统就可以这么做! package com.thread.demo; publi ...
- RMQ和LCA
RMQ(Range Minimum/Maximum Query),即区间最值查询 查询很多的时候求[l,r]的最大值可以弄一个数组f[i,j]表示i~j的最大值 //这个是线段树 rmq是f[i,j] ...
- lintcode:四个数之和
题目 四数之和 给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d). 样例 例如,对于给定的整数数组S=. 满足要求的四元组集合为: (-1, 0 ...