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 3 kwi 2025, o 21:37


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
    Autor Wiadomość
    PostNapisane: 27 lis 2011, o 17:58 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Pastylki Ibutton firmy DALLAS to nic nowego na rynku, są to urządzenia pracujace na magistrali 1Wire. Magistrala ta

    wykożystywana jest dosyć czesto przez elektroników do transmisji z popularnym Termometrem cyfrowym DS18B20,

    ale urzadzeń na tej magistrali jest wiele firma DALLAS poza słynnymi termometrami DS18xxx produkuje pastylki

    iButton wśród których znajdziemy proste DS1990 - które mogą pracować jako klucz gdyż dysponują unikalnym kodem,

    ale też sa pastylki zawierające termometr , pamięć i wiele innych. Zaletą pastylek jest łatwość użycia i fakt iż

    moga byc zasilane pasożytniczo dzięki czemu wystarcza 2 przewody MASA i DATA .

    W tym temacie skupimy się na najprostrzych pastylkach DS1990R w rozmiarze F5 .




    DS1990R zawiera tylko unikalny kod - 64 bitowy ID , który możemy tylko odczytywać , ale świadomość faktu iż kod ten

    jest unikalny (nigdy się nie powtarza) umożliwia nam stworzenie układu będącego np. kodowym Zamkiem lub Alarmem

    uzbrajanym przy pomocy pstylki.




    ...:: DANE PSTYLKI DS1990R ::...

    Wszystkie dane znajdziemy w nocie PDF pod Adresem: http://pdfserv.maxim-ic.com/en/ds/DS199 ... 90R-F5.pdf

    Tak więc do naszych niecnych celów użyjemy:

    Obrazek

    Dedykowanego czytnika DS9092L zawierającego Diodę sygnalizacyjna LED w kolorze zielonym

    Obrazek

    Potrzebna nam będzie też płytka Sunduino lub Arduino lub inny klon z mikrokontrolerem AVR

    Przekaźnik na 12V i tranzystor NPN np 2N2222 lub BC547C i parę rezystorów 1K i 4.7K.




    Z racji iż nasz czytnik posiada diodę LED użyjemy jej do sygnalizacji poprawności KLUCZA.




    ..:: PROGRAM ZAŁOŻENIA ::..




    Założenie programu jest bardzo proste , Czytnik oczekuje na przyłożenie Pastylki po czym program

    sprawdza odczytany klucz z bazą danych i po weryfikacji oznajmia nam miganiem diody co 0,5s ,

    że klucz jest prawidłowy i tym samym zezwala na dostęp uruchamiając przekaźnik, lub miganiem szybkim

    co 150ms informuje nas iż kod jest nieprawidłowy / nierozpoznany i tym samym nie zezwala na dostęp.

    W przykładzie użyjemy zakodowanych 8 pastylek zezwalających na dostęp dla 8 użytkowników.

    ...:: KOD PROGRAMU ::...

    W programie użyta została biblioteka dla Arduino IDE OneWire.h ułatwiająca korzystanie z magistrali 1Wire

    w środowisku ARDUINO IDE, która jest do pobrania w REPO-Duino wraz z plikiem PDE programu prezentowanego

    poniżej. Program dodatkowo wysyła na terminal komunikaty , które można wyświetlić na Serial LCD lub przerobić

    na wyświetlanie przez LCD zgodny z HD77480 :


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


    Resztę czyli potrzebne biblioteki OneWire schemat połaczeń znajdziecie na mojej stronie życzę miłej zabawy z pastylkami IButton

    Przy wpisywaniu własnych pastylek przyda się to iz program wyświetla w terminalu ID przytknietej pastylki
    wystarczy tylko go przepisać do tablicy i gotwe. ID jest już podane w DEC :)

    Przykład działania w terminalu -- pierwsza Linia oznaczona jako ID to kod naszej pastylki
    w przypadku niezgodności kodów w terminalu wyswietlone zostaja numery IDE zakodowanych pastylek
    od strony czytnika informacja jest tylko miganie diody w czytniku.

    Widoczny terminal powstał z potrzeby w Visual C#.

    Obrazek


    życzę miłej zabawy z pastylkami IButton

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2011, o 21:20 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    Witam!!!

    To teraz pół żartem pół serio :D

    Jako, że jest niedziela wieczór a my elektronicy nigdy się nie pozwolimy nudzić... prezentuje żartobliwe lecz skuteczne rozwiązanie dla braku ibuttona.

    Skoro wiemy, że każdy element na 1wire, pastylki i czujniki mają swój unikalny kod zbudujemy czytnik wraz z pastylką domowej roboty :).

    Zakładam, że nie każdy ma w swoim zapleczu ibuttony i czytniki, ale płytkę uniwersalną bądź breadboarda znajdzie każdy, czujnik DS18B20 też sądzę że ma każdy z nas zatem do dzieła!!

    Potrzebne elementy:
    1. 2x rezystor 4,7Kohm
    2. kawałek płytki uniwersalnej lub breadboard
    3. pare kabelków
    4. DS18B20

    teraz tak:

    łączymy środkową nogę (DATA) DS18B20 z prawą patrząc na napisy (VCC)
    następnie od środkowej nogi podpinamy kabelkiem do procesora tam gdzie kabelek data od ibuttona.
    gnd do gnd. kolejny krok to poprzez rezystor 4,7Khom vcc od DS18B20 do vcc.

    Prawie gotowe, teraz odczytujemy kod naszego czujnika w terminalu( po wgraniu kodu SunRivera) wyskoczy nam, że klucz jest nieprawidłowy ale uzyskamy nasze ID.

    Teraz zamieszczamy je w tabeli naszego programu i...

    DZIAŁA!! MAMY SWÓJ DOMOWY ZESTAW "IBUTTON" :D

    Obrazek

    Miłej zabawy :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2011, o 22:38 
    Offline
    Moderator
    Avatar użytkownika

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

    Bardzo fajny artykuł z tego wyszedł ;)

    _________________
    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: 27 lis 2011, o 23:09 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Zdało by się jeszcze w GCC napisać to samo :) narazie walcze w GCC z DS1904L :) ale jakos mi nie idzie

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lis 2011, o 06:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    hehe, nuda robi swoje :D

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lis 2011, o 16:42 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Tak zwłaszcza jak się w zakamarkach "warsztatu" walają dziwne drobiazgi :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 21:29 
    Offline
    Użytkownik

    Dołączył(a): 27 paź 2011
    Posty: 74
    Pomógł: 2

    Witam,
    Odkopię trochę temat z pytaniem do Sun-a:

    Jest jakaś szansa na powtórkę z rozrywki dla GCC?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 21:32 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    chemik , ale to nie jest problem :) wystarczy odczytywać ID pastylki :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 21:38 
    Offline
    Użytkownik

    Dołączył(a): 27 paź 2011
    Posty: 74
    Pomógł: 2

    Jakoś mi jeszcze nie idzie z 1-Wire.
    Próbowałem pokombinować z DS2401 bo wpadło mi kilka w łapki, ale jakoś nie wychodzi.
    Z arduino nie ma problemu, ale też jakoś mi nie po drodze.

    Gdyby jednak kiedyś dopadła Cię MEGA nuda chętnie powrócę do tematu.

    Pozdrawiam ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 21:39 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    jak bedę maił czas to zrobie :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 21:45 
    Offline
    Użytkownik

    Dołączył(a): 27 paź 2011
    Posty: 74
    Pomógł: 2

    :D Wspaniale !!!
    Czekam z niecierpliwością.
    Z góry wielkie dzięki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 cze 2013, o 21:59 
    Offline
    Użytkownik

    Dołączył(a): 27 paź 2011
    Posty: 74
    Pomógł: 2

    Witam,
    Jako że niecierpliwy człowiek jestem i nie dawało mi to spokoju, pomęczyłem temat i UDAŁO :lol: się.
    Co prawda nie jest to pewnie optymalne rozwiązanie, ale do moich zastosowań sprawdza się idealnie.

    Poniżej przedstawiam kilka linii kodu dla GCC odczytującego numer seryjny DS-a i porównującego go z zadeklarowanym wcześniej w tablicy numerem.

    Dla potomności i co by się MISTRZ Sun nie musiał zajmować pierdołami...

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



    Bardzo proszę o wszelkie uwagi i propozycje możliwości zmian i optymalizacji.

    Pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 cze 2013, o 23:40 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    1. Jak chcesz zaoszczędzić RAM to key_DB umieść w pamięci programu
    2. permited, czujniki_cnt, key są z modyfikatorem volatile. Chyba niepotrzebnie, bo nie widzę żeby zmieniały się w jakimś przerwaniu. A obsługa tych zmiennych wymaga dodatkowych instrukcji na odczytywanie ich z pamięci.
    3. permited zerujesz a zmienne globalne są zerowane z automatu
    4. Zmienne na potrzeby pętli możesz tworzyć w instrukcji for, chyba, że używasz jakiegoś starego standardu C
    5. Funkcja key_check zwraca wartość, a przecież ta funkcja modyfikuje zmienną globalną, więc albo jedno albo drugie, a które to już zależy jak wykorzystasz tą funkcję, a w tym przykładzie nie wykorzystujesz tego co ta funkcja zwraca, ale z drugiej strony lepiej zwracać wynik niż zmieniać zmienną globalną, bo kod jest bardziej czytelny. Zmienne globalne to można zmieniać w funkcji obsługi przerwania, bo nie ma innego wyjścia.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 cze 2013, o 11:03 
    Offline
    Użytkownik

    Dołączył(a): 27 paź 2011
    Posty: 74
    Pomógł: 2

    Dziękuję za wszelkie podpowiedzi, wieczorkiem przetestuję możliwości zmian i dam znać jakie oszczędności przyniosły.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 cze 2013, o 12:40 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    no widzę że chemik się wziąłeś ostro do dzieła , zaiste słuszna decyzja przynosząca wyjątkowo duże korzyści zarówno dydaktyczne jak i projektowe i za to zaiste chwała ci :)

    A kolega Krauser wyłuszczył wszystko jak na dłoni nic dodać nic ująć :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2013, o 19:55 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Nic to nie zmienia , najpierw trzeba mieć klucze żeby je z czytać wiec gdzie tu sens :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2013, o 20:19 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    proponuje byś uzywał czytnika/skanera siatkówki oka :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2013, o 20:43 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    nie oto chodzi , tylko sam powiedz każdemu dajesz klucze do skopiowania ??
    stoisz na rogu i dajesz klucz do odbicia każdemu ??

    bez jaj :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2013, o 20:56 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Ale to co tu opisałem to tylko zabawka w celu pokazania jak tego używać
    a nie żeby coś zabezpieczać ....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2013, o 21:02 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ibutona możesz sobie zrobic z wszystkiego co jest na 1Wire :P
    nawet zwykłego DS18B20

    i możesz dodatkowo sobie wprowadzić do identyfikacji odczyt temperatury :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2014, o 15:36 
    Offline
    Użytkownik

    Dołączył(a): 12 mar 2014
    Posty: 266
    Lokalizacja: Warszawa
    Zbananowany użytkownik

    Pomógł: 2

    Czy pastylkę DS1990 można odczytywać na tej samej linii do której podłączony jest czunik DS18B20?

    _________________
    Wysłane z Nokii 3310



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2014, o 17:38 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Tak przecież pracuje na magistrali 1Wire , możesz mieć tam podłączone różne urządzenia --- DS18B20, DS1990, i wiele innych ....
    każdy ma indywidualny nr ID (podobno się nie powtarza)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2014, o 20:14 
    Offline
    Użytkownik

    Dołączył(a): 12 mar 2014
    Posty: 266
    Lokalizacja: Warszawa
    Zbananowany użytkownik

    Pomógł: 2

    Tyle wiem, bardziej chodziło mi o to, czy takie podłączanie iButtona w czasie kiedy jest transmisja z czujnikiem temperatury nie spowoduje jakiś problemów. Oczywiście program trzeba będzie też zmodyfikować, aby nie wykrywał czujnika temp jako niewłaściwego klucza.

    _________________
    Wysłane z Nokii 3310



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 paź 2014, o 21:16 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    W zasadzie wystarczy tylko czytać odpowiednie ID i Adres , w przypadku DS18B20 będziesz tylko czytał temperaturę więc możesz przypisać jego ID i je pomijać .

    -----
    Pacane z SunTALK v.1.21b

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



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

    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