hydejoe
hydejoe
或许可以尝试声音传感器+光敏电阻,以声音幅度在一定时间内超过一定阀值几判断为“抽纸事件”,显示屏幕显示“已抽x张”;换抽纸包时会导致盒内亮度增大,光敏电阻阻值低于一定数值一段时间,“已抽”数据归零。 外部噪声、抽纸手速、单次抽出多张会产生误差。感觉比弹簧可行度要高
@shana321 参照pppoe-relay 经测试可以转发内网的拨号请求以及后续的ppp包至外网,但是这种情况下只有该拨号的那台内网设备能连外网。(重庆,能拨号,未测试心跳) 可以尝试将内网其他设备发出的数据包先SNAT后加上pppoe包头,伪装成拨号设备的数据包。但问题一是这已经不仅仅需要编写脚本能力了,这应该已经算是底层驱动了,二是当数据包从外网发回时,是去掉pppoe包头发往内网其他设备,还是直接发回给内网拨号那台设备,那么这里就要维护一个table进行记录了,哦对还要应对“不同内网设备,但同源端口、目标地址和端口”这种情况。 解决上述问题后,只要拨号那台没断,内网其他设备都能连接外网 [man pppoe-relay](https://linux.die.net/man/8/pppoe-relay)
@caiqiqi 对于第二个场景: > 我知道所有172.16.0.0/12中的主机是在一个广播域 ip地址的广播跟pppoe拨号的广播是不一样的,ip地址的广播是形如“224.0.0.251”、“192.168.1.255”的三层目标地址,而pppoe的广播包目标地址则是二层的“FF:FF:FF:FF:FF:FF”。 一般来说,二层的广播是不能跨路由的,也就是说,如果你跟pppoe服务器不在一个以太网,pppoe包是传不过去的。 在linux的rp-pppoe包中,有一个命令叫pppoe-relay,作为边界设备时,可以转发二层pppoe协议(PADI、PADO、PADS、PADT等),实现跨路由pppoe拨号。 参见:https://linux.die.net/man/8/pppoe-relay 这也就能解释为什么第二个场景下能拨号而第三个场景下不能:第三个场景下的边界路由器没有转发你二层的pppoe包。 如果你将第三个场景下的路由器当作交换机用,即关掉dhcp,外部网络插LAN口,这样wifi里的pppoe包也可以发出去。