php to bash

В рамках работы над IoT проектом появилась потребность сделать web-страницу которая будет дергать bash скрипты.

Все оказалось довольно просто.  php функция shell_exec.

Замечание:
Эта функция недоступна в
безопасном режиме.

Внимание
Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была
УДАЛЕНА в версии PHP 5.4.0.

У меня был как раз 5.4 — допиливать ничего не пришлось.

index.php

<?php
$path = "/var/www/html/ZS0-TC-KOTEL/evntemp7.sh";
$temp7 = shell_exec($path);

echo "evn.temp7 = ".$temp7;

$path = "/var/www/html/ZS0-TC-KOTEL/gett1.sh";
$gett1 = shell_exec($path);

echo "<br><br>get.t1 = ".$gett1;
?>

evntemp7.sh

#!/bin/bash

temp=`zabbix_get -s 172.27.64.53 -k evn.temp7`
echo $temp

 

DS18B20

Получить значение с датчика можно по разному. Самый примитивный способ — библиотека DallasTemperature.h. У ее использования есть минусы — она не слишком быстрая, и занимает много места в памяти.

DallasTemperature.h

Для получения значения температуры от датчика используется следующий код.

#include <OneWire.h>
#include <DallasTemperature.h>

OneWire ow_ds(2);//датчик 0 на пин 2
DallasTemperature dt_ds(&ow_ds);
float cel_ds = 99; //значение по умолчанию

void loop() {

dt_ds.requestTemperatures();
delay(2000);
cel_ds = dt_ds.getTempCByIndex(0);

Serial.println(«cel_ds = » + String(cel_ds));//вывод значения в порт

delay(2000);

}