在这个物联网时代,我们家庭中的电器设备越来越智能化。如果我告诉你,有一个npm包可以实时监控你家中的设备状态,你是否会心动呢?那就让我们来介绍一下 whoshome 这个神奇的npm包吧!
什么是 whoshome?
whoshome 是一个基于Node.js的npm包,能够实时获取家庭网络内所有设备的在线状态。它通过向家庭网络内主机发送ping请求,来获取设备的在线状态。同时,我们也可以通过 whoshome 提供的API接口,来获取某个特定设备的在线状态。
whoshome的安装与使用
通过npm安装 whoshome:
npm i whoshome
1.获取整个家庭网络内设备的在线状态
使用 whoshome 提供的默认方法 whosHome.getDevices()
,可以获取家庭网络内所有连接的设备状态,例如:
const whosHome = require('whoshome'); const devicesStatus = whosHome.getDevices(); console.log(devicesStatus);
控制台输出结果:
{ '192.168.1.1': true, '192.168.1.5': true, '192.168.1.7': false }
上面的输出结果表示,家庭网络内三个设备分别是 192.168.1.1
、192.168.1.5
、192.168.1.7
,其中前两个设备在线,最后一个设备离线。
2.获取指定设备是否在线
除了获取家庭网络内所有设备的状态外,whoshome 还提供了获取单个设备状态的方法 whosHome.isOnline(ip)
。接下来我们来看一个例子:
const whosHome = require('whoshome'); const isOnline = whosHome.isOnline('192.168.1.1'); console.log(isOnline);
控制台输出结果:
true
上面的输出结果表示,当前调用 whosHome.isOnline('192.168.1.1')
方法获取到的状态是设备 192.168.1.1
正在在线。
3.监测家庭网络内所有设备的在线状态
我们可以通过 whoshome 提供的 whosHome.watch(callback)
方法实时监测获取家庭网络内所有设备的状态,例如:
const whosHome = require('whoshome'); whosHome.watch(devicesStatus => { console.log(devicesStatus); });
在上面的例子中,我们通过监测回调函数 devicesStatus
实时获取家庭网络内所有设备的状态,监测到状态变化时,会即时输出控制台信息。
总结
通过上面的介绍,我们了解了 whoshome 这个npm包的使用。通过 whoshome,我们可以便捷地实时监控家庭网络中各个设备的状态,为我们的家庭生活提供了极大的便利!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671098dd3466f61ffdfbd