Aktualności:

Nowy polski projekt BOINC - Universe@Home

Menu główne

Testy Rad@Home na android'a

Zaczęty przez matszpk, 28 Sierpień 2011, 11:43

Szopler

Niestety przetwornica ma to do siebie, że na rozruchu potrzebuje trochę prądu - pracuje na pełnej mocy do momentu naładowania kondensatora 1µF do napięcia 400V...
Można spróbować napisać w firmware aby przetwornica po podłączeniu układu do USB była wyłączona (procek wystawia logiczną 1 na pin PB0). Dopiero po jakimś czasie (po naładowaniu się kondensatorów na płytce) włącza przetwornicę. Wtedy pociągnie potrzebną energię z kondensatorów i jest szansa że całość zadziała... choć może być też konieczna przeróbka części związanej ze sterowaniem przetwornicy... się okaże

matszpk

krzyszp jeśli chodzi o katalog projektu to szukaj w pamięci wewnętrznej telefonu (np.: za pomocą shella, jeśli masz roota). myślę, że to nie będzie potrzebne  :). mozesz odpalic aplikację z shella jako standalone z opóźnieniem w tle:
(sleep 10; ./program)&
wyciągając kabel potem.

krzyszp

Cytat: matszpk w 12 Wrzesień 2011, 18:17
krzyszp jeśli chodzi o katalog projektu to szukaj w pamięci wewnętrznej telefonu (np.: za pomocą shella, jeśli masz roota). myślę, że to nie będzie potrzebne  :). mozesz odpalic aplikację z shella jako standalone z opóźnieniem w tle:
(sleep 10; ./program)&
wyciągając kabel potem.
Nie rozumiesz...
Aplikacja pod stronie NativeBOINC'a działa, ale nie może uzyskać połączenia z czujnikiem... (Mimo wyjętego sterownika przetwornicy, co daje minimalny pobór mocy czujnika). Wskazuje to więc na problem programowy po stronie Androida...

Ps. Pisałem, że przeszukałem telefon (mam root'a) i nie mogę znaleźć w drzewie katalogów boinc'a, przez co nie mogę odpalić programu w trybie standalone...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

mozliwe, że masz racje (problem programowy).jednak do odpalenia aplikacji w standalone nie potrzebujesz boinca (wrzucasz i odpalasz aplikacje np.: w katalogu /data/local/tmp). jutro przygotuje specjalną wersja z debugowaniem zdalnym i zobaczymy oraz opublikuje boinc sdk. na razie

kotfryc

Dziś poleciał do Krzyśka specjalnie spreparowany kabel który umożliwia zasilenie czujnika z zewnętrznego źródła, mam nadzieję że prace teraz ruszą :)

matszpk

Ok. dajcie mi trochę czasu (ok. tydzień). akurat intensywnie pracuje nad inną aplikacją boinc'a (milkyway). mam też w planach udostępnienie boinc-api i wydanie nowej wersji managera (z trybem developer mode, dzięki któremu będzie można instalowac wlasne aplikacje boinca). szczególy planuje ujawnic dopiero za tydzien/2 tygodnie (musze to jeszcze przemyslec)

Troll81


krzyszp

UWAGA!!!
Dzisiaj doszedł do mnie kabel od naszego kolegi Kotfryc'a ( :respect:) z zewnętrznym (bateryjnym) zasilaniem, który... DZIAŁA.

W związku z tym, istnieje bardzo duża opcja, że nasz czujnik zadziała z telefonem Samsung Galaxy S2, potrzeba tylko kilku poprawek:

1. Wyszukiwane urządzenie teraz ma nazwę "radioactiveathome.org GRS" - więc matszpk - możesz to zmienić?
2. Poproszę o bardzo krótkie próbki, zapisujące jak najwięcej informacji do stderr.txt.

Panowie, szacun wielki dla Kotfryc'a i matszpk'a za zajęcie się tematem!

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Szopler


krzyszp

Cytat: Szopler w 27 Październik 2011, 17:16
Ad.2 - Włącz debug ;)
Włączyłem:
<core_client_version>6.12.38</core_client_version>
<![CDATA[
<message>
aborted by user
</message>
<stderr_txt>
Radac $Rev: 120 $ starting...
error finding DataStore: The specified device was not found

</stderr_txt>
]]>

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Troll81

Kotfryc i matszpk szacun macie mój wielki i jak spotkam to od piwa się nie wywiniecie :D

matszpk

cześć. jutro wznawiam pracę nad rad@home (i to na pewno). na pierwszy ogien zmienię nazwę i opublikuje boinc-api. włączę też debugowanie. na razie trochę myślę nad milkyway@home. w ten piątek już zaczynamy :)

matszpk

już udostępniłem boinc-api dla androida. jest pod katalogem boinc_api (http://krzyszp.info/matszpk/boinc_api/).

krzyszp

Jutro będę kombinował, ale zawczasu mi powiedz, jakie pliki (i gdzie) aplikacja zapisuje, to mi pomoże...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

#54
Podczas startu klient w logach zapisuje ścieżkę gdzie został uruchomiony. Przejdz zakładki "Messages" w managerze i znajdz wpis "Data directory: ...". Tam jest podana ścieżka do katalogu boinc'a. tam się znajdują pliki aplikacji i itp.
Szukaj w tego w nie pamięci SD, tylko to jest w wewnętrznej pamięci telefonu. możesz przeglądać pliki w tej pamięci z android shella. Możesz przejść do katalogu boinca (jeśli masz zrootowany telefon) za pomocą android shella (polecenia "adb shell").
Aplikacja typowo zapisuje pliki stderr.txt, boinc_lockfile, checkpoint, typowo w katalogu w którym działa (typowo gdy działa z poziomu klienta jest to katalog_boinca/slots/XX).
Ściągnij sobie program adb albo android-sdk (tam jest program adb). pamietaj o włączeniu debugowania.
Normalnie powinienieś w android shell'u przejść do katalogu /data/data/sk.boinc.nativeboinc/files/. tam jest klient i jego pliki.
PS.: możesz odpalić aplikację jako standalone z poziomu android shella (tak jak pisałem wcześniej).

kotfryc

Cytat: krzyszp w 27 Październik 2011, 16:42
UWAGA!!!
Dzisiaj doszedł do mnie kabel od naszego kolegi Kotfryc'a ( :respect:) z zewnętrznym (bateryjnym) zasilaniem, który... DZIAŁA.

Krzyś raczej bez obaw możesz podłączyć w ten sposób zarówno czujkę v1 jak i v2. Do zasilania nie trzeba używać baterii 9v, to może być dowolne źródło w zakresie 7-17v jeśli dobrze pamiętam. Czyli można odciąć kable od uchwytu do baterii, zgolić i skręcić na jakimś zasilaczu i będzie OK. Układ jest zabezpieczony przed odwrotną polaryzacją specjalnie dla Ciebie, jakbyś źle coś podłączył  ;) Więc nie musisz się obawiać :) Czekam cały czas na paczkę z PL, już chyba 5 tydzień  :sick:  mam pomysł jak zrobić bardzo wygodne przejściówki dla czujki żeby można było podłączyć do telefonu+baterii - taki dodatkowy moduł :D . Cenowo powinno to wychodzić bardzo korzystnie, więc może parę osób mogło by być zainteresowanych jeśli ta aplikacja powstanie.

Cytat: Troll81 w 27 Październik 2011, 20:23
Kotfryc i matszpk szacun macie mój wielki i jak spotkam to od piwa się nie wywiniecie :D
Dzięki Troll  :parrrty: , ale mówiąc szczerze to ta przejściówka zajęła mi 15min nie licząc pójścia na pocztę, więc postaw drugie piwo matszpk, który na pewno dużo więcej wysiłku w to włożył.  :)

matszpk

dzięki. moja praca w ten projekt dopiero się zaczyna (rad@home). jeśli macie możliwość, możecie skorzystać z mojego boinc-api i skompilować aplikację.
do krzyszp: do przeglądania katalogów wykorzystaj android shell'a (adb shell).
czieszę się, że interesujecie nadal moim projektem :).

krzyszp

Ok, dostałem się do shella, znalazłem odpowiedni folder (co ciekawe, Astro go nie wyświetla, mimo zrotowania telefonu i zaznaczenia wyświetlania ukrytych plików).
Koniec końców, dostałem się do danych, niestety soft dalej szuka "Datastore" zamiast "radioactiveathome.org GRS" - możesz przekompilować i wrzucić?

Chętnie bym sam pokombinował, niestety kompletnie nie wiem jak skonfigurować sobie środowisko, żeby bawić się boinc-api dla andka (na Windowsie).

Dzięki za Twoją robotę :)

Ps. Fajnie by było skorzystać z GPS w aplikacji na andku...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

#58
dobrze  :). file managery mogą nie miec po prostu uprawnień (roota)  ;). ściągnij sobie np.: terminal emulator (w android markecie jest). będziesz mógł nim uruchamiać programy i boinca. zalecam jednak uruchamianie jako samodzielnej aplikacji (np.: w katalogu /data/local/tmp). skompiluje go i umieszczę nową wersję.

PS.:już jest na ftp  :).
PS2: z poziomu managera wybierz opcje Update binaries w 'Manage client'.

matszpk

akurat dodawałam milkyway@home do obsługi i powinienes ponownie zrobic update aplikacji. sorry za niedogodności.

krzyszp

Niestety, nadal się nie komunikuje z czujnikiem, mimo wyszukiwania już prawidłowej nazwy...

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

ok. jutro wprowadzę debug do libusb i do aplikacji (dokładnie zobaczymy na czym polega problem).

krzyszp

Może dałbyś radę zrobić apkę z GUI (nie boincową) wyświetlającą komplet danych na ekran?

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

teoretycznie jest to możliwe (jednak będzie to trochę czasu kosztować). możesz sobie i mi ułatwić pracę instalując terminal emulatora (jest w markecie). pozwala on uruchomianie programów z poziomu shella na telefonie bez podłaczania się przez shell (taki terminal na telefonie). pamiętaj żeby mu dac uprawnienia roota (z np.:za pomocą SuperUser). jesli w ogole nie będzie możliwe to zrobie taką appkę. sproboj zainstalowac terminal emulator.

krzyszp

Mam terminal emulator zainstalowany (superusera też), kłopot w tym, że nie mam tam żadnego edytora tekstowego i muszę za każdym razem stderr kopiować i zmieniać ręcznie uprawnienia, żeby odczytać.

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Troll81


krzyszp


Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

już włożyłem wersję debugowanem libusb. będą się pojawiać nowe komunikaty w stderr.txt. w razie czego udostepnie kody libusb z debugowaniem.

krzyszp

Zawartość stderr.txt:
Debug: enabled; sample time: 40, repeats: 6
Radac $Rev: 120 $ starting...
USB info: check_usb_vfs (finding): /dev/bus/usb
USB info: check_usb_vfs (find): /dev/bus/usb:002
USB info: usb os find buses
USB info: usb os find bus (add): 002
USB info: usb os find bus (add): 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
USB info: usb_os_determine_children: 001
error finding radioactiveathome.org GRS: The specified device was not found
USB info: usb os find buses
USB info: usb os find bus (add): 002
USB info: usb os find bus (add): 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
USB info: usb_os_determine_children: 001
USB info: usb os find buses
USB info: usb os find bus (add): 002
USB info: usb os find bus (add): 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
USB info: usb_os_determine_children: 001
USB info: usb os find buses
USB info: usb os find bus (add): 002
USB info: usb os find bus (add): 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
USB info: usb_os_determine_children: 001
USB info: usb os find buses
USB info: usb os find bus (add): 002
USB info: usb os find bus (add): 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
USB info: usb_os_determine_children: 001

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

z wstępnej analizy wygląda na to, że znajduje szyny USB, ale nawet znajduje jakies urządzienia, ale z jakiegos powodu nie może się do nich dostać. poprawie trochę debug i jeszcze zobaczymy. włączę też debug na radioactiveathome (domyślnie).

krzyszp

Jedno z urządzeń to "host usb" - wyświetla mi, gdy podłączam przejściówkę z gniazdem USB do telefonu.
Jest opcja odczytania nazw urządzeń USB przez debug?

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk


matszpk

OK. udostępniłem nową wersję aplikacji. włączony debug libusb i rad@home  ;). Przy okazji proszę sprawdzić uprawnienia do katalogów urządzeń i plików, do których szuka aplikacja (/dev/bus/usb/001 i /dev/bus/usb/002).
brak uprawnień może być powodem nie znajdowania urządzeń.

krzyszp

Niestety, dalej nie działa, dołączam stderr.txt

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

ok. jeśli możesz sprawdz po prostu uprawnienia do katalogu urządzaniami USB '/dev/bus/usb/001'. może to być przyczyna problemu. jeśli możesz odpal aplikację jako standalone (czyli samą aplikację z poziomu shella), najlepiej jako root, nawet z poziomu terminal emulatora (za pomocą 'vol-down c' zamykasz aplikację) np z katalogu /data/local/tmp.

matszpk

ok. jeśli chcesz możesz sprobowac jeszcze raz (możliwe, że nie ściagnałes nowej wersji 0.0.2.1d). obecna 0.0.3d to powinna być, ta która ma włączony debug.

krzyszp

#76
Ok, widać, że app nie ma uprawnień... Czyli stary problem z USB na linuksach (jeśli chodzi o managera). Najchętniej bym ustawił uprawnienia managera na roota, ale nie wiem jak go dodać do Superuser... W załączniku znowu log.

Pokombinuję trochę, ale chętnie przyjmę pomoc :)

Edit:
Zawartość najnowszego stderr.txt:
Nowy plik

stderr.txt

Debug: enabled; sample time: 40, repeats: 6
Radac $Rev: 120 $ starting...
USB info: check_usb_vfs (finding): /dev/bus/usb
USB info: check_usb_vfs (find): /dev/bus/usb:002
usb_set_debug: Setting debugging level to 3 (on)
USB info: usb os find buses
USB info: usb os find bus (add): 002
usb_os_find_busses: Found 002
USB info: usb os find bus (add): 001
usb_os_find_busses: Found 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
usb_os_find_devices: Couldn't open /dev/bus/usb/002/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
usb_os_find_devices: Couldn't open /dev/bus/usb/002/001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
usb_os_find_devices: Couldn't open /dev/bus/usb/001/002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
usb_os_find_devices: Couldn't open /dev/bus/usb/001/001
USB info: usb_os_determine_children: 001
error finding radioactiveathome.org GRS: The specified device was not found
USB info: usb os find buses
USB info: usb os find bus (add): 002
usb_os_find_busses: Found 002
USB info: usb os find bus (add): 001
usb_os_find_busses: Found 001
USB info: usb os find devices: /dev/bus/usb/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 002
usb_os_find_devices: Couldn't open /dev/bus/usb/002/002
USB info: usb os find devices (scan): /dev/bus/usb/002: 001
usb_os_find_devices: Couldn't open /dev/bus/usb/002/001
USB info: usb_os_determine_children: 002
USB info: usb os find devices: /dev/bus/usb/001
USB info: usb os find devices (scan): /dev/bus/usb/001: 002
usb_os_find_devices: Couldn't open /dev/bus/usb/001/002
USB info: usb os find devices (scan): /dev/bus/usb/001: 001
usb_os_find_devices: Couldn't open /dev/bus/usb/001/001
USB info: usb_os_determine_children: 001


Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

matszpk

ok. dzięki. w zasadzie nie musisz tego robić. odpal po prostu aplikację rad@home z poziomu terminal emulatora w jakimś katalogu (zamknij za pomocą kombinacji vol-down C). dzisiaj lub jutro sprawdzę czy klient i manager mogą działać z uprawnieniami roota.

matszpk

Manager po prostu musi poprosić o uprawnienia root'a odpalic klienta boinc z takimi uprawnieniami.  najlepiej byloby gdyby klient odpalał aplikację z uprawnieniami root (trzeba będzie go trochę przerobic). dzisiaj lub jutro wypuszcze wersję managera dla root'a (będzie odpalał klienta z roota) i zobaczymy.

krzyszp

Będę czekał :)
Uruchomienie czujnika na telefonie/tablecie daje ogroomne możliwości.

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka