写点什么

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

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

关注

评论

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

2025北京国际人形机器人展览会

AIOTE智博会

机器人展 智能机器人展 人形机器人展

YashanDB:助力企业攻克AI时代数据管理难题,拥抱智能转型

极客天地

通义灵码上下文能力解析:自由组合需求描述,生成结果更高效

阿里云云效

阿里云 云原生 通义灵码

从40秒到11毫秒:TiDB环境下一次SQL深潜优化实战

TiDB 社区干货传送门

性能调优 7.x 实践 TiDB Cloud TiDB第四届征文-运维开发之旅

TiDB 全文搜索功能公开测试中

TiDB 社区干货传送门

新版本/特性解读

“从PMO到VMO价值交付管理” — Agile VMO业务敏捷CVP认证 | 7月26-27日 · 上海线下

ShineScrum

WebGL与APP之间的通讯方式

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

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

从炫技到实用,天工超级智能体(Skywork Super Agents)的破冰之旅

脑极体

AI

CST软件TDR时域仿真实例

思茂信息

cst CST软件 CST Studio Suite

#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】04.创建端云一体化工程项目

与辉鸿蒙

HarmonyOS HarmonyOS NEXT 端云一体化

微信小游戏的上线流程

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

游戏开发 微信小游戏 软件外包公司

混合应用开发新范式:2025年企业级移动生态降本增效破局点

xuyinyin

"催化型领导力(Catalyst Leadership)" 敏捷领导者CAL 1认证 · 8月9-10日(周末班)

ShineScrum

全国独家线下面授 | 大规模敏捷LeSS认证上海6月19-21日【报名享多重福利优惠】

ShineScrum

英特尔至强6家族又添新成员:释放GPU潜能,AI性能更出色

E科讯

AI 技术在英语学习中的应用

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

软件外包公司 AI英语学习 AI技术应用

WebGL与App的集成开发

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

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

从三流作者到虎嗅公众号头条——我的AI写作方法论

田威AI

AI

上海AI实验室『浦江科学评测共创计划』邀您参与,构建科学智能的“度量衡”

ModelWhale

科学智能 AI4S 上海人工智能实验室

四位图灵奖掌舵 2025智源大会揭示AI进化新路径

智源研究院

通义灵码上下文能力解析:自由组合需求描述,生成结果更高效

阿里巴巴云原生

阿里云 云原生 通义灵码

「金融证券行业」 如何搭建自己的研发智能管理体系?

禅道项目管理

项目 金融 银行 项目管理软件 软件项目管理

鸿蒙仓颉开发语言实战教程:实现商城应用详情页

幽蓝计划

昆仑芯超节点创新设计:1U 4 卡高密算力,无缝适配各类机房环境

Baidu AICLOUD

nvidia 昇腾 超节点 910C NVL72

#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】06.部署模板示例的云测工程到AGC云端

与辉鸿蒙

HarmonyOS HarmonyOS NEXT 端云一体化

MySQL 派生表查询导致 Crash 的根源分析与解决方案

GreatSQL

浅聊一下搭建企业私有知识库的可行方案

为自己带盐

人工智能 RAG应用

“深时数字地球”国际大科学计划系列工作坊持续开放!专业友好可复现,赋能科学智能生态合作(1)

ModelWhale

科学智能 AI4S DDE 深时数字地球

微信小游戏外包开发流程

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

小游戏开发 软件外包公司 游戏开发公司

低成本也能实现大模型应用开发,英特尔与火山引擎是怎么做到的?

E科讯

重磅!一文彻底搞懂 AI Agent

Techinsight

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