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 24 maja 2025, o 16:47


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 6 wrz 2022, o 15:52 
    Offline
    Użytkownik

    Dołączył(a): 25 wrz 2014
    Posty: 137
    Lokalizacja: Konin/Poznań
    Pomógł: 0

    Witam,

    piszę z pytankiem czy biblioteka p.Mirka dla NRF24L01 zezwala na wysyłanie z odbiornika tzw. ACK Payload'u ? Napisałem sobie dodatkową funkcję:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Ma ona zapisywać do pamięci odbiornika string z payloadem ACK. Teraz pytanie: czy funkcja będzie prawidłowo to robić i odbiornik za każdym razem będzie wysyłał tę wiadomość ? I czy EVENT z przerwaniem od odebrania wiadomości wykryje nadesłanie tego ACK Payloadu, czy trzeba go jakoś dodatkowo zmodyfikować ? Przyznam szczerze, że datasheet za bardzo nie wspomina nic o tym trybie komunikacji (a przynajmniej nie w jasnym dla mnie stopniu), a w sieci brakuje konkretnych przykładów oprócz kodu Arduino z jedną fukcją gdzie nie można zajrzeć co jest w środku :(

    Proszę o pomoc i wyrozumiałość :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 16:42 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    ja kompletnie nie pamiętam szczegółów ale przytaczasz funkcję która wręcz w nazwie ma ack - a ty pytasz czy można ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 16:51 
    Offline
    Użytkownik

    Dołączył(a): 25 wrz 2014
    Posty: 137
    Lokalizacja: Konin/Poznań
    Pomógł: 0

    W bibliotece nie ma tej funkcji :D sam ją napisałem w konwencji "bibliotecznej" co by nie psuć sobie oglądu nazw wszystkich funkcji. Problem w tym, że nie bardzo wiem jak zrealizować wysyłanie ACK Payloadu do transmitera :( Może ktoś z tego korzystał i sprawdzi czy moja funkcja jest prawidłowa i podpowie jak to zrealizować



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 17:12 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    No to ja nie wiem za bardzo o co koledze chodzi ? Przecież sam moduł sprzętowo robi nie tylko ack ale i retransmituje pakiety jeśli nie dotrą na drugą stronę, i można konfigurować sobie nawet ilość tych retransmisji - więc czego w ogóle dotyczy pytanie ? to ja nie wiem

    ------------------------ [ Dodano po: 2 minutach ]

    zaglądałeś w ogóle do konfiguracji biblioteki ?

    Obrazek

    czy ty chcesz przypadkiem robić ręcznie w jakiś dziwny sposób i na piechotę to co już masz zapewnione sprzętowo ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 17:24 
    Offline
    Użytkownik

    Dołączył(a): 25 wrz 2014
    Posty: 137
    Lokalizacja: Konin/Poznań
    Pomógł: 0

    Chodzi mi o wysyłanie informacji z odbiornika do nadajnika zawartej w payloadzie ACK. W rejestrze FEATURE jest bit EN_ACK_PAY, którego ustawienie umożliwia takie coś :)
    Obrazek

    Dokładniej o to chodzi ale nie wiem jak to zrealizować w kodzie:
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 19:11 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    tak jak mówiłem nie mam pojęcia po tylu latach od stworzenia biblioteki o szczegółach - jeśli chcesz aż tak głęboko się bawić to życzę miłej zabawy z PDF.

    A z drugiej strony do czego ci akurat aż taki mechanizm ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 wrz 2022, o 19:22 
    Offline
    Użytkownik

    Dołączył(a): 25 wrz 2014
    Posty: 137
    Lokalizacja: Konin/Poznań
    Pomógł: 0

    Jasne - może ktoś się już tym bawił i podpowie :)

    A mechanizm potrzebny w tym celu żeby nie zamieniać ciagle ról nadajnik-odbiornik, a przesyłać krótkie komendy z odbiornika do nadajnika. Nadajnik jest układem pomiarowym, który sypie danymi z dość duża częstotliwością ok. 300 Hz z ramka 20 bajtów. Skoro można zawrzeć jakaś krotka informację w paylodzie ACK np. o zatrzymaniu pomiaru lub zdalnym resecie mikrokontrolera to po co zmieniać role jak można tak zrobić. Chyba ze czegoś nie wiem o bibliotece i można to zrobić w inny sposób, bez straty czasu na swapowanie rolami nadajnik odbiornik.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 wrz 2022, o 12:29 
    Offline
    Użytkownik

    Dołączył(a): 13 lut 2012
    Posty: 175
    Pomógł: 10

    Tak dla pewności to używany jest NRF24L01 czy NRF24L01+ ?


    https://blog.csdn.net/JACK__Q/article/details/109294451



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 wrz 2022, o 14:50 
    Offline
    Użytkownik

    Dołączył(a): 25 wrz 2014
    Posty: 137
    Lokalizacja: Konin/Poznań
    Pomógł: 0

    Udało się ogarnąć dlaczego ta opcja nie działała :) otóż głupi ja zamiast aktywne przerwanie odczytywać w stanie niskim, odczytywałem w stanie wysokim … lekka zmiana kodu i działa. Funkcja przedstawiona przeze mnie działa - kto chce może sobie ja dopisać do biblioteki (nie obsługuje tylko ustawienia pipe’u ale to proste do dopisania, gdyby ktoś potrzebował mogę podrzucić) :) po wysłaniu wiadomości przez nadajnik, w pakiecie ACK pochodzącym od odbiornika można zapisać dowolna wiadomość, która zostanie odczytana przez nadajnik bez swapowania rolami nadajnik-odbiornik.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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