首页 技术 正文
技术 2022年11月6日
0 收藏 302 点赞 398 浏览 42853 个字

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客户端还需要加把劲啊):

<img src="data:image/png;base64,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" alt="">

可以看出,大部分情况下,每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,为了给群成员提供更好的交流环境,拒绝垃圾广告,加入时请说明加入目的。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905