百科问答小站 logo
百科问答小站 font logo



怎么让台式电脑只有本人在才能用? 第1页

  

user avatar   zignforever 网友的相关建议: 
      

你们得体谅一下题主的难处:不好直接拒绝人家。所以最好的办法就是电脑在他不在的时候会出现奇怪的问题,而题主在的时候,即使题主不做任何操作机器也完全正常。

所以我花了点时间做了个小东西,原理非常简单:

  1. 用nodemcu嗅探周围WiFi信号。
  2. 如果10分钟之内有检测到指定的手机(MAC地址),就打开继电器。反之则关闭继电器。

nodemcu非常小巧,可以轻松的安装到电脑机箱里。按照下图把线接好,就可以实现平时电源键完全失效,按了也不开机。反之,只要回到家里,手机没开飞行模式的话就会被它检测到,然后电源键就可以正常工作了从而开机了。这样以来,室友必然百思不得其解。

代码都是现成的,我稍微改了一下。

用到的库

       #include "./esppl_functions.h" #define LIST_SIZE 2 #define RELAY_PIN D0 unsigned long key_detected_time;  //这里填手机的MAC地址 uint8_t keymac[LIST_SIZE][ESPPL_MAC_LEN] = {    {0x11, 0x11, 0x11, 0x11, 0x11, 0x11}   ,{0x22, 0x22, 0x33, 0x44, 0x55, 0x66}   };  String devicename[LIST_SIZE] = {    "device 1"   ,"device 2"   };  bool maccmp(uint8_t *mac1, uint8_t *mac2) {   for (int i=0; i < ESPPL_MAC_LEN; i++) {     if (mac1[i] != mac2[i]) {       return false;     }   }   return true; }  void cb(esppl_frame_info *info) {   for (int i=0; i<LIST_SIZE; i++) {     if (maccmp(info->sourceaddr, keymac[i]) || maccmp(info->receiveraddr, keymac[i])) {       Serial.printf("
%s is here!", devicename[i].c_str());       key_detected_time = millis();     }   } }  void setup() {   delay(500);   Serial.begin(115200);   pinMode(RELAY_PIN, OUTPUT);   digitalWrite(RELAY_PIN, LOW);   esppl_init(cb);   key_detected_time = millis() - 6000000; }  void loop() {   esppl_sniffing_start();   while (true) {     for (int i = ESPPL_CHANNEL_MIN; i <= ESPPL_CHANNEL_MAX; i++ ) {       esppl_set_channel(i);       while (esppl_process_frames()) {         //       }       // 如果10分钟之内有检测到指定设备       if (millis() - key_detected_time < 600000) {         digitalWrite(RELAY_PIN, HIGH);       } else {         digitalWrite(RELAY_PIN, LOW);       }     }   }   }      

然后把固件编译好刷入nodemcu就可以用了

效果演示

https://www.zhihu.com/video/1294301450726965248

其中继电器的指示灯亮了,就是接通了。


一些可能会出现的问题和讨论

  • 由于机箱是完美的电磁屏蔽体,所以装好之后天线尽量靠在前面板没有金属的地方,应该能收到信号。
  • 由于完全是被动嗅探,不会影响手机上网,也无法用WiFi的方式找到这个玩意。
  • 其实都用到继电器了,完全可以用在其他各种地方,比如路由器上,不回家就没网。或者可以接在RESET按钮上,让电脑一直复位,症状类似主板故障,这个没有一定经验很难查到原因。也可以跟其他的比如arduino micro pro结合,不在家的话鼠标会隔一会随机乱动。
  • 之所以选择电源按键还是出于安全考虑:这个小玩意抽风了也不会影响正在运行的电脑。

当然喽,这篇回答还是娱乐为主,日后题主跟室友发生了任何矛盾都不要来找我哈。

最后还是希望大家把这个用到正地方哈。比如DIY酷炫的开机方案,或者检测到主人回家自动启动照明和空调什么。


user avatar   gdspy 网友的相关建议: 
      

WIN10自带这个功能,叫做“动态锁”

Windows可以通过与你的电脑配对的设备获悉你何时离开,并在这些设备超出范围时锁定电脑。

如上图是我的动态锁,我设置成了我的iPhone手机。当Windows检测到这个手机的蓝牙信号消失时,电脑就会被强制锁屏。


user avatar   sywx 网友的相关建议: 
      

大方点,用用有啥。

但是注意里面不要放他没有权限看的保密文件。如果你有这一类的文件的话。




  

相关话题

  cpu超频真的有必要吗?是降低使用寿命,还是带来更大的性能提升? 
  有没有能够支持以下配置的主板? 
  所谓的「电脑滤波卡」有多大成分是骗人的? 
  如何评价华为即将推出的台式机,会对行业带来怎样的影响? 
  2022年1月发布的3070 ti 16g 售价会不会比较高 有必要等吗? 
  如何评价3060显卡,它是不是30系列里最香的显卡? 
  如果不考虑漏水问题,在电子设备或处理器上滴水抹匀并用风扇吹让水蒸发的散热方法是否可行? 
  一台用于学习linux的主机该如何配置、选购? 
  预算10000以内 想配个3070或者3060ti的主机 有推荐配置吗? 
  1080配了i7-4代现在想换个新的怎么配好? 

前一个讨论
康雍乾盛世是谎言么?
下一个讨论
考上公务员后的生活是什么样的?





© 2024-06-02 - tinynew.org. All Rights Reserved.
© 2024-06-02 - tinynew.org. 保留所有权利