Учёт рабочего времени со стажем Arduino + MySQL + RFID

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Здравствуйте уважаемые форумчане! Поставили задачу, реализовать учёт рабочего времени на разных зонах предприятия с учетом рабочего стажа работника.

 
Есть программа, написанная до меня, она с помощью сканера штрих кодов фиксирует только коэффициент, который умножает отработанное рабочее время. Есть таких 8 карточек с штрих кодами. Когда работа завершается, начальник отдела подносит к сканеру работника карточку с коэффициентом и Работнику защитывается время с учётом стажа. Такие махинации стали надоедливыми и начальство решило внедрить систему учета со стажем!
 
Как должно все работать:
Есть база данных сотрудник
ов, с внесёнными данными об стаже работы, размещена на сервере. 
 
При завершении работы на рабочем месте, работник проводит по прибору RFID карточкой и его отработанное время умножается на коэффициент и вводится в программу.
 
Как это должно работать, на программном уровне:
В программе внесены 8 номеров карточек, каждой присвоен коэффициент, когда работник приступает к работе, он подносит свою именную карту для идентификации личности и по завершении работы, он подносит ту же карту, прибор считывает номер его RFID карты, смотрит в базе какой номер карты коэффициента присвоен соответственно стажу и выводит этот номер карты коэффициента как обычный ввод с клавиатуры. 
 
Этот вывод предназначен для того, чтоб избавится от сканеров штрихкода, которые тоже эмулирует ввод как с клавиатуры.
 
Помогите пожалуйста с данной задачей, как вы поняли уже, я новичек в программировании Arduino, но очень хочу освоить данную технологию, так как насмотрелся разных видео что делают люди на базе этого контроллера, аж самому захотелось, а теперь ещё и задачу поставили!)
 
Планирую сделать такие грибоеды на Arduino с модулями:
1. RFID с метками 
2. Lan или Wifi для связи с базой (лучше конечно Wifi, чтоб было меньше проводов)
3. SD картой, для хранени данных
 
Буду признателен за любую помощь!!!!
 
Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

периодически то тут, то там поднимаются такие темы.
заканчивается тем, что необходимо вживлять метки рфид под кожу "пациентов", иначе перед программистом заказчик ставит невыполнимые задачи.
метко то передавать начнут из рук в руки, и все..

at0mix
at0mix аватар
Offline
Зарегистрирован: 23.11.2015

У нас на работе система работает. Правда на входе стальной турникет который просто невозможно обойти, для входа-выхода нужно поднести пропуск к считке, зайти в кабинку, внести личный код, после открытия кабинки продолжить движение. Время фиксируется в базе. Но не на ардуине естественно.....

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Short Circuit пишет:
периодически то тут, то там поднимаются такие темы. заканчивается тем, что необходимо вживлять метки рфид под кожу "пациентов", иначе перед программистом заказчик ставит невыполнимые задачи. метко то передавать начнут из рук в руки, и все..

Впринципе, это присечься может на видео. но смысл в том, что RFID метка должна быть присвоена работнику и стаж в том числе. так что может быть только то, что другой работник отработает время для другого сотрудника, а свое как бы прогуляет!

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

вот вот.. заказчик прозреет позже и потребует кабинку. я бы требовал от заказчика сразу чипование пациентов.

иначе на ардуине это не решить.

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

at0mix пишет:

У нас на работе система работает. Правда на входе стальной турникет который просто невозможно обойти, для входа-выхода нужно поднести пропуск к считке, зайти в кабинку, внести личный код, после открытия кабинки продолжить движение. Время фиксируется в базе. Но не на ардуине естественно.....

У нас на предприятии, время фиксируется когда человек вошел, запускается приложение, а для того чтоб покинуть рабочее место, ему начальник "проводит" картой фиксации рабочего времени, то есть картой, которая умножает рабочее время на коэфициент. 

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Как раз, политика начальства такая, что кабинки не потребуется, так как сейчас все работает, а если до сих пор не передавали карточки с штрихкодами, то и при RFIDке не будут. Не выгодно самому работнику!

Я думаю, на ардуинке как раз решить это все можно) главное реализовать. Мне пришел уже RFID модуль с Ардуинкой НАНО, но что-то ее не определяет вообще, я думаю заказать новую, а то китаяшки скорее всего отправили муляж.

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

сегодня не выгодно. а завтра начнут терять зарплату и моментально станет выгодно. это уже проходили и здесь тоже. вы поройтесь в темах.

 

 

ну и раз вы муляж от настоящего не можете отличить...

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Short Circuit пишет:

сегодня не выгодно. а завтра начнут терять зарплату и моментально станет выгодно. это уже проходили и здесь тоже. вы поройтесь в темах.

Извините, но я не соглашусь с Вами по поводу передачи карточек, потому что это исключено на нашем предприятии. Хотелось бы пропустить данное противоречие...

В том то и дело, что ничего не поменяется, только удерется машинальные действия начальника отдела и переведется в автоматизированый учет при завершении работы.

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Short Circuit пишет:

ну и раз вы муляж от настоящего не можете отличить...

Как раз что и не могу, потому что чипы все на месте, маркировки все совпадают, по схеме работать должно, но не работает! Сегодня буду проверять логику, соответствует ли заявленной.

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

В общем Ардуинка оказалась не рабочая, буду заказывать новую. В этой теме обсуждалась ее реанимация, но увы, ничего не помогло...

Скажите, что лучше заказать, снова Nano? или может что-то другое? например UNO R3? мне важно чтоб в итоге прибор не оказался в размер подноса, нужно чем копактнее. Что посоветуете под эту задачу?

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

???

по меньшей мере странный вопрос. Ардуино используется в единичных вариантах прототипирования. И если нужно серию или запустить изготовленное в рабочий цикл и надежно - то потом делают свои печатные платы с отдельно прошитым процем, и т.д. это решает сразу массу проблем. Ну если вы все на макетке с кучей проводков хотите так оставить изапустить в рабочий цикл... то добавить нечего.

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Short Circuit пишет:

???

по меньшей мере странный вопрос. Ардуино используется в единичных вариантах прототипирования. И если нужно серию или запустить изготовленное в рабочий цикл и надежно - то потом делают свои печатные платы с отдельно прошитым процем, и т.д. это решает сразу массу проблем. Ну если вы все на макетке с кучей проводков хотите так оставить изапустить в рабочий цикл... то добавить нечего.

Все верно! Сначала нужно сделать прототип, а потом собрать свой девайс с отдельным чипом, залить в него рабочую прошивку, потом оттестировать на баги. Все верно.

НО ДЛЯ НАЧАЛА НУЖНО СДЕЛАТЬ ПРОТОТИП!!!!

Я спросил лиш что лучше заказать для реализации.... а не для производства!!!!!

А по поводу габаритности, это для того, чтоб не принести шкаф под названием ПРОТОТИП и сказать что этот шкаф будет потом в размер с пачки сигарет!

vde69
Offline
Зарегистрирован: 10.01.2016

лично разрабатывал и внедрял подобную систему...

 

автору соведую разделить задачу на 2

1. СКД (система контроля доступа), на аруинке делать можно, но дешевле купить готовое решение коих полно... приведу пример который на ардуинке не позволяет решить сабж: при отключении питания локалный контроллер должен переходить в автономный режим (открывать и закрывать по списку и хранить историю) а при возобновление питания и связи с сервером - все это сбрасывать, банально памяти на это мало....

2. отчетная часть, тут раздолье для творчества, я делал отчеты на 1с с прямым конектом к MySQL базе СКД

vde69
Offline
Зарегистрирован: 10.01.2016

автор хочет собрать аналог

http://all4net.ru/catalog/11290/11978/t11503/

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

vde69 пишет:

автор хочет собрать аналог

http://all4net.ru/catalog/11290/11978/t11503/

Та нееее!! Это уже очень круто, собрать аналог!!

Все гораздо проще:

На рабочем месте оператора установлена самописная прога, которая соединяется с серваком и сливает ему в базу все данные, она же ведет логи, при отключении питания, на ПК поступает сигнал с УПСки и прога записывает лог, виксирует факт и завершается работа ПК.

Этот прибор не должен служить как комплексное решение, он всего лиш должен бы подключится к базе считаный номер карты RFID сравнить в базе с каким номером старой карты совпадает стаж данного сотрудника и просто вывести этот номер вместо клавиатуры. Это вся задача девайса!

Разве что каждому девайсу нужно будет дать уникальный номер и потом где-то зафиксировать какой отдел и все другое. Но это позднее, а может и не будет вообще...

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Помогите просто начать, подскажите на чем прототип сделать и как можно связать ардуинку с базой mySQL. Или может просто поделитесь ссылкой на информацию, где можно почитать о принципе работы Ардуино и базы данных! Я попробую сам реализовать прототип!

vde69
Offline
Зарегистрирован: 10.01.2016

поверь человеку который 20 лет занимается автоматизацией... не будет твоя система работать нормально....

для компов есть готовые девайсы контроля, начиная от USB и заканчивая встроеными платами...

 

ардуинка - она для индивидуальных проектов или для хобби, а у тебя задача на 100% решаемая готовыми решениями.

vde69
Offline
Зарегистрирован: 10.01.2016

ndesignuz пишет:

Помогите просто начать, подскажите на чем прототип сделать и как можно связать ардуинку с базой mySQL. Или может просто поделитесь ссылкой на информацию, где можно почитать о принципе работы Ардуино и базы данных! Я попробую сам реализовать прототип!

 

если все-же хочешь делать - делай так

добавляешь в ардуинку room память (4 гига) и пишншь на нее логи в виде файлов, и еще добавляешь в ардуинку LAN карту и ВНЕШНЕЙ прогой (не из ардуинки) читаешь эти логи и кидаешь их в скуль

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

vde69 пишет:

если все-же хочешь делать - делай так

добавляешь в ардуинку room память (4 гига) и пишншь на нее логи в виде файлов, и еще добавляешь в ардуинку LAN карту и ВНЕШНЕЙ прогой (не из ардуинки) читаешь эти логи и кидаешь их в скуль

У нас турникет на СКДшке постоен, тут нас устраивает вполне система контроля доступа. Я понимаю о чем Вы говорите. Сталкивался с данной системой.

У меня конечно не такой богатый опыт в автоматизации, но напротив имеется опыт в микроэлектронике. Хочется дополнить знаниями программирования, может су меня все таки получится подняться до ранга Джедай в программировании Ардуинки.

==========

А если сделать так:

1) Взять ардуинку, например Нано или Микро

2) Добавить к ней сетевой модуль WIFI - для связи с базой данных не через Лан (меньше проводов будет)

3) Добавть слот для СДкарты - для того чтоб прибор был автономный на случай если пропадет соединение (на сд карте, будет хранится данные о сотрудниках и их стаже, чтоб при потери соединения, прибор мог считать последние синхронизированые данные с файлика который синхронизируется с базой, допустим раз в 1 час)

4) Добавить модуль реального времени - чтоб можно было фиксировать точное время отправки запроса к базе

5) Естестренно и RFID модуль для новых карточет

Сделать базу данных с полями, нужными для работы.

При проведении рфид картой, ардуинка отправляет запрос в БД (если нет соединения по WIFI, берет данные с СД карты), сверяет запросом стаж и возвращает номер нужной карты

Возможно такое построить, как прототип? Если начальство будет удовлтворно таким методом решения задачи, то тогда проект получит свой шанс на дальнейшую разработку с прототипа в устройство (которое не будет больше использоваться нигде, кроме нашего предприятия)

 

vde69
Offline
Зарегистрирован: 10.01.2016

это уже ближе к рабочей системе...

единственная проблемма - найти реализацию SQL протокола (авторизации, и получения/записи данных, транзакции, блокировки, курсоры и т.д.), кроме того не стоит забывать про универсальность (например сервера поддерживают сеансовое шифрование), короче если готовой библиотеки для ардуинки не найдешь - пиши пропало, сам не реализуешь....

самому можно реализовать только через запись/чтение файлов...

а теперь посчитай стоимость железа и сравни со стоимостью готового контролера, даже без учета времени затраченого на програмирование ардуинка проиграет...

 

 

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

vde69 пишет:

 если готовой библиотеки для ардуинки не найдешь - пиши пропало, сам не реализуешь....

Есть например вот такая сборка на ГитХабе, и вот такая. Как раз сижу, разбираюсь пока не приехала Ардуинка))

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

И вот такой MySQL connector

espilya
Offline
Зарегистрирован: 22.06.2016

В итоге сделали задуманное? Просто есть желание сделать нечто подобное.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

MySQL для такого проекта не нужен, Sqlite3 рулит.

ndesignuz
ndesignuz аватар
Offline
Зарегистрирован: 24.01.2016

Начал делать, потом длительная коммандировка, учет рабочего времени отложили, а теперь вспомнили о нем снова, но кардинально в другом разрезе.... 

некоторые функции оставили, но сейчас задача немного другая стоит... не знаю, стоит ли поднимать новую тему или продолжить здесь... может кому интересно будет, может кто подскажет... чтоб быстрее довести до ума

sadman41
Offline
Зарегистрирован: 19.10.2016

Эффективны с какой точки зрения?

Ну, будут сотрудники уходить на 5 минут позже (на страничке как раз расчет окупаемости из "недоработаных пяти минут"), только эти пять минут будут ботинки завязывать.

 

Logik
Offline
Зарегистрирован: 05.08.2014

Gydvins пишет:

 Кто уже сталкивался с подобными инновациями? Насколько они эффективны?

Не эффективны. Сотрудники сбрасывают все карты стажеру, а сами в пивнуху. Стажер мечется, карты разных прикладывает в разных местах. В системе полная илюзия работы, а жизнь кипит в пивнухе.