Arduino Polska Forum

Pełna wersja: Rejestracja czasu pracy RFID
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam.
Zastanawiam się nad zbudowaniem urządzenia do rejestracji czasu pracy.
Urządzenie powinno zawierać wyświetlacz, dwa czytniki RFID czytające karty w standardzie UNIQUE., moduł karty pamięci i moduł Ethernetowy. Czytniki RFID - jeden odpowiadający za wejście drugi za wyjście.
Docelowo jeszcze moduł do powiadomień GSM i trzy sygnały 0/1 z urządzeń zewnetrznych.
Dodatkowo zastanawiam się jak przechowywać dane osób przypisanych do kart RFID. Zastanawiałem się nad przechowywanie w pliku na karcie SD, ale czy wyszukiwanie nie będzie zbyt długie jeżeli rekordów będzie kilkaset?
Log z rejestracji powinien być zapisany w pliku a docelowo exportowany do bazy MySQL.
Jaki model arduino wybrać aby obsłużyć te wszystkie moduły?

Wysłane z mojego ANE-LX1 przy użyciu Tapatalka
Może być Arduino Mega lub DUE, ESP32, mają dużo wyjść, jak masz moduł Ethernetowy to możesz od razu wysyłać dane do serwera MYSQL, w nim też trzymać całą bazę. Przy ESP32 nie potrzeba modułu Ethernetowego, wystarczy mieć wifi.
No i oczywiście powodzenia w realizacji, po takim pytaniu...
(16-09-2018, 19:42)skuber napisał(a): [ -> ]Czytniki RFID - jeden odpowiadający za wejście drugi za wyjście.

Przecież wystarczy jeden czytnik. Pierwsze sczytanie - wejście, czas start. Drugie - wyjście, czas stop.
(16-09-2018, 19:42)skuber napisał(a): [ -> ]Urządzenie powinno zawierać wyświetlacz,
Jaki?

(16-09-2018, 19:42)skuber napisał(a): [ -> ]dwa czytniki RFID czytające karty w standardzie UNIQUE., moduł karty pamięci i moduł Ethernetowy. Czytniki RFID - jeden odpowiadający za wejście drugi za wyjście.
Docelowo jeszcze moduł do powiadomień GSM i trzy sygnały 0/1 z urządzeń zewnetrznych.
Dodatkowo zastanawiam się jak przechowywać dane osób przypisanych do kart RFID.
(...)
Zastanawiałem się nad przechowywanie w pliku na karcie SD, ale czy wyszukiwanie nie będzie zbyt długie jeżeli rekordów będzie kilkaset?
To zależy, czy przed każdą operacją będziesz montował system plików, czy zrobisz to raz. Ponadto Arduino, ze względu na małą ilość RAM nie może przechować w pamięci sektorów (ponad 512 bajtów), robi to po kawałku (34..40 bajtów). Możesz liczyć na czasy 5...100ms.
Zdecydowanie szybszy jest DataFlash.Tu kilka ms to max.

(16-09-2018, 19:42)skuber napisał(a): [ -> ]Jaki model arduino wybrać aby obsłużyć te wszystkie moduły?

Jeśli ma to być koniecznie Arduino to potrzebujesz 2 portów szeregowych. Jeden do GSM a drugi w Arduino służy do pseudo debugowania a bez tego tak dużą aplikację co planujesz będziesz pisał kilka lat. 32kFlasch raczej zabraknie, wskazane jest min 8k RAM (ostatecznie 4, 2k to mało i trzeba się nakombinować). Wybór jest więc jeden ArduinoMega. Jeśli chcesz używać karty SD (zły pomysł), wskazane aby była na innym SPI niż czytnik RFID (są też czytniki na USART i I2C). Jeśli nie musi to byc moduł Arduino a wystarczy uC który obsłuży IDE Arduino, może być Atmega664/1284. Polecałbym jednak STM32F, np F103. ESP8266 to raczej nieporozumienie, sprawia kłopoty, mało stabilny, I2C (np do RFID) wolne, SPI nie sprawdzałem. ESP32 jest zdecydowanie lepsze ale nie testowałem w poważniejszych zastosowaniach, bo obawiam się, że się nie nadaje.

Dlaczego nie używać karty SD?
Pewnie użyjesz FAT, a każdy kto zna jego zasadę działania potwierdzi, że jest wolny i zawodny więc logi mogą zniknąć. Można kombinować z dwoma kartami SD. Można nie używać FAT ale i tak pozostanie problem styków. Karta SD + gniazdo do niej to koszt 20+2zł. Za 3..4zł kupisz DataFlash 128Mb. Do logów pewnie spokojnie wystarczy, zwłaszcza, jak nie używa się rozrzutnego FAT-a.


PS
Co do ESP czy Raspberry Pi, Banana czy inne Orage, to 1-Wire jest tam funkcja blokującą.