android и arduino nano
- Войдите на сайт для отправки комментариев
Втр, 23/09/2014 - 21:39
Добрый вечер, может кто нибудь посказать куда монтируется устройство arduino nano в андройде то есть tty* не как не могу понять. Цель получить данные с arduino nano через терминал в андройде, для дальнейшей их обработки в tasker, то есть нужно cat /dev/tty* но вот куда монтируется устройсво не как не найти.
Через специальные приграммы по типу serialMonitor данные с arduino nano получаю
В линуксах это обычно /dev/ttyACM0
Только работать с ним надо не через утилиту cat, а через серийный терминал типа minicom
ttyACM0 в обще отсутвует, при подключении arduino не каких новых tty* не появляется ((
Что за задумка? (если не секрет)
дубль(тырнет тупит)
Задумка простая есть arduino nano с датчиками температуры, все это должно находится удаленно в котельной, соеденено с планшетом по usb, планшет находится в сети и должен данные датчиков отправлять через wifi в сеть. Вот как это сделать? Я вижу следующею схему командой шел читаю показания датчиков, эту команду пехаю в таскер и уже обрабатываю им её как угодно. Но все уперлось в то что не могу найти как через команду шел прочитать данные ардуины или хотя бы приложение которое будет читать ардуину и записывать данные в файл, а уж из файла таскером я прочитаю ))
Понимаю что все это кажется довольно странным, правильно делать напрямую через сетевой shield но увы таких не имеем
Меня терзают смутные сомнения в том, что планшет имеет внутри себя USB-HUB и может в себя подключать другие устройства.
Не с подключением arduino к планшету проблем нет, на маркете полно софта который выводит данные с ардуины, но вот кроме вывода этих данных более не чего, и тот же таскер не может видеть эти данные что бы их отправить.
В таком случае dmesg или /var/log/messages совершенно точно содержит записи о появлении нового переферийного устройства при втыкании ардуинки в планшет.
dmesg есть упоминания про usb как воткнешь но куда монтируется нет
папка var в обще отсутвует и messages не смог найти поиском
Вот тут чел описывает похожий девайс. Попробуй так же погрепать tty, может глазами просто не заметил
http://stackoverflow.com/questions/22277441/serial-comm-connection-on-linux
На андроидном устройсве очень желателен Busybox. Команда head -n 1 /dev/ttyACM0 считает из порта одну строку,
команда echo " " > /dev/ttyACM0 отправит текст в кавычках и перевод строки в порт,
команда stty -F /dev/ttyACM0 9600 sane выполнит настройку порта на стандартные параметры и скорость 9600 бод
Вот тут чел описывает похожий девайс. Попробуй так же погрепать tty, может глазами просто не заметил
http://stackoverflow.com/questions/22277441/serial-comm-connection-on-linux
dmesg | grep-i tty
не чего не выдает. Да и сто раз перепроверял не создается не каких tty
На андроидном устройсве очень желателен Busybox. Команда head -n 1 /dev/ttyACM0 считает из порта одну строку,
команда echo " " > /dev/ttyACM0 отправит текст в кавычках и перевод строки в порт,
команда stty -F /dev/ttyACM0 9600 sane выполнит настройку порта на стандартные параметры и скорость 9600 бод
Проблема вся в том что /dev/ttyACM0 нету и других не появляется при подключении
список всех консольных устройсв можно увидеть командой ls /sys/class/tty
а то что там dmesg пишет это не значит что ядро сопоставила какой то драйвер этому устройству
у меня на планшете при подключение PL2303 появляется ttyUSB0, вот и у вас тоже должно появится, драйвера обычно собраны в ядро, но могут быть подключенны внешними модулями(собранными для вашей версии ядра, что весьма непросто)
Если сразу не увидел - значит не будет работать. В андроиде также можно работать напрямую с USB, что и делает большинство програм(драйвером является приложение андроид и функции доступны только в нем)
список всех консольных устройсв можно увидеть командой ls /sys/class/tty
а то что там dmesg пишет это не значит что ядро сопоставила какой то драйвер этому устройству
у меня на планшете при подключение PL2303 появляется ttyUSB0, вот и у вас тоже должно появится, драйвера обычно собраны в ядро, но могут быть подключенны внешними модулями(собранными для вашей версии ядра, что весьма непросто)
Если сразу не увидел - значит не будет работать. В андроиде также можно работать напрямую с USB, что и делает большинство програм(драйвером является приложение андроид и функции доступны только в нем)
впрочем этой коммандой то же не чего не меняется с включеной ардуиной и без
То есть не получится командами терминала вывести данные? как же мне для таскера их получить?
Кстати FT232 мой планшет тоже не видит, а PL2303 спокойно - попробуйте другой чип RS232-USB
ttyS0 ... ttyS3 это хардварные порты, некоторые из них могут иметь контактные площадки на плате планшета.
да если и пробовать другое устройство ардуину то уж сразу с wifi shield что бы в обще не с таскером пусть wifi shield сам шлет данные на сервер, но увы в наличии только cararduino(nano) другое прибудет uno+TI CC3000 только через месяц, пока хотелось на nano сделать
Либо найти драйвер(модуль ядра отвечающий за обработку нужных устройств) ft232.ko для вашей версии ядра и подключить его командой modprobe ft232.ko
или
http://www.ftdichip.com/Android.htm
правите исходник, запускаете в режим сервиса шлете куда вам надо из приложения андроид.
В общем нашол прошивку для планшета в которой устройство теперь определяется как ttyUSB0
но столкнулся с проблемай использую вот такой скетч для вывода температуры с датчика
Как бы все нормально но в на андройде в терминале данные идут через строку то есть команда head /dev/ttyUSB0 выдает к примеру
23.5
23.5
23.5
А нужно что бы не было пустой строки
23.5
23.5
пробовал убрать из скетча
Serial.println();
Serial.println();
Serial.println();
Serial.println() но тогда андройд в обще не получает данные ((в прочем проблема в том что head -n1 /dev/ttyUSB0 запущенная через таскер получает 0 то есть пустую строку
Возможно проблема в том что println наверно посылает "\r\n" что линух считает двумя переводами строки.
Попробуйте заменить на
и для тесту лучше запустить cat /dev/ttyUSB0 в отдельном терминальном окне(обычное чтение без деления на строки).
Странный метод, слушать порт во внезапный момент времени, когда могут прилететь не все данные, а только кусок. Особенно часто это происходит, когда шлёшь по ком-порту не 4 символа, а строки из десятков символов. Вот тогда каждая инициализация соединения с портом и текст прилетает с середины строки. Так что я бы советовал повесить на модем отдельный обработчик на каком-нить питоне, который будет уже в лог или ещё куда передавать последние данные с порта.
Да согласен, что это извращение, но изначально писал что нужно собрать из того что есть, а есть только nano и два датчика DS18B20. Все это мне нужно было в основном для тренировки и обучения самого себя.
Получилось следущее, подключено два датчика DS18B20 к arduino nano, сам ардуина по usb подключена к планшету. Приложение в планшете Tasker читает порт, отсылает данные на сайт, на сайте данные датчиков созраняются в mysql и выводятся на экран. Так же Tasker сохраняет данные в файл, далее в другом задании чиает их из файла и выводит на виджеты на экране. То есть по сути планшет играет роль роутера wifi по отсылке данных и в то же время как сенсорный экран для arduino и резервный источник питания. С учетом того что планшеты сейчас можно купить и по 1.5 рубля помему достойное универсальное пременение с ардуиной, можно и выводить данные и отсылать ардуине, главно что бы в ядре были модули для ардуины ))
Да согласен, что это извращение, но изначально писал что нужно собрать из того что есть, а есть только nano и два датчика DS18B20. Все это мне нужно было в основном для тренировки и обучения самого себя.
Мне тоже тут многие сказали фу за использование ардуинки вместе с распберри, а стуация примерно как у тебя. Купил одну ардуинку, потом кучу датчиков, потом ещё и распберри подвернулась, благо идей миллион как это использовать. Вот я щас малинку юзаю примерно в тех же целях, в которых ты юзаеш планшет.
Получилось следущее, подключено два датчика DS18B20 к arduino nano, сам ардуина по usb подключена к планшету. Приложение в планшете Tasker читает порт, отсылает данные на сайт, на сайте данные датчиков созраняются в mysql и выводятся на экран. Так же Tasker сохраняет данные в файл, далее в другом задании чиает их из файла и выводит на виджеты на экране. То есть по сути планшет играет роль роутера wifi по отсылке данных и в то же время как сенсорный экран для arduino и резервный источник питания. С учетом того что планшеты сейчас можно купить и по 1.5 рубля помему достойное универсальное пременение с ардуиной, можно и выводить данные и отсылать ардуине, главно что бы в ядре были модули для ардуины ))
Я бы на твоём месте взял в руки питон и нафигачил бы на pyserial логгер, который клал бы в базу приходящие данные.
Я бы на твоём месте взял в руки питон и нафигачил бы на pyserial логгер, который клал бы в базу приходящие данные.
Ну делать на питоне это нужен комп, у меня же ардуина удаленно сейчас и комуникации к ней нет не какой, кроме что wifi сеть покрывает её, ну а планшет и с играл роль клиента wifi для ардурины. Так уже искитая едет уно с wifi шейлдом.
Но тема с планшетом мне кажется очень практичной, даже если его просто повесить на стене и использовать как экран управления и вывода все йнформации, по сути с планшета можно и голосовое управление ардуиной организавать без какого либо гемороя и лишних датчиков, а ардуино повесить удаленно с тем же роутером теплинком.
Кстати питон работает и на андроиде(для тех кто в танке) QPython
просто повесить на стене и использовать как экран управления и вывода все йнформации, по сути с планшета можно и голосовое управление ардуиной организавать без какого либо гемороя и лишних датчиков, а ардуино повесить удаленно с тем же роутером теплинком.
Прикол в том, что кроме логгирования в базу, питон может так же выводить на экран всё что нужно, а при особом желании можно и голосовые команды им же распознавать и выполнять.
Прикол в том, что кроме логгирования в базу, питон может так же выводить на экран всё что нужно, а при особом желании можно и голосовые команды им же распознавать и выполнять.
Ой. А накой вообще питон и прочий зоопарк? Если при особом желании ардуино сама способна и выводить и распознавать. Или просто валяется на дороге питон, давайте его куда нибудь прикрутим?
Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей
Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей
гыыы самое смешное что все уложится в 15 баксов :) а вот планшет за 1500-2000 рублей это будет дружественый, графический и сенсорный ГЕМОРОЙ! ибо глючят они так, что ну его нафиг.
Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей
гыыы самое смешное что все уложится в 15 баксов :) а вот планшет за 1500-2000 рублей это будет дружественый, графический и сенсорный ГЕМОРОЙ! ибо глючят они так, что ну его нафиг.
Если несложно приведите пример железа за 15$ что бы организовать удаленное упраление ардуиной с выводом данных? Ну может за 1500-2000р глючат планшеты фигзнает сейчас уже с неделю тестирую на nexus7 глюков нет, но конечно он стоит не 2000р :-)
погуглите сами.
ардуино + экранчик с тачем (шильд не нужен ни одному экранчику) + колонка с усилителем + микрофон с усилителем+ ну и что там вам для удаленого соединения больше нравится.
погуглите сами.
ардуино + экранчик с тачем (шильд не нужен ни одному экранчику) + колонка с усилителем + микрофон с усилителем+ ну и что там вам для удаленого соединения больше нравится.
Нашёл, да действительно не очень дорогие, но опять же нужно тогда две ардуины что с экраном будет, что удаленно, два беспроводных модуля, ну и для голосового, как то все грамозко получается. Ну и самое главное куча знаний что бы сделать графический интерфейс и с него рулить, лично пока не представляю как это делается особенно с учётом что в ардуине памяти маловато. Тяжеловато все это будет новичку который только начал осваивать это дело. С планшетом все гораздо проще одна ардуина, wifi шейлд или роутер ни и скетч, ну и планшет с таскером где знаний программирования и не нужно совсем, только выставляй действия по событиям
где знаний программирования и не нужно совсем
вот с этого и нужно было начинать.. ЧТО ЗНАНИЙ НОЛЬ И УЧИТЬСЯ НЕХОЧУ!
Как на ардуинке, без специального шилда в три цены ардуинки, сделать распознавание речи?
Как на ардуинке, без специального шилда в три цены ардуинки, сделать распознавание речи?
загуглите :) вам понравится.
там правда все элементарно, если разобраться. но у меня нет желания разжовывать вам все, начиная с элементарного поиска в гуглях. :Р