Ключевое ?лово

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Софт:обсуждение программного обеспечения для умного дома
  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5

ТЕМА: Php скрипты для esp8266

Php скрипты для esp8266 26 Авг 2015 05:33 #5874

  • georg
  • georg аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 21
  • Спасибо получено: 1
  • Репутация: 0
Controler пишет:
Все разобрался сам.
Вы согласовывали выход датчика воды и гпио при разных напряжениях питания?
Последнее редактирование: 26 Авг 2015 09:40 от georg.
Администратор запретил публиковать записи гостям.
Спасибо сказали: dorisca11

Php скрипты для esp8266 20 Сен 2015 17:47 #6337

  • defalt
  • defalt аватар
  • Не в сети
  • Новый участник
  • Сообщений: 13
  • Спасибо получено: 1
  • Репутация: 1
а есть ли возможность сделать чтоб нулевое состояние gpio тоже записывалось?
Администратор запретил публиковать записи гостям.
Спасибо сказали: dorisca11

Php скрипты для esp8266 13 Фев 2016 11:57 #10369

  • kotbrs
  • kotbrs аватар
  • Не в сети
  • Новый участник
  • Сообщений: 10
  • Репутация: 0
Искал для себя скрипт для записи данных датчика в базу MySQL.
Готового решения не нашел.
Скомпилировал сам из разных частей кода на просторах интернета.

Задача - записать данные DS18b20 в базу MySQL.
База состоит из следующих полей:
id - номер записи
date - дата и время внесения записи
hostname - имя esp8266
dsw1 - значение температуры
В дальнейшем использую для построения графиков средствами jpgraph.

Имеем:
esp8266 - WeMOS D1
прошивка - версия PRO
сервер на Linux - Apache, MySQL, PHP

Скрипт
<?PHP
// Используем curl для получения странички /sensors

$ch = curl_init('http://192.168.111.180/sensors' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// В переменную $page пишем содержание странички /sensors
$page = curl_exec($ch);
curl_close($ch);

// В массив $dat записываем данные разделенные «;», т.е. пару «имя_сенсора:его_значение»
$dat = explode(";", $page);

// В массивы $hn  и $dsw записываем данные из массива $dat, разделяя эти данные (разделитель  «:»)
$hn = explode(":", $dat[0]);
$dsw = explode(":", $dat[1]);

// Записываем значения переменных:
// имя хоста - $hn[1]
// значение датчика - $dsw[1]

//ip address MySQL server
$dbhost = "localhost";
//MySQL user name
$dbuser = «XXXX»;
//MySQL user password
$dbpass = «XXXX»;
//MySQL database name
$dbname = "esp_home";

$link = mysql_connect($dbhost, $dbuser, $dbpass);
    mysql_select_db($dbname,$link);

mysql_query("INSERT INTO esp_test (hostname, dsw1) VALUES ('$hn[1]', $dsw[1])");


?>

Код далек от оптимизированного и элегантного, но работает.
В случае добавления датчиков код дописывается.
Также из массивов можно вытаскивать имена датчиков и их значения парами и при условии наличия в базе полей с такими же именами автоматически их туда засовывать.

Сам не программист, решил задачу как смог.
Администратор запретил публиковать записи гостям.

Php скрипты для esp8266 13 Фев 2016 17:40 #10381

  • Naevus
  • Naevus аватар
  • Не в сети
  • Завсегдатай
  • Сообщений: 256
  • Спасибо получено: 32
  • Репутация: 8
Поля с именами датчиков? Вы шутите? Это же совсем не гибко: неудобства не только в добавлении новых датчиков (представьте - таблица у вас за 5 лет с посекундными отсчетами - и вдруг надо добавить один датчик.... Кля!), заканчивая использованием данных (10 датчиков - 10 процедур для построения 10 графиков)...

Я бы сделал таблицу с тремя полями: Timestamp (понятно что), Name (имя датчика), Value (значение датчика). Всё!

Одна процедура для графиков - передаем в нее только имя датчика (ну и период для построения)
Одна процедура для загрузки данных - на имена датчиков вообще не смотрим - тупо запихиваем их в таблицу.

ps Парсинг строки сложноват, но если работает.. Я бы всю строку в sql загнал, там одним селектом распарсил и сразу в инсерт... правда я искалечен ораклом - не уверен что в мускуле сработает.
Администратор запретил публиковать записи гостям.

Php скрипты для esp8266 29 Авг 2016 18:29 #14253

  • vovusya
  • vovusya аватар
  • Не в сети
  • Новый участник
  • Сообщений: 19
  • Спасибо получено: 1
  • Репутация: 0
Извините, не понял, для чего нужен код странички для теста?
Последнее редактирование: 29 Авг 2016 18:31 от vovusya.
Администратор запретил публиковать записи гостям.

Php скрипты для esp8266 31 Авг 2016 08:41 #14289

  • vovusya
  • vovusya аватар
  • Не в сети
  • Новый участник
  • Сообщений: 19
  • Спасибо получено: 1
  • Репутация: 0
а, все понял. спасибо!
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5
Модераторы: FlyRouter, Dolfik
Время создания страницы: 0.145 секунд

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.