Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- header('Content-Type: text/html; charset=utf-8');
- // Definição de Variáveis auxiliares comuns a toda a API
- if (file_get_contents("files/sistema_vigilancia/estado.txt") == "Ativado") {
- $vigilancia_ativada = true;
- } else {
- $vigilancia_ativada = false;
- }
- if (file_get_contents("files/sensor_proximidade/flag.txt") == "1") {
- $sensor_ativado = true;
- } else {
- $sensor_ativado = false;
- }
- // Pedidos POST
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- // Receber valor do sensor de proximidade
- if (isset($_POST['sensor_proximidade'])) {
- if ($vigilancia_ativada) {
- if ($_POST['valor'] >= 1023 && !$sensor_ativado) {
- file_put_contents("files/sensor_proximidade/flag.txt", "1");
- }
- file_put_contents("files/sensor_proximidade/valor.txt", $_POST['sensor_proximidade']);
- }
- }
- // Recebe uma imagem
- if (isset($_FILES['imagem'])) {
- $file_path = "files/camera/webcam.jpg";
- if (checkFileSize($_FILES["imagem"]["size"]) && checkFileMime($_FILES["imagem"]["name"])){
- saveFile($_FILES["imagem"]["tmp_name"], $file_path);
- if ($sensor_ativado) {
- file_put_contents("files/sensor_proximidade/flag.txt", "0");
- }
- }
- }
- // Receber temperatura
- if (isset($_POST['temperatura'])) {
- $path = "files/temperatura/valor.txt";
- if (file_get_contents($ficheiro) != $_POST['temperatura']) {
- file_put_contents($ficheiro, $_POST['temperatura']);
- }
- }
- // Receber alterações ao estado das luzes
- if (isset($_POST['luzes'])) {
- $ficheiro = "files/luzes/estado.txt";
- if ($_POST['luzes'] >= 1023 && file_get_contents($ficheiro) == "Ligadas") {
- file_put_contents($ficheiro, "Desligadas");
- } else if ($_POST['luzes'] < 1023 && file_get_contents($ficheiro) == "Desligadas") {
- file_put_contents($ficheiro, "Ligadas");
- }
- }
- // Sensor de fumo >120
- if (isset($_POST['smoke_sensor'])) {
- $ficheiro = "files/detetor_fumo/estado.txt";
- if ($_POST['smoke_sensor'] >= 120 && file_get_contents($ficheiro) == "Desativado") {
- file_put_contents($ficheiro, "Ativado");
- } else if ($_POST['smoke_sensor'] < 120 && file_get_contents($ficheiro) == "Ativado") {
- file_put_contents($ficheiro, "Desativado");
- }
- }
- // Ver se ventoinha disparou
- if (isset($_POST['ventoinha'])) {
- $ficheiro = "files/ventoinha/estado.txt";
- if ($_POST['ventoinha'] == "Ligada" && file_get_contents($ficheiro) != "Ligada") {
- file_put_contents($ficheiro, "Ligada");
- } else if ($_POST['ventoinha'] == "Desligada" && file_get_contents($ficheiro) != "Desligada") {
- file_put_contents($ficheiro, "Desligada");
- }
- }
- // Pedidos GET
- } else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
- // Alterar estado das persianas
- if (isset($_GET['alterar_persianas'])) {
- $ficheiro = "files/persianas/estado.txt";
- if (file_get_contents($ficheiro) == "Abertas") {
- file_put_contents($ficheiro, "Fechadas");
- } else {
- file_put_contents($ficheiro, "Abertas");
- }
- }
- // PKT Verifica estado das persianas
- if (isset($_GET['estado_persianas'])) {
- echo file_get_contents("files/persianas/estado.txt");
- }
- // Alterar estado da ventoinha
- if (isset($_GET['alterar_ventoinha'])) {
- $ficheiro = "files/ventoinha/estado.txt";
- if (file_get_contents($ficheiro) == "Ligada") {
- file_put_contents($ficheiro, "Desligada");
- } else {
- file_put_contents($ficheiro, "Ligada");
- }
- }
- // PKT Verifica estado ventoinha
- if (isset($_GET['estado_ventoinha'])) {
- echo file_get_contents("files/ventoinha/estado.txt");
- }
- // PKT Verifica valor temperatura
- if (isset($_GET['valor_temperatura'])) {
- echo file_get_contents("files/temperatura/valor.txt");
- }
- // Alterar estado do sistema de vigilância
- if (isset($_GET['alterar_vigilancia'])) {
- $ficheiro = "files/sistema_vigilancia/estado.txt";
- if (file_get_contents($ficheiro) == "Ativado") {
- $vigilancia_ativada = false;
- file_put_contents($ficheiro, "Desativado");
- } else {
- $vigilancia_ativada = true;
- file_put_contents($ficheiro, "Ativado");
- }
- }
- header('Location: index.php');
- // Pedidos inválidos
- } else {
- echo "Invalid request method received";
- }
- // Funções auxiliares
- function checkFileSize($image_size){
- if ($image_size > 1000000) {
- echo "Sorry, your file is too large.";
- return false;
- }
- return true;
- }
- function checkFileMime($filename){
- $imageFileType = strtolower(pathinfo($filename,PATHINFO_EXTENSION));
- if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg") {
- echo "Sorry, only JPG, JPEG & PNG files are allowed.";
- return false;
- }
- return true;
- }
- function saveFile($temp_name, $target_file) {
- if (move_uploaded_file($temp_name, $target_file)) {
- echo "The file ". basename($temp_name). " has been uploaded.";
- } else {
- echo "Sorry, there was an error uploading your file.";
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement