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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Leon11t
Сообщения: 6
Зарегистрирован: Чт янв 24, 2013 4:44 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Leon11t » Пн фев 04, 2013 10:12 pm

За скетч конечно отдельное благодарство. Но еще к нему не хватает инструкции, для новичка, по настройке в самом мажордоме. У меня так и ничего не заработало. Не хватаем в настройках мажордома банального выбора КОМ-порта или ЮСБ или хотя б протокола передачи. Я уже перепробовал несколько SKADA систем и ни одна не понравилась. Да и настраивать их тоже геморно.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

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

Сообщение ser009 » Вт фев 05, 2013 6:09 am

Вот как нужно настроить систему для получения состояния D8
Скетч ArduinoCodeNoEthernet_v02_1.rar в начале темы
1.JPG
1.JPG (62.16 КБ) 14880 просмотров
paf
Сообщения: 56
Зарегистрирован: Ср янв 09, 2013 7:39 pm
Благодарил (а): 0
Поблагодарили: 2 раза

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

Сообщение paf » Чт фев 07, 2013 10:11 am

ser009, хочу решить задачку про GET - строку. Пожалуйста, дайте еще разок здесь полный текст строки вкл - выкл.
Я подумал, что это нужно решать строковыми функциями. Система же выдает стандартный запрос типа GET и бла-бла? И другого не надо. Потом без мороки выходить на Ethernet.
С уважением, Петр.
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

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

Сообщение ser009 » Чт фев 07, 2013 12:03 pm

GET /objects/?object=D8&op=m&m=status_d_input&status=1
И так:
D8 - вкладка "объект" Digital8 (8 порт на Arduino)
status_d_input - вкладка "метод" обработчик статуса для дискретных входов
status - вкладка "свойства"
1 - непосредственно сам статус 1 или 0
paf
Сообщения: 56
Зарегистрирован: Ср янв 09, 2013 7:39 pm
Благодарил (а): 0
Поблагодарили: 2 раза

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

Сообщение paf » Чт фев 07, 2013 5:18 pm

Нашел все же http://arduino.ru/forum/programmirovani ... -v-arduino темку. И подумалось, а если мы из системы стучимся в ардуину напрямую, может есть возможность толкнуть в сериал команду покороче? Пока из первого прочтения понял, что с длинной строкой и проблем поболее. В частности памяти отъест. Как бы для Меги это и не страшно, просто такие "бантики" http://www.ebay.com/itm/130835832238?ss ... 1497.l2649 дешевле будут... но нужно позаботится о байтиках. :)
С уважением, Петр.
Sail
Сообщения: 8
Зарегистрирован: Ср фев 27, 2013 9:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Sail » Чт фев 28, 2013 6:31 am

Приветствую всех участников проекта!
читаю форум некоторое время и так и нет полной картины как все таки запустить проект: компьютер с ардуино через USB.
с Majordomo на порт можно отправить данные без проблем а вот чтобы обратно нужна программа ArduinoGW http://smartliving.ru/Main/ArduinoDirect для мониторинга порта и отправки проекту данных c датчиков подключенных к ардуине.
Но как быть если у меня убунту?
MaksMS82
Сообщения: 422
Зарегистрирован: Ср сен 05, 2012 7:30 am
Откуда: Киров
Благодарил (а): 0
Поблагодарили: 70 раз
Контактная информация:

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

Сообщение MaksMS82 » Чт фев 28, 2013 6:47 am

Sail писал(а): Но как быть если у меня убунту?
тогда аналогично делаем как тут http://smartliving.ru/Main.DlinkHub ,
Sail
Сообщения: 8
Зарегистрирован: Ср фев 27, 2013 9:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Sail » Вс мар 10, 2013 9:03 pm

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

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

Сообщение Sail » Ср мар 13, 2013 5:15 pm

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

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

#!/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);
}
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

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

Сообщение PAV » Чт дек 19, 2013 12:48 pm

Подскажите, как в итоге считать на ардуине считать строку вида D9 C255 (9 пин значение 255) и заставить ардуинку эту команду выполнить?
Ответить