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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 12 mar 2025, o 05:23


    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: 771
    Pomógł: 40

    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: 771
    Pomógł: 40

    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: 160
    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: 160
    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: 160
    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: 771
    Pomógł: 40

    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: 160
    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: 771
    Pomógł: 40

    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: 160
    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: 771
    Pomógł: 40

    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: 771
    Pomógł: 40

    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: 160
    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: 771
    Pomógł: 40

    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: 160
    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: 771
    Pomógł: 40

    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 ] [ Zaznacz wszystko ]
    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 2 gości


    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