php网站通过wifi利用Socket与单片机通信封装函数
时间: 2024-04-16 08:29:19 浏览: 136
PHP的Socket通信
你可以使用 PHP 的 Socket 扩展来实现与单片机的通信。下面是一个简单的封装函数的示例代码:
```php
// 创建与单片机的 Socket 连接
function createSocketConnection($host, $port) {
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Socket creation failed: " . socket_strerror(socket_last_error()) . "\n";
return false;
}
$result = socket_connect($socket, $host, $port);
if ($result === false) {
echo "Socket connection failed: " . socket_strerror(socket_last_error($socket)) . "\n";
return false;
}
return $socket;
}
// 发送消息给单片机
function sendMessageToMicrocontroller($socket, $message) {
$result = socket_write($socket, $message, strlen($message));
if ($result === false) {
echo "Message sending failed: " . socket_strerror(socket_last_error($socket)) . "\n";
return false;
}
return true;
}
// 从单片机接收消息
function receiveMessageFromMicrocontroller($socket, $length) {
$message = socket_read($socket, $length);
if ($message === false) {
echo "Message receiving failed: " . socket_strerror(socket_last_error($socket)) . "\n";
return false;
}
return $message;
}
// 关闭 Socket 连接
function closeSocketConnection($socket) {
socket_close($socket);
}
// 使用示例
$host = "192.168.0.100"; // 单片机的 IP 地址
$port = 1234; // 单片机监听的端口号
$socket = createSocketConnection($host, $port);
if ($socket !== false) {
// 发送消息给单片机
$message = "Hello, microcontroller!";
sendMessageToMicrocontroller($socket, $message);
// 接收来自单片机的消息
$receivedMessage = receiveMessageFromMicrocontroller($socket, 1024);
echo "Received message from microcontroller: " . $receivedMessage . "\n";
// 关闭 Socket 连接
closeSocketConnection($socket);
}
```
请注意,上述代码仅为示例,并没有处理异常情况。在实际应用中,你可能需要添加适当的错误处理和安全性检查。此外,单片机端也需要相应的代码来处理与 PHP 网站的通信。
阅读全文