免费注册!6月19-20日,「亚马逊云科技中国峰会」重磅来袭! 了解详情
写点什么

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:009740
用户头像

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

关注

评论

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

欢迎参与2024年 OpenTiny 开源项目用户调研

OpenTiny社区

开源 前端 低代码 组件库

揭秘「 B 站最火的 RAG 应用」是如何炼成的

Zilliz

AI Milvus Zilliz LLM rag

2024-02-28:用go语言,有一个由x轴和y轴组成的坐标系, “y下“和“y上“表示一条无限延伸的道路,“y下“表示这个道路的下限,“y上“表示这个道路的上限, 给定一批长方形,每一个长方形有(

福大大架构师每日一题

福大大架构师每日一题

英特尔锐炫新旧驱动对比测评:新老游戏全方位进化!

E科讯

WiMinet 评说1.2:多跳无线网络的困境

Geek_ab1536

Sora,数据驱动的物理引擎

澳鹏Appen

人工智能 生成式AI sora 文生视频 视频标注

WiMinet 评说1.3:模拟式UDP中继技术缺陷

Geek_ab1536

“课-训-赛”育人才!南开大学闫晓玉老师分享Python实战类课程的教学经历

ModelWhale

Python 人才培养 数据科学 教学

从 0 到 1 搭建亿级商品 ES 搜索引擎

字节跳动云原生计算

云原生 ES 云搜索

国内行业桌面云解决方案哪家比较强?

青椒云云电脑

桌面云 云桌面 云桌面方案

拼多多API助力商家提升销售效果和市场竞争力

技术冰糖葫芦

API 接口

为什么您的网站需要美国主机CDN加速?一文解答所有疑问

一只扑棱蛾子

美国主机

WiMinet 评说1.1:多跳无线网络的现状

Geek_ab1536

Apache Doris 2.0.5 版本正式发布

SelectDB

数据库 大数据 数据仓库 数据分析

苹果取消电动汽车项目;英伟达 CEO 黄仁勋寄语:学习编程价值大幅降低丨 RTE 开发者日报 Vol.153

声网

在追求科技进步的同时,如何避免通用人工智能带来的负面影响?

算法的秘密

如何利用Allure报告提升你的测试效率?

霍格沃兹测试开发学社

如何生成速卖通平台的API密钥?

技术冰糖葫芦

API 接口

一文告诉你到底什么是低代码?

秃头小帅oi

如何做代币分析:以 USDT 币为例

Footprint Analytics

blockchain defi

HFT算力合约模式系统开发丨技术详情开发

l8l259l3365

深入解析Python并发编程的多线程和异步编程

不在线第一只蜗牛

Python 多线程 代码 并发

揭秘商品计划管理系统:鞋服品牌如何实现飞跃式增长?

第七在线

周五直播!中国大学生计算机设计大赛数据解读乡村发展赛事培训第一场

ModelWhale

人工智能 大数据 竞赛 高等教育 中国大学生计算机设计大赛

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