Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 16:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
Autor Wiadomość
PostNapisane: 30 kwi 2020, o 17:14 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Witam.
Mam trochę nietypowe pytanie. Mianowicie mam jakieś tam urządzenie które zapisuje logi na SD. Oprócz tego zwykła komunikacja z użytkownikiem przez B4A i B4J. Normalnie wszystko działa. Ale gdy pobieram logi z Karty linia po lini procek wysyła przez BT i android zapisuje na dysku. Jeśli tych lini jest mniej niż około 1000 to idzie wszystko normalnie i zapisuje w telefonie 100%, ale gdy tego jest więcej zaczyna jakby sie blokować i potrafi po kilkanaście lini pomijać czasem zrywa połączenie BT. Próbowałem na kilku telefonach i czym starszy tym gorzej było. Jednak znalazłem jeden telefon totalna chińszczyzna z androidem 5.2 i ten za każdym razem odbiera 100% danych tak samo jak komputer zawsze 100% bez względu ile tych danych jest. Po stronie procka jest bt HC-06 i prędkość 115200. Czy to może byc wina modułu BT w telefonie? We wszystkich mam 4.0 lub 4.2 ,tylko w tym chinskim nie mogę żadnych danych znaleźć i nie mam pojęcia co tam jest. Procedura odbioru w b4a jest taka sama jak w poradnikach i tu raczej nie jest wina kodu. Znacie może jakiś inne moduły Bt z SPP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 18:28 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Pochwal się softem na telefon, bo nie mamy tu jasnowidzów, a szklaną kulę mam u szklarza na polerowaniu, więc też niema na czym wróżyć. No chyba że pomyliłeś fora i chciałeś wysłać na forum z poezją ;)

Wysłane ze srajfona

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 19:35 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Faktycznie potrzebny w tym wypadku. Napisałem,ze jest tożsamy z tym w poradnikach Mirkowych jak i z forum Erela. Gdyby to byl problem z softem nie działałby na jednym telefonie,a na innym nie. Ale wkleję kawałek z odbioru danych. Bo całego i tak nikt by nie chciał analizować.
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Podejrzewam ,ze te Bt sa w telefonach za nowe i nie kompatybilne albo za stare :).
Dodawalem nawet opznienie (15ms) przy wysyłaniu z procesora,ale efekt taki sam

Podczas pobierania nic więcej w apce sie nie dzieje. Wszystkie timery wyłączone.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 20:36 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Obawiam się, że bez całości będzie ciężko coś wymyślić.
Używasz klasy Astreams_text(z pliku), czy deklarujesz bezpośrednio?
Rozumiem że telefon ma zapisać hurtem ileś tam linii? - Jeśli tak, to może przenieś otwarcie/zamknięcie pliku, bo może tu go coś boli.
Próbowałeś debugować? Ustaw kilka pułapek w newralgicznych miejscach i zobacz.

------------------------ [ Dodano po: 17 minutach ]

Coś mi jeszcze przyszło na myśl, czy telefon przypadkiem nie wyłącza ekranu, jak zaczyna gubić linie albo się rozłączać?

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 21:03 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Witam
Jak masz ustawione w manifeście targetSdkVersion, (powinno być 28). Musisz prawidłowo przeprowadzić zabawę z uzyskiwaniem pozwolenia na korzystanie z SD. To może być problem...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 21:11 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Jakby nie miał prawa zapisu, to by w ogóle nie działało, a nie tak że dopiero powyżej tysiąca pada.
Podejrzewam problem z buforem(dlatego pytałem o Astreams), albo za dużą częstotliwoscią otwarcia/zamknięcia pliku.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 21:27 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Harry napisał(a):
Jakby nie miał prawa zapisu, to by w ogóle nie działało, a nie tak że dopiero powyżej tysiąca pada.
Podejrzewam problem z buforem(dlatego pytałem o Astreams), albo za dużą częstotliwoscią otwarcia/zamknięcia pliku.


Nie koniecznie, na starym telefonie wszystko mu działa. Jak ma ustawione w manifeście np. targetSdkVersion=19 to niby powinno działać na nowych Androidach (oczywiście w sklepie google to już nie przejdzie) ale mogą być i są różne problemy.
Inna opcja to zapis i odczyt do wewnętrznego folderu...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 21:30 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Na nowych androidach(od 6.0 w górę) File.DirRootExternal oznacza pamięć telefonu, a nie kartę SD.
Pisze że im starszy telefon tym gorzej działa, więc to raczej nie tu leży problem.
Poczekamy i zobaczymy, bo tak to można tylko gdybać w nieskończoność.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 kwi 2020, o 22:03 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

@Harry, masz rację...ten File.DirRootExternal to na 99% już nie będzie karta SD.
Zmień folder na File.DirInternal i zobaczymy...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 06:00 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Witam! manifest mam na 28 ustawiony. miejsce zapisu zmieniałem na wszystkie możliwe. Otwieranie i zamykanie tez lini tez robiłem przed wejściem w odbiór zapisu. Nawet te liczenie plików wyłączałem zostawiając sam zapis na kartę i pozniej zapisane logi sprawdzalem. Jest tak ze zapisze kilkaset lini pozniej kilkanaście ,kilkadziesiąt nie i dalej zapisuje. Wylaczenie ekranu mam zablokowane. Włączałem nawet wifi i wszystko co w telefonie nie potrzebne. Sprawdzałem na Samsungu S7 tu zapisuje okolo 80% na tablecie Tab3 8 tu skandalicznie malo albo całkiem zrywa połączenie. Na tablecie całkiem starym lenowo 7cali od razu wywala ,bo cos tam zapisem ,ale juz nie sprawdzałem dlaczego. Na telefonie Dysan x5 działa idealnie . Ten telefon nie ma chyba żadnej nakładki producenta sam android i moze to jest powód działania. Tu wszyscy maja ajfony i nie mogę na większej grupie sprawdzić :). Musze poszukać innych modułów Bt do urządzenia ,albo kabel jeszcze przetestuje.
Próbowałem tez zapisywać bezpośrednio w module astreams bufor zapisywać bez żadnego przetwarzania. Efekt zawsze ten sam.
Sprobuje jeszcze napisac apke, ktora bedzie tylko odbierala dane i nic wiecej



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 09:32 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Spróbuj przydzielić więcej pamięci na stosie, dodaj to do manifestu
SetApplicationAttribute(android:largeHeap,"true")
Nie wiem czy to pomoże ale spróbować warto...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 11:56 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Dodałem to ale nic to nie zmieniło. Napisałem programik, który tylko odbiera dane ,nawet nie zapisuje tego ,tylko zmienna incrementuje i dalej to samo. Pozostaje tylko zmienić komunikacje albo moduły BT



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 12:18 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Sprawdź w niefiltrowanych dziennikach...Jak by się udało błąd złapać to by była jakaś wskazówka a tak to trochę wróżenie..
Tutaj jest przykład (nie wiem czy z tego korzystasz).
https://www.b4x.com/android/forum/threa ... 7/#content



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 14:47 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Wrzucisz w końcu kod?
Ten najprostszy.

Wysłane ze srajfona

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 15:37 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Tu naprawdę nie ma nic z kodem wspólnego. To jest ten sam kod co jest w poradnikach. Jest tylko to co co wysłałem wcześniej i odbiór na AsyncStreams module.
Przerobiłem odbiór teraz na UsbSerial ta biblioteka korzysta tak samo jak biblioteka Serial do BT z modułu AsyncStreams
wiec program pozostał ten sam i wszystko śmiga dobrze. Musze teraz ,tylko dojść który BT robi problemy. W telefonie czy HC-06.
Albo WiFi tylko muszę moduł od Mirka zamówić. Odhaczyłem filtrowanie przy Logach i nie było ani jednego błędu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 17:34 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

grzeniu 73 napisał(a):
Musze teraz ,tylko dojść który BT robi problemy. W telefonie czy HC-06

A jak myślisz?
Skoro telefonów masz kilka i na żadnym poza jednym nie działa...

Ostatnie pytanie i można zamknąć skoro działa, mimo że nie działa.
Używasz klasy AsyncStreamsText czy zwykłego AsyncStreams?
Po kablu telefon ma znacznie mniej do roboty, ale... ;)

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 20:20 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

AsyncStreamsText. Znalazłem jeszcze moduł HC-05 i to samo co z HC-06 . Kurcze jeśli komputer ogarnia bez problemu transmisje i stary jak świat telefon to chyba wydajność nie jest tu problemem. I to tez jest tak ze jak nie działa to zawsze ,a na tych co działa to zawsze działa. Za tydzień czeka mnie kwarantanna to to będę miał dwa tygodnie, to pobawię się WiFi chociaż tam nie bardzo mam opanowany odbiór.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 20:36 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Stwórz mały projekt, zapakuj w ZIP i prześlij na forum. Może, któryś z kolegów znajdzie problem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 22:59 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Kurcze musiałby tez mieć cos wysyła cały czas dane z procka. Projekt to nie problem bo mirek gdzieś w filmikach o terminalu kod udostępnił ,a ja mam to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2020, o 23:27 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Napisz dokładnie co robi twój program i prześlij mały projekt w którym występuje problem. Tylko z twoim kodem i nie pisz że kod ten sam co u Mirka tylko prześlij projekt.

P.S. Tak zerknąłem na to co przesłałeś
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zmienna TextWriter1 tworzona jest gdzieś wyżej, może powinna być tworzona w tym sub-ie
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Ale to też tylko spekulacje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2020, o 01:00 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

On pisał wcześniej, że nawet jak usunie sekcję zapisu to też się wyglebia, więc to nie to.
Chyba nie doczekamy się kodu.

O wysyłanie z procka to ty się nie martw, bo możemy sobie zrobić bombardowanie BT we własnym zakresie(z kompa/procka a nawet innego telefonu jak ktoś będzie miał ochotę).
To jest naprawdę aż taki tajny kod?

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2020, o 08:40 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 759
Pomógł: 37

Kod troche jest tajny przynajmniej w kilku punktach, bo jest do obsługi urządzenia do którego dostęp będzie miało kilka osób.Po prostu można nim konfigurować je i przydzielać dostęp. Ale zaraz wytnę wszystko zostawiając tylko komunikacje Bt i logi jakie wysyłam z procka.

------------------------ [ Dodano po: dzisiaj, o 08:40 ]

Ok. To opisze trochę urządzenie. Jest to projekt dla Caritas i będzie dostarczany dla osób w obozach dla uchodźców. Mimo,ze z kościołem nie jest mi po drodze to jednak projekt wydal mi sie na tyle pozytywny,ze postanowiłem wesprzeć charytatywnie go. Nie jest to mój pomysł i ja pomaga przy drugiej wersji urządzenia. https://pesitho.com/ tu więcej informacji jeśli kogoś interesuje.
Sterownik tego urządzenia oprócz ogólnego sterowania zapisuje tez logi sa w nim napięcia akumulatora ,panela słonecznego ,pobór pradu i takie tam .Log wygląda mniej więcej tak
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jest to .text i wysyłam to jako zwykle stringi.
W procku robie to tak:
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


jak widać jest to bascom i w pętli robi tylko odczyt z karty i wysyla. W tym czasie nie robi nic innego. Kwarc 16Mhz i baud 115200, ale tez testowałem na 38400. Tu wszystko jest OK bo i Putty i moj program na kompie nie ma problemow żeby wszystko zapisywać.
Problem jest tylko z Androidem. Takich Lini do przesłania będzie kilkadziesiąt tysięcy ,a pewnie i settysiecy. Dziennie zapisuje 1440 logów. 150 000 zapisuje w około 10 minut. Trochę wolno,ale szybciej niz rozbieranie urządzenia i wyjmowanie karty. Chyba to wszystko. W zalaczniku program na szybko zrobiony,ale efekt działania jest identyczny jak w głównym programie

------------------------ [ Dodano po: dzisiaj, o 08:40 ]

Zapomniałem dopisać, ze problemy sa tylko gdy ściągam powyżej kilkuset lini. Przy normalnym użytkowania nie ma żadnych problemow

------------------------ [ Dodano po: 2 maja 2020, o 08:40 ]

I jak tam sprawdził ktos ta komunikacje? Czy na darmo sie rozpisywałem?


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO