lpb.wifi index.php,networking - Orvibo S20 WIFI插头如何在本地网络之外进行控制? - SO中文参考 - www.soinside.com...

我使用了一个包含PHP脚本的下面的脚本。

#!/bin/bash

# script to find the lan ip address mini computer

hostname -I > /tmp/plug_config_own_ip.txt

# script to find the mac addres mini computer

ifconfig eth0 | grep HWaddr >& /tmp/plug_config_own_mac.txt

# script to find the wan ip address mini computer

wget http://ipecho.net/plain -O - -q > /tmp/plug_config_own_ip_wan.txt

# script to populate the arp table

sudo nmap --send-ip -sP 192.168.1.0/24

sudo nmap --send-ip -sP 192.168.0.0/24

# script to find the ip & mac address & little endian wifi plugs

ping -c 4 HF-LPB100 && arp -n | grep ac:cf:23 >& /tmp/plug_config_wifi_socket_ip.txt

arp -n | grep ac:cf:23 >& /tmp/plug_config_wifi_socket_ip.txt

# php script to upload information into database

php /../plug_config.php > /tmp/plug_config_output.txt 2>/tmp/plug_config_error.txt &

PHP脚本主要用于创建编码以打开/关闭不同的WIFI套接字。这就是我需要WIFI套接字的IP,MAC地址的原因。除此之外,PHP脚本还存储了用于打开和关闭WIFI套接字的代码行。后来我使用这些信息自动打开或关闭设备。请参阅以下PHP:

include '/DBconfig.php';

//

// Config variables

//

$filename1 = "/tmp/plug_config_own_ip.txt";

$filename2 = "/tmp/plug_config_own_ip_wan.txt";

$filename3 = "/tmp/plug_config_own_mac.txt";

$filename4 = "/tmp/plug_config_wifi_socket_ip.txt";

$mysqli= new mysqli($host , $user , $pw ,$db);

if ($mysqli->connect_errno) {

echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;

}

if (file_exists($filename2)) {

$file = fopen($filename2,"r");

$ip_address_wan = file($filename2,FILE_IGNORE_NEW_LINES)[0];

$ip_address_wan = trim($ip_address_wan);

// echo "ip_address_wan: ".$ip_address_wan;

fclose($file);

} else {

echo "The file $filename2 does not exist";

}

if (file_exists($filename3)) {

$file = fopen($filename3,"r");

$mac_address = file($filename3,FILE_IGNORE_NEW_LINES)[0];

$mac_address = substr(strrchr($mac_address, "HWaddr "), 7);

$mac_address = trim($mac_address);

// echo "mac_address: ".$mac_address;

fclose($file);

} else {

echo "The file $filename3 does not exist";

}

// get information from wifi sockets

if (file_exists($filename4)) {

$file = fopen($filename4,"r");

$ln=1;

$device_ind = 2001;

while(! feof($file))

{

$data = fgets($file);

//echo "data: ".$data;

$ip_address = trim(substr($data, 0,15));

IF(empty($ip_address)){$device_ind=0;}

//echo "ip_address: ".$ip_address;

$mac_address = trim(substr($data,(strpos($data, "ether"))+8, 20));

// echo "mac_address: ".$mac_address;

$mac = substr($mac_address,0,2)." ".substr($mac_address,3,2)." ".substr($mac_address,6,2)." ".substr($mac_address,9,2)." ".substr($mac_address,12,2)." ".substr($mac_address,15,2);

$mac = trim($mac);

// echo "mac: ".$mac;

$little_endian = substr($mac_address,15,2)." ".substr($mac_address,12,2)." ".substr($mac_address,9,2)." ".substr($mac_address,6,2)." ".substr($mac_address,3,2)." ".substr($mac_address,0,2);

$little_endian = trim($little_endian);

// echo "little_endian: ".$little_endian;

$subscribe_code = "echo '68 64 00 1e 63 6c ".$mac." 20 20 20 20 20 20 ".$little_endian." 20 20 20 20 20 20 ' | xxd -r -p | nc -i5 -n -4u -w1 ".$ip_address." 10000";

$subscribe_code = base64_encode($subscribe_code);

//echo "subscribe_code: ".$subscribe_code;

$on_code = "echo '68 64 00 17 64 63 ".$mac." 20 20 20 20 20 20 00 00 00 00 01' | xxd -r -p | nc -i5 -n -4u -w1 ".$ip_address." 10000";

$on_code = base64_encode($on_code);

//echo "on_code: ".$on_code;

$off_code = "echo '68 64 00 17 64 63 ".$mac." 20 20 20 20 20 20 00 00 00 00 00' | xxd -r -p | nc -i5 -n -4u -w1 ".$ip_address." 10000";

$off_code = base64_encode($off_code);

//echo "off_code: ".$off_code;

//$status_code = "";

// echo "status_code: ".$status_code;

// insert information into soso_devices table

$query = "INSERT INTO soso_devices (`device_ind`,`ip_address`, `mac_address`, `mac`, `little_endian`, `subscribe_code`, `on_code`, `off_code`, `status`) VALUES ('".$device_ind."','".$ip_address."','".$mac_address."','".$mac."','".$little_endian."','".$subscribe_code."','".$on_code."','".$off_code."','Y')";

$mysqli->query($query);

//echo $query;

$device_ind++;

$ln++;

}

fclose($file);

} else {

echo "The file $filename4 does not exist";

}

mysqli_close($mysqli); // closing connection

?>

希望这是有帮助的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LPB125是一款基于ESP8266芯片的WiFi模块,可以与Arduino一起使用。它提供了无线连接的功能,使得Arduino可以通过WiFi网络与其他设备进行通信。要在Arduino中使用LPB125模块,你需要按照以下步骤进行操作: 1. 确保你的Arduino开发板上有可用的串口(UART)。 2. 将LPB125模块连接到Arduino开发板。将模块的VCC引脚连接到Arduino的5V引脚,GND引脚连接到GND引脚,TX引脚连接到Arduino的RX引脚,RX引脚连接到Arduino的TX引脚。 3. 在Arduino IDE中安装ESP8266库。打开Arduino IDE,依次选择“工具”->“管理库”,搜索并安装“ESP8266”库。 4. 在Arduino IDE中选择正确的开发板和端口。选择你使用的Arduino开发板,并选择正确的串口端口。 5. 编写代码以控制LPB125模块。你可以使用ESP8266库提供的函数来连接WiFi网络、发送和接收数据。 下面是一个简单的示例代码,用于连接WiFi并发送数据: ```cpp #include <ESP8266WiFi.h> const char* ssid = "YourWiFiSSID"; const char* password = "YourWiFiPassword"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); } void loop() { // 在这里编写你的代码逻辑 } ``` 在这个示例中,你需要将`YourWiFiSSID`和`YourWiFiPassword`替换为你的WiFi网络的名称和密码。 你可以根据需要在`loop()`函数中添加代码,实现与其他设备的通信或其他操作。 希望这个简单的示例能帮到你!如果你有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值