应用背景
有个项目需要监控路由器上登录了哪些设备,包括有线连接和wifi的连接。我们知道在电脑直接ping设备的IP根据回复既可以判断设备是否在局域网中。能不能用单片机来实现呢,查资料发现以太网模块,就能实现PING功能。网购一个ENC28J60模块。选择了SPI接口的以太网卡,通过STC12C5A60S2单片机驱动。
准备工作
为了准确判断设备的联网状态,需要在路由器上对每个设备分配固定IP地址。设备方法请参考路由器的资料,这里不赘述。
以下是测试的路由器中ip分配表:
实现原理
以太网模块通过网线连接到路由器网口上,和登录路由器的所有设备在同一个局域网中。前面讲到,在路由器上已经给每个设备分配了固定的IP地址,这些设备只要登录到路由器上,就会对应固定的IP地址。以太网模块定时发送PING命令,扫描需要监测的设备IP,根据回复判断设备的联网情况。