MMM-NetworkScanner 项目教程
1. 项目的目录结构及介绍
MMM-NetworkScanner 是一个用于 MagicMirror 的模块,用于根据设备的 MAC 或 IP 地址确定网络中设备的状态。以下是项目的目录结构及其介绍:
MMM-NetworkScanner/
├── LICENSE
├── MMM-NetworkScanner.css
├── MMM-NetworkScanner.js
├── README.md
├── gruntfile.js
├── node_helper.js
├── package.json
LICENSE
: 项目的许可证文件,采用 MIT 许可证。MMM-NetworkScanner.css
: 模块的样式文件,定义了模块的外观和布局。MMM-NetworkScanner.js
: 模块的主文件,包含了模块的主要逻辑和功能。README.md
: 项目的说明文档,包含了安装和配置的详细说明。gruntfile.js
: Grunt 任务配置文件,用于自动化构建和测试。node_helper.js
: 模块的辅助文件,用于处理后台任务和数据。package.json
: 项目的依赖和脚本配置文件,包含了项目的元数据和依赖项。
2. 项目的启动文件介绍
项目的启动文件是 MMM-NetworkScanner.js
,它包含了模块的主要逻辑和功能。以下是该文件的主要内容和功能介绍:
- 初始化模块: 在
start
方法中初始化模块,设置定时器以定期扫描网络设备。 - 扫描网络设备: 使用
node_helper.js
中的方法扫描网络设备,并根据设备的 MAC 或 IP 地址确定设备的状态。 - 更新显示: 根据扫描结果更新模块的显示内容,显示设备的在线状态和相关信息。
3. 项目的配置文件介绍
项目的配置文件是 config.js
,它包含了模块的配置选项。以下是该文件的主要内容和功能介绍:
- 设备列表: 配置文件中包含了一个设备列表,每个设备都有一个
macAddress
或ipAddress
和相应的名称和图标。 - 扫描间隔: 配置文件中可以设置扫描网络设备的间隔时间,例如每 5 秒扫描一次。
- 显示选项: 配置文件中可以设置是否显示未知设备,以及设备的在线状态保持时间。
示例配置:
{
module: 'MMM-NetworkScanner',
position: 'top_left',
config: {
devices: [
{ ipAddress: "github.com", name: "Github", icon: "globe" },
{ macAddress: "1a:1b:1c:1a:1b:1c", name: "Server", icon: "server" },
{ macAddress: "2a:2b:2c:2a:2b:2c", name: "Desktop", icon: "desktop" },
{ ipAddress: "10.1.1.10", name: "Laptop", icon: "laptop" },
{ macAddress: "4a:4b:4c:4a:4b:4c", name: "Mobile", icon: "mobile" }
],
showUnknown: false,
scanInterval: 5000,
keepAlive: 300000
}
}
以上配置文件定义了要监控的设备列表,扫描间隔为 5 秒,并且设备的在线状态保持时间为 5 分钟。