2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

YashanDB SQL命令备份恢复

YashanDB

数据库 yashandb

使用外部事件检测接入 CDH 大数据管理平台告警

观测云

告警策略

时序数据库 IoTDB 常见问题 Q&A 第六期

Apache IoTDB

GIMP 3.0.0 (Linux, macOS, Windows) 正式版发布 - 免费开源图像编辑器

sysin

GIMP

昇腾AI携手22家伙伴发布大模型应用一体机,让企业AI落地更简单

极客天地

Windows 10 version 22H2 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)

sysin

windows

企业分公司异地组网难题怎么解决?

Ogcloud

企业组网 异地组网

Windows Server 2022 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

原生APP开发的优势和特点

北京木奇移动技术有限公司

原生APP 软件外包公司 APP外包公司

Fabric8 Kubernetes 教程——Replication、ConfigMap、Secret

FunTester

Windows 11 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)

sysin

windows

YashanDB备份恢复

YashanDB

数据库 yashandb

SvelteKit 最新中文文档教程(8)—— 部署 Node 服务端

冴羽

vue.js 前端 React Svelte SvelteKit

原生APP和混合APP开发的对比

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

一款体验故障定位的神器

乒乓狂魔

故障定位 AIOPS 可观测

三分钟掌握音频提取 | 在 Rust 中优雅地处理视频音频

Yeauty

rust ffmpeg Video media audio

Windows Server 2025 中文版、英文版下载 (2025 年 3 月更新)

sysin

windows

YashanDB备份

YashanDB

数据库 yashandb

YashanDB恢复

YashanDB

数据库 yashandb

昇腾支持150+企业上线DeepSeek模型及服务,昇腾人工智能伙伴峰会顺利召开

极客天地

原生APP的性能优化

北京木奇移动技术有限公司

软件外包公司 原生APP开发 APP开发公司

StarRocks 与主流 BI 工具兼容性盘点(Superset/帆软/QuickBI/Tableau)

镜舟科技

MySQL OLAP BI 分析型数据库 StarRocks

混合APP上线时需要的问题

北京木奇移动技术有限公司

软件外包公司 APP开发公司

工作中最常用的 8 种设计模式

不在线第一只蜗牛

设计模式

代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践

阿里巴巴云原生

阿里云 云原生 通义灵码

代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践

阿里云云效

阿里云 云原生 通义灵码

vivo 湖仓架构的性能提升之旅

StarRocks

SQL优化 presto 兼容性测试 StarRocks 物化视图

PureBasic 6.20 (macOS, Linux, Windows) - 现代的 BASIC 编程语言及 IDE

sysin

PureBasic

YashanDB yex_server沙箱进程管理

YashanDB

数据库 yashandb

Netty源码—Reactor线程模型二

不在线第一只蜗牛

Java 数据库 Linux

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