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 17 maja 2025, o 12:18


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
     Tytuł: DS18b20
    PostNapisane: 9 mar 2013, o 21:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 mar 2013
    Posty: 236
    Lokalizacja: Warszawa
    Pomógł: 5

    Witam!

    Ogólnie jestem początkujący w programowaniu, mam płytkę z atmega16 i zabawiam sie nia oprogramowując kazdy jej podzespóół. ogólnie korzystam z książki ps. mirka k. tej niebieskiej, bo to chyba najbardziej przyswajalna pozycja startowa na rynku w programowaniu mikrokontrolerów jaką znam.
    chciałbym w jakiś łatwy sposób porównać id dwóch ds18b20 wykorzystując biblioteki dallas do szukania tych sensorów i nie wiem jak to zrobić w c. Prosiłbym o jakieś podpowiedzi

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 9 mar 2013, o 21:33 
    Offline
    Moderator
    Avatar użytkownika

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

    Przecież ID to tablica 8 elementów prawda ? każdy element to jeden bajt tego ID. Więc jeśli masz porównać dwa numery ID to wystarczy porównać zawartość obydwu tablic z tymi numerami i po zawodach będzie ;)

    _________________
    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  
     Tytuł: Re: DS18b20
    PostNapisane: 9 mar 2013, o 22:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 mar 2013
    Posty: 236
    Lokalizacja: Warszawa
    Pomógł: 5

    no wiem, czy moge po wywolaniu funkcji search sensors i wypelnieniu tej tablicy brac po kolei jej elementy i je porównywać. jeśli tak to dobrze kombinowałem. Działa dzięki ;;D

    A jeszcze jedno pyatnko mam, bo podobno w tej tablicy gSensors czujniki sa dopasowywane przypadkowo bez określonej kolejności, czy to prawda, czy czujniki mają jakieś priorytety?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 9 mar 2013, o 22:45 

    Pomógł: 0

    Nie nie mają priorytetów, ale z własnego doświadczenia wiem, że mając np. 3czujniki to zawsze zgłaszają się w takiej samej kolejności.

    Aczkolwiek by być 100% pewnym dobrze zrobić sobie tablice, albo strukturę ID czujników.



    Góra
      
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 9 mar 2013, o 22:48 
    Offline
    Moderator
    Avatar użytkownika

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

    Paul Dirac napisał(a):
    A jeszcze jedno pyatnko mam, bo podobno w tej tablicy gSensors czujniki sa dopasowywane przypadkowo bez określonej kolejności, czy to prawda, czy czujniki mają jakieś priorytety?


    wielu ludzi tak mówi że coś tam jest dopasowywane przypadkowo ..... a czy zamiast takiego mówienie nie warto zajrzeć do opisu algorytmu wyszukiwania sensorów na magistrali 1wire. Nota PDF w łapki i jest to tam opisane. To że wydaje ci się to przypadkowe to wynika właśnie tylko z tego że nie znasz tego algorytmu, nie ma tu żadnej przypadkowości ale ich ułożenie zależne jest oczywiście od numerów ....

    dlatego takie rzeczy jak wykrywanie który jest który nie robi się na tablicy gSensors tylko na jakiejś własnej i tam trzeba wykorzystywać właśnie takie funkcyjki porównawcze .... to co właśnie ci się przed chwilą udało jak piszesz ;)

    na tym forum temat już niejednokrotnie poruszany - postaraj się poszukać postów prac kolegi rezasurmar w tym zakresie bo dzielnie z tym walczył ;)

    ------------------------ [ Dodano po: 1 minucie ]

    rezasurmar napisał(a):
    Nie nie mają priorytetów, ale z własnego doświadczenia wiem, że mając np. 3czujniki to zawsze zgłaszają się w takiej samej kolejności.

    Aczkolwiek by być 100% pewnym dobrze zrobić sobie tablice, albo strukturę ID czujników.


    o! uderz w stół a kolega rezasurmar się odezwie ;) .... tak trzy takie same czujniki zawsze tak samo się poukładają w gSensors, tylko może być zonk gdy się np jeden z nich wyjmie - wtedy układ może się zmienić dla dwóch pozostałych tzn w tym sensie że jak się wyjmie ten ze środka tablicy to dziura w niej nie pozostanie - dwa kolejne ułożą się po kolei

    _________________
    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  
     Tytuł: Re: DS18b20
    PostNapisane: 10 mar 2013, o 00:30 

    Pomógł: 0

    No Mirek ma rację, niestety trzeba brać pod uwagę wiele czynników.

    Walczę nadal ;), chwilowo zarzuciłem temat z racji innych projektów.......niestety robię kilka rzeczy na raz ;(.

    Z chęcią przeanalizuję problem z zgłaszaniem się czujników, jak będę miał analizator, zobaczę czy to zależy od "wykonania" czujnika czy innych czynników.

    Swoją drogą nie jest tak trudno zaimplementować na stałe przypisanie ID do konkretnych "pomieszczeń" (jak w moim przypadku).
    Problem zaczyna się, gdy wiemy, że padnie jeden czujnik, albo chcemy zmienić czujnik itp. wtedy trzeba już sprawdzać więcej zależności.



    Góra
      
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 10 mar 2013, o 14:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 mar 2013
    Posty: 236
    Lokalizacja: Warszawa
    Pomógł: 5

    Ja tam nie wiem, ale mam w układzie 3x czujniki wmontowane na stale i podczas wywolywania alarmów na poszczególnych czujnikach po przekroczeniu zakres <tl, th> dokonuje porównać dwóch tablic gSensors i galarms i wtedy wiem, że piuerwszy zglosił alarm, a że drugi nie. Niby racja lepiej użyć strukturę i raz wypełnić tablicę z id i potem tylko na niej bazować. W sumie każdy wie, ilu jest programistów tyle pomysłów na wykonanie projektu.

    A notke to ja przeczytałem nie jeden raz tylko z dziesięć zanim zacząłem korzysta.ć z biblioteki, trochę ją okroiłem, żeby było mniej if(). W sumie racja, jesli się nie nauczę czytać not to nigdy nie będę umiał programować mikrokontrolery, jak dostanę inny niz ten nad którym pracuję.

    Trzeba działać ;)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 10 mar 2013, o 14:31 

    Pomógł: 0

    No problemy zaczynają się, jak masz urządzenie u klienta, np. pada jeden czujnik, i ten czujnik ma być wymieniony przez samego klienta, np. zamawia tylko u ciebie czujnik. Przecież nie będzie się grzebał w jakieś ID. Powinien program zgłosić uszkodzenie takiego, a takiego czujnika, bez ID, bo to przecież klientowi nic nie da (serwisantowi przecież też nie).
    Następnie musi wiedzieć, że został dołożony nowy czujnik w zamian tego uszkodzonego z nowym ID...... przecież, one po restarcie urządzenia mogą się już zgłosić w innej kolejności.
    Ale to takie moje luźne dywagacje.
    Osobiście nie lubię robić "fuszery" i zostawiać czegokolwiek przypadkowi.



    Góra
      
    cytowanie selektywne  Cytuj  
     Tytuł: Re: DS18b20
    PostNapisane: 10 mar 2013, o 15:28 
    Offline
    Moderator
    Avatar użytkownika

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

    I to jest rezasurmar bardzo dobra droga - trzeba to tak zrobić jak piszesz, żeby nawet przysłowiowy "BOLEK" mógł iść i wymienić uszkodzony czujnik - ale tak żeby nie trzeba mu było zlecać nawet zaglądania w jakieś tam wyświetlacze i porównywania ID czy też chodzenia po jakimś MENU ;) .....

    _________________
    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  
    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 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO