写点什么

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

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

关注

评论

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

HTML5 游戏开发实战 | 贪吃蛇

TiAmo

html html5 6 月 优质更文活动

用这个开源项目,网络小白也能搞定容器网络问题排查

阿里巴巴云原生

阿里云 容器 云原生 KubeSkoop

hive数据迁移

数新网络官方账号

大数据 hadoop hadoop spark hive

9 个值得推荐的 VUE3 UI 框架

互联网工科生

Vue UI VUE 3.0 源码

低代码——前端开发人员的利器

伤感汤姆布利柏

BI商业智能工具改变企业发展态势

对不起该用户已成仙‖

产品能力|AIRIOT数据采集与控制引擎在物联网项目中的硬核应用

AIRIOT

物联网

是时候了!MySQL 5.7 的下一站,不如试试 TiDB?

编程猫

构建数字工厂丨数据分析与图表视图模型的配置用法

华为云开发者联盟

后端 物联网 华为云 华为云开发者联盟 企业号 6 月 PK 榜

高可用只读,让RDS for MySQL更稳定

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

AI开源:国际化开发潮流与低代码平台的崛起,探析其积极影响

EquatorCoco

人工智能 AI 低代码 AI开源

预约直播 | 展心展力MetaApp:基于DeepRec的稀疏模型训练实践

阿里云大数据AI技术

人工智能 模型训练

拥抱jsx,开启vue3用法的另一种选择

快乐非自愿限量之名

Vue JSX

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

威廉META

QCN6274 QCN9274 What is the difference?|WIFI7 Solution|Wallys

wallyslilly

qcn9274 qcn6274

活动预告|周五晚,一起来看图数据库如何为构建行业大模型降本增效

悦数图数据库

图数据库 AIGC AI大语言模型

华为云专家出品《深入理解边缘计算》电子书上线

华为云PaaS服务小智

边缘计算 华为云 华为开发者联盟

走进用友BIP数智人力,揭开中国企业智慧管理的神秘面纱

用友BIP

数智人力

如何用低代码开发平台快速实现单据打印功能?

力软低代码开发平台

6 大场景落地全面预算管理闭环

用友BIP

全面预算

2023年,低代码秀起了肌肉

树上有只程序猿

免费开源项目管理工具有哪些

爱吃小舅的鱼

项目管理 项目管理软件

升级数智底座助力快速构建创新应用

用友BIP

低代码 数智底座 Pass平台

全球化数字经济时代,国产替代成为重中之重!

用友BIP

国产替代

广州丨阿里云 Serverless 技术实战营邀你来玩!

阿里巴巴云原生

阿里云 Serverless 云原生

[NLP] langchain-ChatGLM 本地知识库

alexgaoyh

知识库 私有化部署 langchain ChatGLM-6B

Postman Test 校验入门指南:轻松进行接口测试并验证响应

Liam

Java 程序员 Postman 开发工具 API

面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青

程序员小毕

程序员 后端 高并发 架构师 java面试

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

鳄鱼视界

探秘华为云盘古大模型:AI for industries的身体力行

华为云开发者联盟

人工智能 华为云 盘古大模型 华为云开发者联盟 企业号 6 月 PK 榜

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