写点什么

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

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

关注

评论

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

软件测试/测试开发丨深入了解性能测试:方法、工具和最佳实践

测试人

软件测试 性能测试 测试开发

网络安全(黑客)自学方向

网络安全学海

程序员 黑客 网络安全 信息安全 渗透测试

通过观测云快速了解真实用户体验

Yestodorrow

可观测性 用户增长 业务增长 真实用户体验

中小企业数字化既要效率又要效益,这款轻量云服务器打破悖论

YG科技

等不及了,2023云栖大会精彩剧透提前看!

阿里云视频云

云计算 云栖大会

主打一个遥遥领先,这款轻量应用服务器真是太“硬”了

平平无奇爱好科技

跨境电商项目还在冷启动?请收好这份“破冰”秘籍

YG科技

TiDB 7.4 发版:正式兼容 MySQL 8.0

编程猫

中小企业数字化人才困境重重,华为云耀云服务器L实例妙手回春

平平无奇爱好科技

传统ERP云服务器高不可攀,华为云耀云服务器L实例可以“交个朋友”

轶天下事

All IN数字化?华为云耀云服务器L实例让中小企业没有后顾之忧

YG科技

被誉为轻量云服务器“鼻祖”的腾讯云,遇到最硬核对手

平平无奇爱好科技

华为云耀云服务器L实例_ 为跨境电商提升“钞”能力

轶天下事

文心4.0,启动大模型时代的飞轮效应

脑极体

AI

数字化转型与架构-架构设计篇|系统组件有哪些?

数字随行

数字化转型

快收藏!中小电商企业必用的ERP软件ODooo“奶妈级”教程来了

平平无奇爱好科技

独立站成跨境电商终极答案,解锁中小企业吃透红利方式

YG科技

大模型背景下软件工程的机遇与挑战

CODING DevOps

9款好用的在线流程图软件推荐!

彭宏豪95

效率 流程图 在线工具 科技 流程图绘制

使用指南|如何将 GreptimeDB 数据保存在阿里云 OSS

Greptime 格睿科技

数据库 阿里云 云原生 Greptime GreptimeDB

不想续费百度云,这款轻量应用服务器完美替代

轶天下事

腾讯云轻量应用服务器到期?赶紧换新上市的华为云耀云服务器L实例吧!

轶天下事

力压阿里云轻量服务器,华为云耀云服务器L实例如何成为中小企业的“新欢”

轶天下事

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

Geek_2d6073

阿里内推强推的并发编程学习笔记,原理+实战+面试题,面面俱到!

小小怪下士

Java 程序员 并发编程

想做跨境电商不知道如何搭建网站?看这篇教程就够了

平平无奇爱好科技

后起之秀 虽迟未晚!这款轻量云服务器乱拳打死老师傅

YG科技

敏捷思维和免费敏捷管理工具

顿顿顿

敏捷项目管理 敏捷开发管理工具 scrum工具 scrum敏捷工具 敏捷开发工具

跬智信息(Kyligence)入选 IDC《中国数据智能市场生态图谱V4.0》

Kyligence

数据分析 指标平台

Disruptor在流程编排中的应用与探索

ZA技术社区

金融科技 众安保险 ZA技术社区 keji

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