写点什么

Mozilla 全新改进了开源 IoT 平台:WebThings

  • 2019-05-27
  • 本文字数:1714 字

    阅读完需:约 6 分钟

Mozilla全新改进了开源IoT平台:WebThings

Mozilla 最近发布了它的开源 IoT 平台 WebThings,以前叫做 Project Things。Mozilla WebThings 提供了日志记录、警报和网络等一系列特性。


Mozilla WebThings 是W3C新兴的Web of Things标准的开源实现。W3C Web of Things(WoT)是Web of Things Working Group(WoT WG)近期推出的一项计划,旨在减少 IoT 的碎片化。W3C 制定了 Web of Things 的初始标准,目标是降低开发的成本,降低投资者和客户的风险,进而促进 IoT 设备和服务市场的指数级增长。


Mozilla WebThings 是一个用于监视和控制设备的基于 Web 的开放平台,由两个核心组件组成:WebThings Gateway 是为专注于隐私、安全和互操作性的智能家居网关而设计,WebThings Framework 用于帮助开发人员构建自己的 Web 事物。

WebThings Gateway(网关)

WebThings Gateway 是一款让用户能够通过网络监视和控制他们的智能家居的软件。例如,通过使用 WebThings Gateway,可以检查门打开/关闭的次数,或者插件设备的能耗。为此,用户需要进入“main menu > Settings > Experiences”,并启用“Logs”选项。


WebThings Gateway 现在为烟雾、一氧化碳或防盗报警器等设备提供了新的报警功能。这意味着用户可以检查报警器当前是否处于活动状态,配置规则以便在警报出现时触发通知。


WebThing Gateway 0.8 可以通过 Web 界面重新配置网关的网络设置。另外,用户可以使用动态或静态 IP 地址配置以太网的端口,或者重新扫描可用的无线网络并更改网关所连接的 Wi-Fi 接入点。

WebThings Framework(框架)

WebThings Framework 是可重用软件组件的集合,目的是帮助开发人员构建自己的 Web 事物,并且直接开放Web Thing API。Web Things API 通过定义简单具体的序列化和协议绑定,来补充 W3C WoT WG 关于 Web of Things 的抽象数据模型和 API 的工作。Web 客户端可以通过 WebThings 的REST APIWebSocket API访问设备的属性,请求动作的执行,以及订阅体现状态变化的事件。


WebThings 库官方支持JavaPythonNode.jsRust等开发语言。下面看看它是如何在 Java 中实现的。


首先,将以下依赖项添加到项目中:


<dependencies>    <dependency>        <groupId>org.mozilla.iot</groupId>        <artifactId>webthing</artifactId>        <version>LATEST</version>    </dependency></dependencies>
复制代码


现在,创建一个新的 Thing:


Thing light = new Thing("My Lamp",                        new JSONArray(Arrays.asList("OnOffSwitch", "Light")),                        "A web connected lamp");
复制代码


添加 on(开关)的属性:


JSONObject onDescription = new JSONObject();onDescription.put("@type", "OnOffProperty");onDescription.put("title", "On/Off");onDescription.put("type", "boolean");onDescription.put("description", "Whether the lamp is turned on");
Value<Boolean> on = new Value<>(true, // Here, you could send a signal to // the GPIO that switches the lamp // off v -> System.out.printf( "On-State is now %s\n", v));
light.addProperty(new Property(light, "on", on, onDescription));
复制代码


现在将新创建的 Thins 添加到服务器并启动它:


try {   WebThingServer server = new WebThingServer(new SingleThing(light), 8888);    Runtime.getRuntime().addShutdownHook(new Thread() {        public void run() {            server.stop();        }    });    server.start(false);} catch (IOException e) {    System.out.println(e);    System.exit(1);}
复制代码


上面的代码将启动服务器,通过 WoT REST API 可以让灯工作,并且声明它是本地网络中可发现的资源。


更多详细信息可在Mozilla IoT网站以及 WebThings Gateway 和 WebThings Framework 的开发人员文档中找到。想要为此文档做出贡献的开发人员可以通过GitHub repo来实现。


查看英文原文Mozilla Revamps WebThings, its Open Source IoT Platform


2019-05-27 08:009835
用户头像

发布了 43 篇内容, 共 36.2 次阅读, 收获喜欢 136 次。

关注

评论

发布
暂无评论
发现更多内容

Nginx实现在局域网内真正的ip_hash负载均衡​

会飞的猪

讨论:Service层的接口是不是多此一举?

xcbeyond

Java 接口管理 28天写作

IT版“历史上的今天”

IT蜗壳-Tango

七日更

中金数据集团与腾讯云合力拓展信息安全、区块链业务领域

CECBC

区块链产业

关于Dapper实现读写分离的个人思考

yi念之间

重学JS | 玩转File API

梁龙先森

面试 大前端 编程语言 28天写作

nodejs中使用worker_threads来创建新的线程

程序那些事

多线程 nodejs 并发控制 程序那些事 子线程

认识产品经理(下)

让我思考一会儿

剖析一站式分布式事务方案SeataFescar-Server

比伯

Java 编程 架构 面试 计算机

soul数据同步(二)zookeeper同步策略

xzy

源码分析 网关 Soul网关 soul sou

做一枚旗帜Be a Flag

石君

28天写作

干货|更通用的P2P网络协议栈——Libp2p

QTech

IPFS Libp2p

虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录

刘悦的技术博客

Python 面试

35+的测试人都去哪儿了?所谓“青春饭”真的只是在贩卖焦虑吗?

程序员阿沐

编程 程序员 软件测试 教程 测试工程师

朋友问他是否该跳槽了?我是这么跟他说的

田维常

面试

团队复盘之kiss

张老蔫

28天写作

如果不完美,接受就好了「14/28」

道伟

28天写作

Soul网关源码阅读(十)自定义简单插件编写

Java 源码阅读 网关

hive窗口函数/分析函数详细剖析

五分钟学大数据

Hive SQL

认识产品经理(第一章上)

让我思考一会儿

大数据知识专栏 - MapReduce 的 Reduce端Join

小马哥

大数据 hadoop mapreduce 七日更

Dubbo源码解析(1)-整体框架介绍

冰三郎

源码分析 dubbo RPC

区块链交易所软件开发|区块链交易所APP系统开发

系统开发

联发科推出天玑1200,新一年的头道“5G甜点”究竟滋味如何?

脑极体

2020出行之变(一):自动驾驶的“跃渊”时刻

脑极体

为什么Java程序会执行一段时间后跑的更快?

Java架构师迁哥

Windows DHCP最佳实践(四)

BigYoung

运维 windows Windows Server 2012 R2 DHCP

数字人民币带来更好支付体验 没有网络时也能使用

CECBC

数字人民币

云原生的理解

JiangX

容器 云原生 数字化转型 数字化 28天写作

简单易懂的单臂路由介绍及一看就会的实验

听了微信创始人张小龙的演讲,更加坚定Filecoin的光辉未来

时空云

分布式存储 IPFS Filecoin

Mozilla全新改进了开源IoT平台:WebThings_大前端_Diogo Carleto_InfoQ精选文章