Да. Я тоже только что посмотрел, мы тоже самое дели. Единственное отличие (которое мне показалось), что он отображает корректно данные, т.е. например 27/27. Хотя только что, показал 27/27 27. И как с эти бороться..
Да
Нет
Я куплю и сам настрою
Да. Я тоже только что посмотрел, мы тоже самое дели. Единственное отличие (которое мне показалось), что он отображает корректно данные, т.е. например 27/27. Хотя только что, показал 27/27 27. И как с эти бороться..
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Как то все туговато получается. Arduino иногда "задумывается" в работе, т.к. наверное ей сложновато одновременно выводить температуру и еще реагировать на вкл/выкл релюшек. Я вот думаю, может быть сделать "модульную" систему? Одна ардуинка - собирает температуру, вторая - обрабатывает мои желание (вкл/выкл) оборудования, третья - отправляет мне СМС-ки в случае ЧП и т.д. Если их через хаб к RPI подключать, а потом в PHP просто - ttyACM0 - покажи то, ttyACM1 - сделай это и т.д. Должно получиться?
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Может быть проще сделать используя многозадачность на Arduino
у RPi тоже есть куча GPIO
Последний раз редактировалось Chip; 19.01.2013 в 16:44.
Да как-то не так уж и много у него GPIO, и не очень то хочется его использовать. Хотя если с Малинки управлять релюшками а Ардуиной получать данные с датчиков и отправлять в Малинку... Не знаю... А вот многозадачность в Ардуино - кажется довольно сомнительным удовольствием.
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Chip, многозадачность, на удивление работает довольно эффективно. НО! В ТЕРМИНАЛЕ! Через PHP разницы никакой. Может быть я что-то не правильно делаю?
Задача следующая - управление из PHP 8-ю устройствами (в настоящее время светиками). Это получается хорошо (передача из PHP в Ардуину, но при включении любого из 8 устройств, его значение меняется с 0 на 1 и ардуина в PHP должна об этом сообщить. Вот в этом и проблема.
Вот скетч для Ардуинки (с leOs):
Вот главной стр. PHP (relay_button.php) -PHP код:
#include "leOS.h"
leOS myOS; //создать экземпляр класса
#define led1Pin 30
#define led2Pin 31
#define led3Pin 32
#define led4Pin 33
#define led5Pin 34
#define led6Pin 35
#define led7Pin 36
#define led8Pin 37
int stat1;
int stat2;
int stat3;
int stat4;
int stat5;
int stat6;
int stat7;
int stat8;
void setup()
{
Serial.begin(9600);
myOS.begin();
pinMode(led1Pin, OUTPUT);
pinMode(led2Pin, OUTPUT);
pinMode(led3Pin, OUTPUT);
pinMode(led4Pin, OUTPUT);
pinMode(led5Pin, OUTPUT);
pinMode(led6Pin, OUTPUT);
pinMode(led7Pin, OUTPUT);
pinMode(led8Pin, OUTPUT);
myOS.addTask(sendstatus, 1000);//добавить задачу с интервалом выполнения через 250мс
}
void loop()
{
serial_read_write();
}
void serial_read_write()
{
if (Serial.available() > 0)
{
byte inByte = Serial.read();
switch (inByte)
{
case 65:
digitalWrite(led1Pin, HIGH);
break;
case 66:
digitalWrite(led1Pin, LOW);
break;
case 67:
digitalWrite(led2Pin, HIGH);
break;
case 68:
digitalWrite(led2Pin, LOW);
break;
case 69:
digitalWrite(led3Pin, HIGH);
break;
case 70:
digitalWrite(led3Pin, LOW);
break;
case 71:
digitalWrite(led4Pin, HIGH);
break;
case 72:
digitalWrite(led4Pin, LOW);
break;
case 73:
digitalWrite(led5Pin, HIGH);
break;
case 74:
digitalWrite(led5Pin, LOW);
break;
case 75:
digitalWrite(led6Pin, HIGH);
break;
case 76:
digitalWrite(led6Pin, LOW);
break;
case 77:
digitalWrite(led7Pin, HIGH);
break;
case 78:
digitalWrite(led7Pin, LOW);
break;
case 79:
digitalWrite(led8Pin, HIGH);
break;
case 80:
digitalWrite(led8Pin, LOW);
break;
}
}
}
void sendstatus()
{
stat1 = digitalRead(led1Pin);
stat2 = digitalRead(led2Pin);
stat3 = digitalRead(led3Pin);
stat4 = digitalRead(led4Pin);
stat5 = digitalRead(led5Pin);
stat6 = digitalRead(led6Pin);
stat7 = digitalRead(led7Pin);
stat8 = digitalRead(led8Pin);
Serial.print(stat1);
Serial.print(stat2);
Serial.print(stat3);
Serial.print(stat4);
Serial.print(stat5);
Serial.print(stat6);
Serial.print(stat7);
Serial.print(stat8);
}
Вот примеры Non.php и Noff.php -PHP код:
<?php
include "php_serial.class.php";
$serial = new phpSerial;
$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(9600);
$serial->deviceOpen();
usleep(2000000);
$read = $serial->readPort();
print $read;
$serial->deviceClose();
?>
<a href="1on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="1off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="2on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="2off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="3on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="3off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="4on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="4off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="5on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="5off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="6on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="6off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="7on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="7off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
<a href="8on.php"><button><img src="on.png" width="31" height="31" alt="ON" style="vertical-align: middle"></button></a>
<a href="8off.php"><button><img src="off.png" width="31" height="31" alt="OFF" style="vertical-align: middle"></button></a>
PHP код:
<?php
$filename = "/dev/ttyACM0"; //UART порт роутера
$fp = fopen($filename, "w+"); //открыть порт
fwrite($fp, A); //полать в порт строку
fclose($fp); //закрыть порт
header("Location: relay_button.php");
?>
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Только я не нашел в каком месте кода идет прием информации от Arduino?
Да и отправки кодов кнопок для Arduino скрипт PHP должен использоваться один
Последний раз редактировалось Chip; 20.01.2013 в 00:24.
Начальная страница - relay_button.php -
PHP код:
<?php
include "php_serial.class.php";
$serial = new phpSerial;
$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(9600);
$serial->deviceOpen();
usleep(2000000);
$read = $serial->readPort();
print $read;
$serial->deviceClose();
?>
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Скрипт я видел, а где в html коде он вызывается?
для чего пауза 2 сек usleep(2000000);
Последний раз редактировалось Chip; 20.01.2013 в 00:32.
При загрузке главной страницы. Он в самом начале прописан.
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Ну и что запустил ты скрипт в начале, скрипт выполнится один раз, считает одно значение выведет его, а потом это значение сразу же затирается кнопками
Только без обид, прочти хотя бы азы по веб программированию
Потом будешь с улыбкой смотреть на свой код
Последний раз редактировалось Chip; 20.01.2013 в 00:39.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)