Получение данных из Arduino в MojorDoMo
Модератор: immortal
Получение данных из Arduino в MojorDoMo
Люди добрые, ну объясните пожалуйста.
Есть Arduino с Ethernet Shieldом и сенсором температуры. Есть MojorDoMo.
Как сделать, что бы MojorDoMo получала температуры из Arduino?
PS. Вот интересный проект, но не хватает примеров реализации.
Есть Arduino с Ethernet Shieldом и сенсором температуры. Есть MojorDoMo.
Как сделать, что бы MojorDoMo получала температуры из Arduino?
PS. Вот интересный проект, но не хватает примеров реализации.
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: Получение данных из Arduino в MojorDoMo
Если кратко то...
Majordomo
Создать класс, объект с методом и свойства класса. Описание тут: http://smartliving.ru/Main/BasicsObjects
Arduino:
Получить данные с датчика и вызвать метод класса. Обсуждение с примерами. http://smartliving.ru/forum/viewtopic.p ... 6&start=10
Хороший пример с комментами тут: https://github.com/sochkasov/majordomo- ... roller.ino
Majordomo
Создать класс, объект с методом и свойства класса. Описание тут: http://smartliving.ru/Main/BasicsObjects
Arduino:
Получить данные с датчика и вызвать метод класса. Обсуждение с примерами. http://smartliving.ru/forum/viewtopic.p ... 6&start=10
Хороший пример с комментами тут: https://github.com/sochkasov/majordomo- ... roller.ino
- За это сообщение автора LutsenkoDenis поблагодарили (всего 2):
- tsember (Вс фев 15, 2015 2:24 am) • theroin (Пн мар 15, 2021 8:07 am)
- Рейтинг: 2.33%
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Получение данных из Arduino в MojorDoMo
Вот ещё в копилку -- подключение Arduino без ethernet-shield-а и передача данных в MajorDoMo: http://smartliving.ru/Main/ArduinoDirect
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Получение данных из Arduino в MojorDoMo
Огромное спасибо. Получилось.LutsenkoDenis писал(а):Если кратко то...
Majordomo
Создать класс, объект с методом и свойства класса. Описание тут: http://smartliving.ru/Main/BasicsObjects
Arduino:
Получить данные с датчика и вызвать метод класса. Обсуждение с примерами. http://smartliving.ru/forum/viewtopic.p ... 6&start=10
Хороший пример с комментами тут: https://github.com/sochkasov/majordomo- ... roller.ino
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Получение данных из Arduino в MojorDoMo
http://smartliving.ru/Main/ArduinoDirect - тут в статье описывается возможность только для Windows систем, а как сделать для Ubuntu?
Пока использую библиотеку php_serial.class (файл php_serial.class.php сложил в папку /www/lib).
PHP скрипт:работает, т.е. выдает первые строки при инициализации Arduino и завершает работу.
Как сделать чтобы он мог постоянно висеть в памяти и мониторить все что выдает arduino в serial?
Пока использую библиотеку php_serial.class (файл php_serial.class.php сложил в папку /www/lib).
PHP скрипт:
Код: Выделить всё
<?php
include "./lib/php_serial.class.php";
$serial = new phpSerial;
//Путь к Arduino
$serial->deviceSet("/dev/ttyACM0");
//Это стандарт
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->deviceOpen();
sleep (4);
//Читаем ответ Arduino
$read = $serial->readPort();
echo "Data: " . $read . "\n";
?>
Как сделать чтобы он мог постоянно висеть в памяти и мониторить все что выдает arduino в serial?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Получение данных из Arduino в MojorDoMo
Код: Выделить всё
//Читаем ответ Arduino
$read = $serial->readPort();
echo "Data: " . $read . "\n";
Код: Выделить всё
//Читаем ответ Arduino
while(1) {
$read = $serial->readPort();
echo "Data: " . $read . "\n";
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Получение данных из Arduino в MojorDoMo
Спасибо, действительно работает. Однако процессор загружается с обычных 18% до 99,4%.
Поставил задержку в 50 миллисекунд, вроде полегчало, теперь загрузка 19%:Или оптимальней будет попробовать интегрировать этот кусок в главный цикл cycle.php? Как это безболезненно сделать?
Поставил задержку в 50 миллисекунд, вроде полегчало, теперь загрузка 19%:
Код: Выделить всё
<?php
include "./lib/php_serial.class.php";
$serial = new phpSerial;
//Путь к Arduino
$serial->deviceSet("/dev/ttyACM0");
//Это стандарт
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->deviceOpen();
//Читаем ответ Arduino
while(1) {
usleep(50000); //Задержка 50 миллисекунд
$read = $serial->readPort();
if ($read<>"") {
echo "Data: " . $read . "\n";
}
}
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Получение данных из Arduino в MojorDoMo
dmw писал(а):Спасибо, действительно работает. Однако процессор загружается с обычных 18% до 99,4%.
Поставил задержку в 50 миллисекунд, вроде полегчало, теперь загрузка 19%:Или оптимальней будет попробовать интегрировать этот кусок в главный цикл cycle.php? Как это безболезненно сделать?Код: Выделить всё
<?php include "./lib/php_serial.class.php"; $serial = new phpSerial; //Путь к Arduino $serial->deviceSet("/dev/ttyACM0"); //Это стандарт $serial->confBaudRate(9600); $serial->confParity("none"); $serial->confCharacterLength(8); $serial->confStopBits(1); $serial->confFlowControl("none"); $serial->deviceOpen(); //Читаем ответ Arduino while(1) { usleep(50000); //Задержка 50 миллисекунд $read = $serial->readPort(); if ($read<>"") { echo "Data: " . $read . "\n"; } }
Всё правильно, с задержкой оно, конечно, меньше нагружать будет.
Интегрировать с запуском главного цикла очень легко -- просто положить этот скрипт в папку ./scripts/ и назвать cycle_arduino.php (название можно любое, главное что б с cycle_ начиналось). В таком случае, основной цикл запустит этот скрипт паралельно с остальными циклами сразу после проверки того, что база данных доступна.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Re: Получение данных из Arduino в MojorDoMo
Доброго времени суток, прочитал всю ветку, но так и не понял, как настроить MDM для получения данных о температуре и управления реле.
Orange pi pc (Установлен MDM Diet)
Arduino UNO (Прошивка https://github.com/sochkasov/majordomo- ... rWebServer)
Через веб-интерфейс вижу температуру.
Заранее спасибо...
Orange pi pc (Установлен MDM Diet)
Arduino UNO (Прошивка https://github.com/sochkasov/majordomo- ... rWebServer)
Через веб-интерфейс вижу температуру.
Заранее спасибо...
Re: Получение данных из Arduino в MojorDoMo
kabir, у меня аналогичная проблема...
Но я так понял, что на форуме все заняты "высокими материями" и не очень готовы помогать новичкам
Но я так понял, что на форуме все заняты "высокими материями" и не очень готовы помогать новичкам