android и arduino nano

avgaz
Offline
Зарегистрирован: 23.09.2014

Добрый вечер, может кто нибудь посказать куда монтируется устройство arduino nano в андройде то есть tty* не как не могу понять. Цель получить данные с arduino nano через терминал в андройде, для дальнейшей их обработки в tasker, то есть нужно cat /dev/tty* но вот куда монтируется устройсво не как не найти.

Через специальные приграммы по типу serialMonitor данные с arduino nano получаю

itjunky
Offline
Зарегистрирован: 15.09.2014

В линуксах это обычно /dev/ttyACM0

Только работать с ним надо не через утилиту cat, а через серийный терминал типа minicom

avgaz
Offline
Зарегистрирован: 23.09.2014

ttyACM0 в обще отсутвует, при подключении arduino не каких новых tty* не появляется ((

Mikhail_Sakh
Offline
Зарегистрирован: 03.04.2014

Что за задумка? (если не секрет)

 

Mikhail_Sakh
Offline
Зарегистрирован: 03.04.2014

дубль(тырнет тупит)

avgaz
Offline
Зарегистрирован: 23.09.2014

Задумка простая есть arduino nano с датчиками температуры, все это должно находится удаленно в котельной, соеденено с планшетом по usb, планшет находится в сети и должен данные датчиков отправлять через wifi в сеть.  Вот как это сделать? Я вижу следующею схему командой шел читаю показания датчиков, эту команду пехаю в таскер и уже обрабатываю им её как угодно. Но все уперлось в то что не могу найти как через команду шел прочитать данные ардуины или хотя бы приложение которое будет читать ардуину и записывать данные в файл, а уж из файла таскером я прочитаю ))

Понимаю что все это кажется довольно странным, правильно делать напрямую через сетевой shield но увы таких не имеем

itjunky
Offline
Зарегистрирован: 15.09.2014

Меня терзают смутные сомнения в том, что планшет имеет внутри себя USB-HUB и может в себя подключать другие устройства.

avgaz
Offline
Зарегистрирован: 23.09.2014

Не с подключением arduino к планшету проблем нет, на маркете полно софта который выводит данные с ардуины, но вот кроме вывода этих данных более не чего, и тот же таскер не может видеть эти данные что бы их отправить.

itjunky
Offline
Зарегистрирован: 15.09.2014

В таком случае dmesg или /var/log/messages совершенно точно содержит записи о появлении нового переферийного устройства при втыкании ардуинки в планшет.

avgaz
Offline
Зарегистрирован: 23.09.2014

dmesg есть упоминания про usb как воткнешь но куда монтируется нет

01<6>[ 1774.089228] tegra-otg tegra-otg: SUSPEND --> HOST
02<6>[ 1774.109772] phy->instance = 0, phy->xcvr_setup_value = 57
03<4>[ 1774.109978] create_regulator: fixed_reg_en_avdd_hdmi_usb_a01: Failed to create debugfs directory
04<6>[ 1774.110258] tegra_usb_phy_open instance 0 MAX77663_IRQ_ACOK_RISING
05<6>[ 1774.114248] tegra-ehci tegra-ehci.0: Tegra EHCI Host Controller
06<6>[ 1774.114571] tegra-ehci tegra-ehci.0: new USB bus registered, assigned bus number 2
07<6>[ 1774.140720] tegra-ehci tegra-ehci.0: irq 52, io mem 0x7d000000
08<6>[ 1774.160620] tegra-ehci tegra-ehci.0: USB 2.0 started, EHCI 1.00
09<6>[ 1774.161730] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
10<6>[ 1774.163828] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
11<6>[ 1774.164110] usb usb2: Product: Tegra EHCI Host Controller
12<6>[ 1774.164587] usb usb2: Manufacturer: Linux 3.1.10-g1e42d16 ehci_hcd
13<6>[ 1774.164851] usb usb2: SerialNumber: tegra-ehci.0
14<6>[ 1774.172952] hub 2-0:1.0: USB hub found
15<6>[ 1774.173100] hub 2-0:1.0: 1 port detected
16<6>[ 1774.173827] Wake39 for irq=52
17<6>[ 1774.174042] Enabling wake39
18<6>[ 1774.500563] usb 2-1: new full speed USB device number 2 using tegra-ehci
19<6>[ 1774.554996] usb 2-1: New USB device found, idVendor=0403, idProduct=6001
20<6>[ 1774.555520] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
21<6>[ 1774.556020] usb 2-1: Product: FT232R USB UART
22<6>[ 1774.556291] usb 2-1: Manufacturer: FTDI
23<6>[ 1774.556558] usb 2-1: SerialNumber: A70051T6
24<6>[ 1774.690503] INOK=L
25<5>[ 1774.690881] smb347_charger: [cable_type_detect] Reg39 : 0x11
26<5>[ 1774.691141] smb347_charger: [cable_type_detect] Reg3F : 0x00
27<6>[ 1774.691252] USBIN=0

папка var в обще отсутвует и messages не смог найти поиском

itjunky
Offline
Зарегистрирован: 15.09.2014

Вот тут чел описывает похожий девайс. Попробуй так же погрепать tty, может глазами просто не заметил

http://stackoverflow.com/questions/22277441/serial-comm-connection-on-linux

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

На андроидном устройсве очень желателен Busybox. Команда head -n 1 /dev/ttyACM0  считает из порта одну строку,
команда echo " " > /dev/ttyACM0 отправит текст в кавычках и перевод строки в порт,
команда stty -F /dev/ttyACM0 9600 sane  выполнит настройку порта на стандартные параметры и скорость 9600 бод

avgaz
Offline
Зарегистрирован: 23.09.2014

itjunky пишет:

Вот тут чел описывает похожий девайс. Попробуй так же погрепать tty, может глазами просто не заметил

http://stackoverflow.com/questions/22277441/serial-comm-connection-on-linux

dmesg | grep-i tty

не чего не выдает. Да и сто раз перепроверял не создается не каких tty

NeiroN пишет:

На андроидном устройсве очень желателен Busybox. Команда head -n 1 /dev/ttyACM0  считает из порта одну строку,
команда echo " " > /dev/ttyACM0 отправит текст в кавычках и перевод строки в порт,
команда stty -F /dev/ttyACM0 9600 sane  выполнит настройку порта на стандартные параметры и скорость 9600 бод

Проблема вся в том что /dev/ttyACM0 нету и других не появляется при подключении

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

список всех консольных устройсв можно увидеть командой ls /sys/class/tty

а то что там dmesg пишет это не значит что ядро сопоставила какой то драйвер этому устройству

у меня на планшете при подключение PL2303 появляется ttyUSB0, вот и у вас тоже должно появится, драйвера обычно собраны в ядро, но могут быть подключенны внешними модулями(собранными для вашей версии ядра, что весьма непросто)

Если сразу не увидел - значит не будет работать. В андроиде также можно работать напрямую с USB, что и делает большинство програм(драйвером является приложение андроид и функции доступны только в нем)

avgaz
Offline
Зарегистрирован: 23.09.2014

NeiroN пишет:

список всех консольных устройсв можно увидеть командой ls /sys/class/tty

а то что там dmesg пишет это не значит что ядро сопоставила какой то драйвер этому устройству

у меня на планшете при подключение PL2303 появляется ttyUSB0, вот и у вас тоже должно появится, драйвера обычно собраны в ядро, но могут быть подключенны внешними модулями(собранными для вашей версии ядра, что весьма непросто)

Если сразу не увидел - значит не будет работать. В андроиде также можно работать напрямую с USB, что и делает большинство програм(драйвером является приложение андроид и функции доступны только в нем)

впрочем этой коммандой то же не чего не меняется с включеной ардуиной и без

01u0_a88@grouper:/ $ su
02root@grouper:/ # ls /sys/class/tty
03console
04ptmx
05tty
06ttyGS0
07ttyGS1
08ttyGS2
09ttyGS3
10ttyHS1
11ttyHS2
12ttyHS3
13ttyHS4
14ttyS0
15ttyS1
16ttyS2
17ttyS3
18root@grouper:/ # ls /sys/class/tty
19console
20ptmx
21tty
22ttyGS0
23ttyGS1
24ttyGS2
25ttyGS3
26ttyHS1
27ttyHS2
28ttyHS3
29ttyHS4
30ttyS0
31ttyS1
32ttyS2
33ttyS3
34root@grouper:/ #

То есть не получится командами терминала вывести данные? как же мне для таскера их получить?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Кстати FT232 мой планшет тоже не видит, а PL2303 спокойно - попробуйте другой чип RS232-USB

ttyS0 ... ttyS3 это хардварные порты, некоторые из них могут иметь контактные площадки на плате планшета.

avgaz
Offline
Зарегистрирован: 23.09.2014

да если и пробовать другое устройство ардуину то уж сразу с wifi shield что бы в обще не с таскером пусть wifi shield сам шлет данные на сервер, но увы в наличии только cararduino(nano) другое прибудет uno+TI CC3000 только через месяц, пока хотелось на nano сделать

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Либо найти драйвер(модуль ядра отвечающий за обработку нужных устройств) ft232.ko для вашей версии ядра и подключить его командой modprobe ft232.ko

или

http://www.ftdichip.com/Android.htm

правите исходник, запускаете в режим сервиса шлете куда вам надо из приложения андроид.

avgaz
Offline
Зарегистрирован: 23.09.2014

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

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

01#include <DallasTemperature.h>
02 
03DallasTemperature tempSensor;
04 
05void setup(void)
06{
07  Serial.begin(115200);
08  tempSensor.begin(12); //Вешаем Датчик на 12 порт
09
10 
11void loop(void)
12{
13    switch(tempSensor.isValid())
14    {
15        case 1:
16            Serial.println("Invalid CRC");
17            tempSensor.reset(); // сбросить девайс
18            return;
19        case 2:
20            Serial.println("Invalid device");
21            tempSensor.reset(); // сбросить девайс
22            return;
23    }
24  Serial.print(tempSensor.getTemperature()); //отправить температуру
25  Serial.println(); //перенос строки
26}

Как бы все нормально но в на андройде в терминале данные идут через строку то есть команда 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 то есть пустую строку

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Возможно проблема в том что println наверно посылает "\r\n" что линух считает двумя переводами строки. 

Попробуйте заменить на

1Serial.print("\n");

и для тесту лучше запустить cat /dev/ttyUSB0  в отдельном терминальном окне(обычное чтение без деления на строки).

itjunky
Offline
Зарегистрирован: 15.09.2014

Странный метод, слушать порт во внезапный момент времени, когда могут прилететь не все данные, а только кусок. Особенно часто это происходит, когда шлёшь по ком-порту не 4 символа, а строки из десятков символов. Вот тогда каждая инициализация соединения с портом и текст прилетает с середины строки. Так что я бы советовал повесить на модем отдельный обработчик на каком-нить питоне, который будет уже в лог или ещё куда передавать последние данные с порта.

avgaz
Offline
Зарегистрирован: 23.09.2014

itjunky пишет:
Странный метод, слушать порт во внезапный момент времени, когда могут прилететь не все данные, а только кусок. Особенно часто это происходит, когда шлёшь по ком-порту не 4 символа, а строки из десятков символов. Вот тогда каждая инициализация соединения с портом и текст прилетает с середины строки. Так что я бы советовал повесить на модем отдельный обработчик на каком-нить питоне, который будет уже в лог или ещё куда передавать последние данные с порта.

Да согласен, что это извращение, но изначально писал что нужно собрать из того что есть, а есть только nano и два датчика DS18B20. Все это мне нужно было в основном для тренировки и обучения самого себя.

Получилось следущее, подключено два датчика DS18B20 к arduino nano, сам ардуина по usb подключена к планшету. Приложение в планшете Tasker читает порт, отсылает данные на сайт, на сайте данные датчиков созраняются в mysql и выводятся на экран. Так же Tasker сохраняет данные в файл, далее в другом задании чиает их из файла и выводит на виджеты на экране. То есть по сути планшет играет роль роутера wifi по отсылке данных и в то же время как сенсорный экран для arduino и резервный источник питания. С учетом того что планшеты сейчас можно купить и по 1.5 рубля помему достойное универсальное пременение с ардуиной, можно и выводить данные и отсылать ардуине, главно что бы в ядре были модули для ардуины ))

itjunky
Offline
Зарегистрирован: 15.09.2014

avgaz пишет:

Да согласен, что это извращение, но изначально писал что нужно собрать из того что есть, а есть только nano и два датчика DS18B20. Все это мне нужно было в основном для тренировки и обучения самого себя.

Мне тоже тут многие сказали фу за использование ардуинки вместе с распберри, а стуация примерно как у тебя. Купил одну ардуинку, потом кучу датчиков, потом ещё и распберри подвернулась, благо идей миллион как это использовать. Вот я щас малинку юзаю примерно в тех же целях, в которых ты юзаеш планшет.

avgaz пишет:

Получилось следущее, подключено два датчика DS18B20 к arduino nano, сам ардуина по usb подключена к планшету. Приложение в планшете Tasker читает порт, отсылает данные на сайт, на сайте данные датчиков созраняются в mysql и выводятся на экран. Так же Tasker сохраняет данные в файл, далее в другом задании чиает их из файла и выводит на виджеты на экране. То есть по сути планшет играет роль роутера wifi по отсылке данных и в то же время как сенсорный экран для arduino и резервный источник питания. С учетом того что планшеты сейчас можно купить и по 1.5 рубля помему достойное универсальное пременение с ардуиной, можно и выводить данные и отсылать ардуине, главно что бы в ядре были модули для ардуины ))

Я бы на твоём месте взял в руки питон и нафигачил бы на pyserial логгер, который клал бы в базу приходящие данные.

avgaz
Offline
Зарегистрирован: 23.09.2014

itjunky пишет:

Я бы на твоём месте взял в руки питон и нафигачил бы на pyserial логгер, который клал бы в базу приходящие данные.

Ну делать на питоне это нужен комп, у меня же ардуина удаленно сейчас и комуникации к ней нет не какой, кроме что wifi сеть покрывает её, ну а планшет и с играл роль клиента wifi для ардурины. Так уже искитая едет уно с wifi шейлдом. 

Но тема с планшетом мне кажется очень практичной, даже если его просто повесить на стене и использовать как экран управления и вывода все йнформации, по сути с планшета можно и голосовое управление ардуиной организавать без какого либо гемороя и лишних датчиков, а ардуино повесить удаленно с тем же роутером теплинком.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Кстати питон работает и на андроиде(для тех кто в танке)  QPython

itjunky
Offline
Зарегистрирован: 15.09.2014

avgaz пишет:

просто повесить на стене и использовать как экран управления и вывода все йнформации, по сути с планшета можно и голосовое управление ардуиной организавать без какого либо гемороя и лишних датчиков, а ардуино повесить удаленно с тем же роутером теплинком.

Прикол в том, что кроме логгирования в базу, питон может так же выводить на экран всё что нужно, а при особом желании можно и голосовые команды им же распознавать и выполнять.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

itjunky пишет:

Прикол в том, что кроме логгирования в базу, питон может так же выводить на экран всё что нужно, а при особом желании можно и голосовые команды им же распознавать и выполнять.


Ой. А накой вообще питон и прочий зоопарк? Если при особом желании ардуино сама способна и выводить и распознавать. Или просто валяется на дороге питон, давайте его куда нибудь прикрутим?

avgaz
Offline
Зарегистрирован: 23.09.2014

Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

avgaz пишет:

Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей

гыыы самое смешное что все уложится в 15 баксов :) а вот планшет за 1500-2000 рублей это будет дружественый, графический и сенсорный ГЕМОРОЙ! ибо глючят они так, что ну его нафиг.

avgaz
Offline
Зарегистрирован: 23.09.2014

Puhlyaviy пишет:

avgaz пишет:

Как ардуина сама способна выводить данные кроме LCD? и восколько встанет сие удовольствие то есть дисплей, распознование голоса и тд и сколько это затребует усилий в реальзации? не проще планшет за 1500-2000р в результате полный комплект без дополнительных плат и гемороя в виде кодинга? врезультате получить дружественный, графический, сенсорный дисплей с кучей возможностей

гыыы самое смешное что все уложится в 15 баксов :) а вот планшет за 1500-2000 рублей это будет дружественый, графический и сенсорный ГЕМОРОЙ! ибо глючят они так, что ну его нафиг.

Если несложно приведите пример железа за 15$ что бы организовать удаленное упраление ардуиной с выводом данных? Ну может за 1500-2000р глючат планшеты фигзнает сейчас уже с неделю тестирую на nexus7 глюков нет, но конечно он стоит не 2000р :-) 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

погуглите сами.

ардуино + экранчик с тачем (шильд не нужен ни одному экранчику) + колонка с усилителем + микрофон с усилителем+ ну и что там вам для удаленого соединения больше нравится.

avgaz
Offline
Зарегистрирован: 23.09.2014

Puhlyaviy пишет:

погуглите сами.

ардуино + экранчик с тачем (шильд не нужен ни одному экранчику) + колонка с усилителем + микрофон с усилителем+ ну и что там вам для удаленого соединения больше нравится.

Нашёл, да действительно не очень дорогие, но опять же нужно тогда две ардуины что с экраном будет, что удаленно, два беспроводных модуля, ну и для голосового, как то все грамозко получается. Ну и самое главное куча знаний что бы сделать графический интерфейс и с него рулить, лично пока не представляю как это делается особенно с учётом что в ардуине памяти маловато. Тяжеловато все это будет новичку который только начал осваивать это дело. С планшетом все гораздо проще одна ардуина, wifi шейлд или роутер ни и скетч, ну и планшет с таскером где знаний программирования и не нужно совсем, только выставляй действия по событиям

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

avgaz пишет:

 где знаний программирования и не нужно совсем

вот с этого и нужно было начинать.. ЧТО ЗНАНИЙ НОЛЬ И УЧИТЬСЯ НЕХОЧУ!

itjunky
Offline
Зарегистрирован: 15.09.2014

Как на ардуинке, без специального шилда в три цены ардуинки, сделать распознавание речи?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

itjunky пишет:

Как на ардуинке, без специального шилда в три цены ардуинки, сделать распознавание речи?

загуглите :) вам понравится.

там правда все элементарно, если разобраться. но у меня нет желания разжовывать вам все, начиная с элементарного поиска в гуглях. :Р