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 25 maja 2025, o 18:31


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 28 ] 
    Autor Wiadomość
    PostNapisane: 8 lis 2019, o 18:50 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Witam
    Mam problem z pewna funkcją w b4a. Wysyłam z procesora
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    do aplikacji i odczytuję to fukcją:
    Składnia: [ Pobierz ] [ Ukryj ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    I bez dzielenia na zmienne a i b to odczyt działa dobrze, ale gdy dzieli się na zmienne to wyłaczą aplikacje. Proszę o pomoc z góry dziękuję za pomoc :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 lis 2019, o 18:58 
    Offline
    Użytkownik

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

    Pokazuje jakiś błąd zanim wyłączy?
    Najprościej byłoby jakbyś korzystał z debuggera, wtedy możesz sobie analizować krok po kroku :)


    Autor postu otrzymał pochwałę

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 12:17 
    Offline
    Użytkownik

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

    Witam
    użyj może innego separatora np kropki , ciąg który wysyłasz powinien mieć postać
    .tekst1.tekst2.tekst3. itd

    skompiluj w trybie debug i zobaczysz która linia kodu daje błąd. Możesz sobie też logi pododawać
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 19:45 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Zmiana separatora nic nie dała, ale skompilowałem kod w trybie debug oto to co było w konsoli
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Za komentowałem linie 195 i aplikacja działa tylko pojawił się kolejny problem
    Składnia: [ Pobierz ] [ Ukryj ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Za komentowana linia która sprawiała problem przypisuje do zmiennej b dane z atmegi. Gdy za komentowana jest zmienna b wszystkon działa dobrze i pierwsza zmienna wysyłana przypisuje się zmiennej a



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 20:13 
    Offline
    Użytkownik

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

    Spróbuj 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 wygląda ten ciąg?, który nadlatuje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 20:29 
    Offline
    Użytkownik

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

    Przeleć linia po linii i zobacz co zawiera tablica numbers

    Wysłane ze srajfona

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 20:35 
    Offline
    Użytkownik

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

    Tak sprawdziłem dla pewności
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    I wszystko działa. Sprawdż i skompiluj w trybie debug



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lis 2019, o 23:52 
    Offline
    Użytkownik

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

    Główna zaletą trybu debug nie są logi, tylko możliwość ustawienia pułapek i uruchamiania aplikacji krok po kroku. Tokio musi się tego nauczyć, bo bez tego będzie mu ciężko robić bardziej skomplikowane aplikacje.

    Wysłane ze srajfona

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 00:30 
    Offline
    Użytkownik

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

    No Pudzian wygrał w KSW...
    Rzadko korzystam z Breakpoint, nawet w rozbudowanych projektach, ale to dobre narzędzie. A Log-i to zamiast editext-ów i Labelek, w większości przypadków wystarczają.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 01:16 
    Offline
    Użytkownik

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

    Wystarczy, pod warunkiem że wie co się robi, a jak nie, to zostaje podgląd zmiennych w trakcie działania ;)

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 09:01 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Żadne z rozwiązań nic nie dało, gdy ustawie
    Składnia: [ Pobierz ] [ Ukryj ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    To nadlatujące dane zamieniają się miejscami. Debuger wskazuje na b=numbers(2), gdy dane z atmegi to "235.1023", a gdy dane to".235.1023." to wskazuje na a=numbers(1). (Dane z atmegi są wysyłane co 600ms)

    ------------------------ [ Dodano po: 14 minutach ]

    To było w linijki z debugera
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Linjka 200 to b=numbers(1)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 09:51 
    Offline
    Użytkownik

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

    Ustaw to tak i nie zmieniaj
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Tu chyba problem leży po stronie procka, albo spróbuj jeszcze tak
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 10:04 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Działa, gdy jest za komentowane b=numbers(1), ale w terminalu (Edlog) dane dziwnie się dzielą, ponieważ atmega wysyła "235.1023", a jest
    "2
    35.1023"
    Tak jakby po 2 dodawała CRLF, które powinno być po wszystkim



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 10:08 
    Offline
    Użytkownik

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

    Tokio518 napisał(a):
    Działa, gdy jest za komentowane b=numbers(1), ale w terminalu (Edlog) dane dziwnie się dzielą, ponieważ atmega wysyła "235.1023", a jest
    "2
    35.1023"
    Tak jakby po 2 dodawała CRLF, które powinno być po wszystkim


    Atmenga powinna wysyłać ".235.1023." Jeżeli wysyłasz tylko liczby to zmień może separator na x i wyślij coś takiego "x235x1023x"

    tak działa metoda Regex, dzieli ciąg na części zawarte pomiędzy separatorami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 10:28 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Nic to nie dało, jest jeszcze gorzej, ponieważ jak za komentuje b=numbers(2) to nie działa, a wcześniej to pomagało.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 10:56 
    Offline
    Użytkownik

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

    Czy to działa dla Ciebie
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 11:58 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    Tak to działa. Więc wina by leżała po stronie procka ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 12:48 
    Offline
    Użytkownik

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

    Pewnie tak.
    https://www.b4x.com/android/forum/threa ... 9/#content

    Tutaj fragment kodu z ARDUINO, tworzy ciąg i wysyła po udp, separatorem jest x, prymityw ale działa.
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Musisz mieć pewność że wszystkie dane to string, jeżeli nie to musisz przekonwertować na string...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lis 2019, o 15:13 
    Offline
    Użytkownik

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

    Tokio, a jak wyślesz z procka raz, a nie ciąg co 600ms to działa?
    Co zawiera zmienna STR, zanim poddasz ją dzieleniu regexem?
    W jaki sposób wysyłasz z procka - masz znak końca wiersza?

    Wysłane ze srajfona

    ------------------------ [ Dodano po: 36 minutach ]

    Tokio, zrób tak:
    ustaw breakpoint poniżej linii str=..., nastepnie najedz myszką na zmienną STR i zobacz czy jest to samo co Ci ląduje w Edlogu - mogą być jeszcze jakieś dane sterujące, które nie są wyświetlane, a mimo Regex je widzi.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 09:41 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    W b4a wszystko się zgadza wszystko jest jako string w zmiennej "STR" nie ma nic dodatkowego. Ale zmniejszyłem częstotliwość wysyłania do 2000 ms i zauważyłem, że pierwsza partia danych przypisuje się a jak nadejdzie druga to wtedy wyłącza aplikacje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 11:11 
    Offline
    Użytkownik

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

    Witam masz złe kodowanie po stronie mikroprocka
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Oczywiście kompiluj w trybie debug..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 11:45 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    To było w konsoli
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język vb
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 12:11 
    Offline
    Użytkownik

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

    No to teraz widzisz co się dzieje. Dostajesz przypadkowe dane, powycinane , posklejane itp.
    jedyny prawidłowy wynik uzyskałeś w tej linii
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 13:07 
    Offline
    Użytkownik

    Dołączył(a): 08 paź 2018
    Posty: 33
    Pomógł: 0

    A jak to zmienić? Programowo w atmedze? Czy to wina modułu ? Używam HC-05



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 13:51 
    Offline
    Użytkownik

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

    O ten moduł Ci chodzi
    Tutaj masz przykład jak to zrobić prawidłowo po stronie B4A, niestety druga strona jest po b4r.
    https://www.b4x.com/android/forum/threa ... oth.66677/

    A tu trochę odpowiedzi na twój problem
    https://www.b4x.com/android/forum/threa ... 2/#content



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 18:30 
    Offline
    Użytkownik

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

    To nie wina modułu, tylko programisty który zapomniał ustawić znak końca transmisji i teraz b4a analizuje wciąż nadchodzące dane.

    Zobacz jak wygląda odbiór np tu topic19536-60.html#p198977 (zassaj)

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 19:59 
    Offline
    Użytkownik

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

    W tym przykładzie który mu podałem pokazane jak odbierać ciąg znaków i odczytać go po stronie Androida za pomocą AsyncStreamsText. AsyncStreamsText zajmuje się zbieraniem otrzymanych danych i analizowaniem ich na podstawie znaków końca lini właśnie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lis 2019, o 20:03 
    Offline
    Użytkownik

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

    W pliku jest to właśnie pokazane, wraz z innymi rzeczami

    Wysłane ze srajfona

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



    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: 28 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO