IPhoneがLANに接続されているかどうかを検出したいので、ライトをオンにできます。これはこの質問にかなり近いです https://serverfault.com/questions/91369/how-to-detect-an-iphone-connecting-a-network
ポーリング、ログスキャン、イベントトリガーなどによって、iPhone(既知のIP/MACの有無にかかわらず)がLAN上でアクティブであるかどうかを検出したいと思います。
これは、Ubuntu、dhcpd、ufwを実行しているルーターから実行されます。
1つのオプションは、dhcpdにスクリプトを実行させることですon commit
ですが、iPhoneがIPを変更することはめったにないので、それは機能しないと思います。
私はもう試した nmap -v -sP 10.0.0.73
しかし、それは時々しか機能しません。実行すると、次のように出力されます。
Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-12 22:54 CET
Initiating Ping Scan at 22:54
Scanning 10.0.0.73 [2 ports]
Completed Ping Scan at 22:54, 1.61s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 Host. at 22:54
Completed Parallel DNS resolution of 1 Host. at 22:54, 0.00s elapsed
Nmap scan report for 10.0.0.73
Host is up (0.10s latency).
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 Host up) scanned in 1.62 seconds
Pingやarpなど、他のいくつかのオプションを試しましたが、いずれも確実に機能する必要はありません(おそらく何か間違ったことをしている可能性があります)。
ヘルプは大歓迎です!
私が思いつくことができる最善の解決策はnmap -p 62078 IP-ADDRESS | grep "62078/tcp open"
。 iPhoneが60分以内に表示されない場合は、離れているとマークされます。
https://github.com/Znarkus/homie/blob/master/iphone.js を参照してください