logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zbudować rejestrator czasu pracy z RFID i Atmega?

Dariusz Goliński 28 Gru 2007 21:14 4398 9
REKLAMA
  • #1 4633776
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    Witam
    I znów mam prośbę o pomoc.
    Dzisiaj księgowa wymyśliła u mnie w firmie, że musimy zapisywać godziny pracy w specjalnym zeszycie. Jestem trochę zabiegany i nie mam na to czasu ale mus to mus.
    Ale wpadłem na inny pomysł. Jest nas w biurze 10 osób. Kupilibyśmy sobie karty RFID i po sprawie. A teraz moja prośba.
    Jeszcze nie umiem sam napisać softu na żaden procek więc byłbym wdzięczny za pomoc. Wymyśliłem coś takiego.
    Kiedyś kupiłem na Allegro taki mały czytnik kart RFID który może służyć jako zamek lub po dołożeniu MAX232 przysłać numery kart do PC.
    Jak by tak zbudować za pomocą procka prosty rejestrator. Procek, buzer, jakaś pamięć na i2c służąca jako bufor i kawałek RTC plus wspomniany czytnik.
    Przykładam kartę, czytnik przesyła numer do procka a ten rejestruje jej nr seryjny plus datę, godzinę, minutę i sekundę oraz potwierdza ten fakt piknięciem na buzer.
    Ja sobie klepie soft na PC za pomocą kolegi i co jakiś czas wysyłam do procka po RS jakiś znak po ASCI który ten z kolei wypluje mi zawartość zapisaną w pamięci. Można by jeszcze dodać funkcję wysłania określonej sekwencji kasującej bufor.
    Potem te danebym sobie obrobił i miałbym dla wkurzającej księgowej dane.
    Oczywiście trzeba pomyśleć nad funkcją do regulacji RTC.
    Proszę o poradę i pomoc.
    Dzięki za wszelką odpowiedź.
  • REKLAMA
  • #2 4637265
    thorin00
    Poziom 14  
    Posty: 163
    Pomógł: 2
    witam
    a moze zamiast dodatkowego procka podlaczysz bezposrednio wyjscie tego czytnika do pc poprzez maxa i cala procedure zapisu lacznie z data i godzina przejmie pc. mam taki czytnik (i chyba nawet taki sam ) z tego co pamietam czytnik ten wysyla 5 albo 6 bajtow (jest to numer seryjny kary) oraz sume kontrolna z predkoscia 19200bps. w tym czyniku jest wyjscie na diode led i buzer takze pozostaje tylko max232 i masz juz nr seryjny w pc
    pozdrawiam
  • #3 4638129
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    Też o tym myślałem
    Ale po pierwsze komp to urządzenie dosyć nie stabilne,
    a po drugie jeden z moich szefów to dosyć oszczędny facet i wyłącza nawet moje głośniki jak wychodzi z pracy. Nawet na serwerze firmy w cronie mam ustawione wyłączanie kompa a w biosie jego włączanie więc wolał bym uniknąć takiego sprzęgu.
    W zasadzie to co mam na myśli nie powinno być trudne. Istnieją przecież keylogery i itp. Trzeba tylko zmienić trochę soft i było by cool.
  • REKLAMA
  • #4 4638194
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 616
    Dane można by zapisywać na karcie SD, Koszty praktycznie zerowe.
    Raz w miesiącu kartę podpiąć do komputera i zaczytać dane.
  • #5 4639511
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    O też dobry pomysł tylko jak to zrealizować.
    Jak już wspomniałem jeszczenie nie potrafię tak programować dlatego uważałem że zastosowanie pamięci np: 24c512 było by cool + oczywiście transmisja szeregowa.
    Pozatym mógłbym to podpiąć do istniejącego serwera i archiwizować ( pobierać ) dane za pomocą crona na wypadek jakiejś zguby.
  • REKLAMA
  • #7 4639691
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    zamiast 24c512 zastosuj pamiec dataflash np at45db321 (32mb) jest mniej wiecej w tej samej cenie co eeprom ,ale zapis/odczyt bez limitu ,taki czytnik to na wieki ;) ,po za tym jest szybka (interfeis SPI )
  • #8 4643504
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    Dzięki Robstar za podesłanie linku.
    Niestety ten układ ma pewną wadę, zastosowana tam pamięć może zbyt wiele zdarzeń nie zapamiętać. Zasadniczo nie musiał by ale trzeba dmuchać na zimno. Załuszmy, że nie ma prądu albo z jakiś innych przyczyn serwer nie może odebrać danych a mnie właśnie nie ma z tydzień w pracy.
  • REKLAMA
  • #9 4644570
    thorin00
    Poziom 14  
    Posty: 163
    Pomógł: 2
    up, pamiec 24xx oraz max232 bedzie chyba najlepszym rozwiazaniem. mozesz zapisac wszystkie nr kart i przyporzatkowac im nr 0-255 (co zajmie jeden bajt) date i godzime mozesz zapisywac w postaci ilosci sekund ktore uplynely od 01-01-2000 (w bascomie jest zmienna typy long - 4 bajty, ktora zapisuje czas w ten sposob),takze zapis do eepromu zajmie 5bajtow. porzez program w pc mozesz ustawic oczyt zawartosci eeprom np. raz dziennie o okreslonej porze, jak rowniez synchronizacje czasu urzadzenia
  • #10 4646341
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    Ten pomysł też mi się podoba.
    Poprzednio pracowałem w pewnym biurze i tam właśnie napisaliśmy program w kliperze który uruchomiony był na starym kompie.
    Każdy pracownik który wchodził do biura logował się i to samo przy wychodzeniu. Program zliczał sekundy zaczynając od północy.
    Kolega robson podesłał mi artykuł. Okazuje się, że to też sprytne rozwiązanie tylko wyrzucił bym układ czytnika i zastosował już posiadany.
    Mam tylko jedną uwagę. Karty przechowywane są w pamięci procesora, skoro tak to ile się tam może ich zmieścić.
    Trzeba by się skontaktować z autorem softu.

    Ogólnie wszystkiego najlepszego w nowym roku 2008.
    Dziękuje za zainteresowanie tematem i proszę o pomoc
    Dzięki

Podsumowanie tematu

✨ Dyskusja dotyczy budowy rejestratora czasu pracy opartego na mikrokontrolerze Atmega i czytniku kart RFID. Proponowane rozwiązania obejmują wykorzystanie czytnika RFID z interfejsem szeregowym (np. z MAX232) do przesyłania numerów kart do procesora lub bezpośrednio do komputera, gdzie można rejestrować czas i datę zdarzeń. Wskazano na potencjalne problemy z niezawodnością komputera jako elementu systemu oraz na konieczność zapisu danych w pamięci nieulotnej, np. EEPROM 24C512 lub pamięci DataFlash AT45DB321 z interfejsem SPI, co pozwala na większą pojemność i trwałość zapisu. Proponowano także zapis danych na karcie SD jako tani i prosty sposób archiwizacji. Wskazano na możliwość zapisu identyfikatorów kart i czasu w formacie liczby sekund od ustalonej daty (np. 01-01-2000) dla oszczędności pamięci. Wspomniano o gotowym zestawie AVT2793 z Elektroniki dla Wszystkich 8/2006 jako przykładzie kompletnego rozwiązania. Dyskusja podkreśla potrzebę synchronizacji czasu, bufora danych na wypadek braku komunikacji z serwerem oraz prostotę implementacji oprogramowania na PC do odczytu i archiwizacji danych.
Wygenerowane przez model językowy.
REKLAMA