Страница 2 из 5

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Пн фев 04, 2013 10:12 pm
Leon11t
За скетч конечно отдельное благодарство. Но еще к нему не хватает инструкции, для новичка, по настройке в самом мажордоме. У меня так и ничего не заработало. Не хватаем в настройках мажордома банального выбора КОМ-порта или ЮСБ или хотя б протокола передачи. Я уже перепробовал несколько SKADA систем и ни одна не понравилась. Да и настраивать их тоже геморно.

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Вт фев 05, 2013 6:09 am
ser009
Вот как нужно настроить систему для получения состояния D8
Скетч ArduinoCodeNoEthernet_v02_1.rar в начале темы
1.JPG
1.JPG (62.16 КБ) 15072 просмотра

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт фев 07, 2013 10:11 am
paf
ser009, хочу решить задачку про GET - строку. Пожалуйста, дайте еще разок здесь полный текст строки вкл - выкл.
Я подумал, что это нужно решать строковыми функциями. Система же выдает стандартный запрос типа GET и бла-бла? И другого не надо. Потом без мороки выходить на Ethernet.

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт фев 07, 2013 12:03 pm
ser009
GET /objects/?object=D8&op=m&m=status_d_input&status=1
И так:
D8 - вкладка "объект" Digital8 (8 порт на Arduino)
status_d_input - вкладка "метод" обработчик статуса для дискретных входов
status - вкладка "свойства"
1 - непосредственно сам статус 1 или 0

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт фев 07, 2013 5:18 pm
paf
Нашел все же http://arduino.ru/forum/programmirovani ... -v-arduino темку. И подумалось, а если мы из системы стучимся в ардуину напрямую, может есть возможность толкнуть в сериал команду покороче? Пока из первого прочтения понял, что с длинной строкой и проблем поболее. В частности памяти отъест. Как бы для Меги это и не страшно, просто такие "бантики" http://www.ebay.com/itm/130835832238?ss ... 1497.l2649 дешевле будут... но нужно позаботится о байтиках. :)

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт фев 28, 2013 6:31 am
Sail
Приветствую всех участников проекта!
читаю форум некоторое время и так и нет полной картины как все таки запустить проект: компьютер с ардуино через USB.
с Majordomo на порт можно отправить данные без проблем а вот чтобы обратно нужна программа ArduinoGW http://smartliving.ru/Main/ArduinoDirect для мониторинга порта и отправки проекту данных c датчиков подключенных к ардуине.
Но как быть если у меня убунту?

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт фев 28, 2013 6:47 am
MaksMS82
Sail писал(а): Но как быть если у меня убунту?
тогда аналогично делаем как тут http://smartliving.ru/Main.DlinkHub ,

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Вс мар 10, 2013 9:03 pm
Sail
Спасибо получилось! считал показание датчиков ds1820 и показал их в системе, реализовал отправку команды на включение светодиода как описывалось http://smartliving.ru/forum/viewtopic.php?f=4&t=524
но как заставить работать все вместе? т.к. если ком порт открыт и идет его чтение в цикле баш скриптом, то светодиод не включается.
появилась идея, в мажордоме сделать таймер секунд на 10-30 и опрашивать ардуино (пустой командой либо командой на включение исполнительных механизмов), которое в свою очередь будет отправлять ответ с показаниями датчиков.
Хотя не уверен что это надежно.

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Ср мар 13, 2013 5:15 pm
Sail
В общем получилось реализовать отправку команд и чтение показания датчиков одновременно через файл

В баше идет постоянное чтение датчиков и отправка команд в ардуино если файлик не пустой :

#!/bin/sh

ARDUINO_PORT=/dev/ttyACM0
stty -F $ARDUINO_PORT raw speed 9600
while read LINE; do
date
echo "$LINE"
stR=$LINE
len=`expr length $stR` # длинна строки
pos=`expr index $stR :` # координата первого двоеточия
pos=`expr $pos + 1` # увеличить на единицу
st2=`expr substr $stR $pos $len` # изъятие строки после двоеточия
len=`expr length $st2` # длинна изъятой строки
pos=`expr index $st2 :` # координата второго двоеточия
pos=`expr $pos - 1` # для изъятия без : уменьщить на единицу
st3=`expr substr $st2 1 $pos`
#echo название датчика $st3
pos=`expr $pos + 2` # для изъятия без : увеличить на 2
st4=`expr substr $st2 $pos $len`
#echo данные датчика $st4.
URL='http://localhost/objects/?object='$st3' ... temp='$st4
wget -q -T 5 -O - $URL
as=`wc -l /home/as/A | grep -o '[0-9]*'`
if [ "$as" != 0 ]; then #проверка наличие строк в файле
while read LINE; do
echo "$LINE"
as=$LINE
echo $as > $ARDUINO_PORT
done </home/as/A
cp /dev/null /home/as/A # очистка файла
# echo 'очищен '
fi
#echo A>$ARDUINO_PORT.
done < $ARDUINO_PORT

вот Код кнопки :

if ($params['VALUE']) {
$fp =fopen("/home/as/A", "a");
$si="A\n";
fwrite($fp, $si);
fclose($fp);
say("Светодиод включен",5);
} else {
$fp =fopen("/home/as/A", "a");
$si="B\n";
fwrite($fp, $si);
fclose($fp);
say("Светодиод выключен",5);
}

Re: Скетч Arduino + USB обсуждаем, пишем, тестируем

Добавлено: Чт дек 19, 2013 12:48 pm
PAV
Подскажите, как в итоге считать на ардуине считать строку вида D9 C255 (9 пин значение 255) и заставить ардуинку эту команду выполнить?