Цитата:
Сообщение от mebitek
Ты открываешь порт, ардуина перегружается. Поставь конденсатор земля-ресет.
PHP код:
$serial = new phpSerial; $serial->deviceSet("/dev/ttyUSB0"); $serial->confBaudRate(57600); $serial->deviceOpen(); sleep(1); $read = $serial->readPort(); echo $read; $serial->deviceClose();
Зачем sleep?
Время чтения "даласа" тоже может добавить ошибки.
|
Зачем конденсатор то? sleep без него не срабатывает, вернее такое ощущение что не успевают данные придти, браузер уже погрузил страницу, а на ардуине только начинают мигать диоды чтения, если поставить sleep 2 сек или даже 1.8сек то данные выводятся.
Цитата:
Сообщение от mebitek
Аксиома. Если в линуксе что-то не работает, значит вы что-то делаете не так.
Это же касается флешки, если она в принципе работает, но при этом не работет где-то, значит go to первый пункт.
|
)))) ну что можно сделать с флешкой не так?
Цитата:
Сообщение от mebitek
PHP код:
void loop() {
sensors.requestTemperatures(); Serial.print("Sensor1 "); printTemperature(Thermometer1); Serial.print("Sensor2 "); printTemperature(Thermometer2); }
Здесь вы постоянно шлёте даные - это не правильно, правильно отправлять запрос и получать ответ.
И где признак конца строки?
|
Если не сложно можно пример скетча на основе того что я выложил как принять данные и отправить единичные значения с датчиков? как я понимаю сигнал на ардуину я отправлю с браузера к примеру или с кнопки или с урла, тут я разберусь, а вот со скетчем пока туговато у меня, как там вывести не поток данных с датчика а только единичный его опрос?
Цитата:
Сообщение от mebitek
PHP код:
$serial = new phpSerial; $serial->deviceSet("/dev/ttyUSB0"); $serial->confBaudRate(57600); $serial->deviceOpen(); sleep(1); $read = $serial->readPort(); echo $read; $serial->deviceClose();
И вапще это всё не правильно. Делать нужно так:
PHP код:
<?php $filename = "/dev/ttyUSB0"; //порт $fp = fopen($filename, "r+"); //открыть порт
if ($fp) //если порт открыт { отправляем что-то в порт, на что ардуина нам ответит и получаем ответ, построчно или посимвольно или как угодно }
else echo "Не удалось открыть порт" ; fclose($fp); // порт закрыть ?>
И порт сконфигурировать прежде.
|
Что этот код что с классом смысл все тот же первая строка идет пустая, а как кстати прочитать данные по строчно в частности только 2 и 3 строку?
Дак порт вроде бы конфигурируется модулем "Драйвер USB Serial"