Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
10 000 ₴

Arduino проект

истекло время актуальности


Необходимо собрать комплект для авторизации прохода на Arduino со считыванием NFC карты.

Комплект будет включать в себя:

- Контроллер Arduino 

- LAN порт для поключения к internet/intranet (автоконнект)

- NFC считыватель 2 шт.

- Реле для замыкания GND контакта. 3 положения: 

      1- нормально разомкнут

      2- краткое замыкание на 1 контакт (5 сек, устанавливается в конфиге)

      3- краткое замыкание на 3 контакт (5 сек, устанавливается в конфиге)

- Цифровой вход для получения сигнала завершения прохода от внешнего контроллера

- Светодиодный матричный модуль (СММ) 8х8 RGB (например TZT MAX7219 или другой)

- Питание от 12В (блок питания в поставке не требуется)


Логика:

При считывании NFC карты считывателем, контроллер передаёт JSON с ID платы (устанавливается в конфиге), кодом карты и служебный символ (устанавливается в конфиге) на указанный сервер авторизации. 

Если в ответ приходит TRUE то включаем на 4 секунды СММ зеленым цветом с отображением треугольника (углом вверх) и делаем кратковременное замыкание реле на положение 2 или 3, в зависимости от того, с какого считывателя происходило считывание карты. После получения сигнала завершения прохода от цифрового входа, передаём JSON с ID платы, кодом карты и служебный символ на указанный сервер авторизации.

Если в ответ приходит FALSE то включаем на 4 секунды СММ красным цветом с отображением символа "Х".

* служебный символ при считывании карты - установленное значение вручную в конфигурации (до 3 цифр)

** служебный символ при получении сигнала завершения прохода от цифрового входа - всегда 999.


Для целей мониторинга активности устройства, каждые 60 секунд (устанавливается в конфиге) устройство передаёт JSON с ID платы на сервер мониторинга (может быть отличный от сервера авторизации). В ответ получает сообщение TRUE. Если сообщение не было получено за 5 сек. включаем СММ желтым цветом, в режиме мигания раз в секунду и уменьшаем интервал передачи JSON с ID платы на сервер мониторинга до 10 секунд, до момента получения сообщения TRUE. После получения сообщения TRUE восстанавливаем интервал передачи JSON до 60 секунд и выключаем СММ.


Конфигурирование устройства должно быть возможно удалённо, через telnet или web интерфейс, с минимальной авторизацией.

В рамках конфигурирования настраиваются:

- URL сервера авторизации

- URL сервера мониторинга

- интервал 2 положения реле

- интервал 3 положения реле

- интервал передачи сообщения мониторинга

- служебный символ для передачи при считывании карты


Ожидаемый результат:

Спецификация используемых устройств

3 комплекта устройств с установленной микропрограммой для тестирования

Микропрограмма в виде набора файлов на flash

Описание процесса инсталляции



  1. 15 дней10 000 ₴
    Олег
    Олег Пилшиков
    869     9  0

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

    Украина Новая Каховка | 6 декабря 2019 |
  2. ставка скрыта фрилансером
  3. 10 дней10 000 ₴
    Александр
    Александр Скшипец
    475     6  0

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

    если интересно - обращайтесь в лс

    Украина Авдеевка | 7 декабря 2019 |
  • Вячеслав Азаров
    6 декабря 2019 |

    По HTTPS? Секъюрити всё-таки.

  • Дмитрий Сокол — заказчик проекта
    6 декабря 2019 |

    обязательно )


  • Вячеслав Азаров
    6 декабря 2019 |

    Насколько мне известно Ардуино не поддерживает шифрование, никакя.

  • Anton Kravtsov
    6 декабря 2019 |

    Web-запрос с SSL-шифрованием ардуинка отправить смогёт (см., напр., обсуждение от энтузиастов). На бюджетных платках может не хватить памяти под всё это дело.

    Если свой Web-сервер да с поддержкой HTTPS поднимать на Arduino - то, да, могут возникнуть сложности из-за лимитов по памяти и скорострельности.

  • Вячеслав Азаров
    6 декабря 2019 |

    На DUE может быть и сможет работать, но я незнаю такой реализации, среди даром доступных.

  • Вячеслав Азаров
    6 декабря 2019 |

    Да это интригующе, но нужны же ресурсы и под остальные алгоритмы. Если нестандартный сервер самому делать можно и менее криптостойкое шифрование применить, не перегружающее маломощные микроконтроллеры. Но кому это сейчас нужно? Все повышают криптостойкость, а не наоборот.

  • Вячеслав Азаров
    6 декабря 2019 |

    Клавиатура уже износилась от микропрограммирования, пропускает нажатия. 🙂

  • Вячеслав Азаров
    6 декабря 2019 |

    А на каком расстоянии, от контроллера, должны находиться RFID детекторы?

  • Вячеслав Азаров
    6 декабря 2019 |

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

  • Anton Kravtsov
    6 декабря 2019 |

    - Контроллер Arduino 

    - LAN порт для поключения к internet/intranet (автоконнект)

    Вместо Arduino подойдёт esp8266/esp32 + WiFi?

    У решения будет реальное применение или это какой-то MVP/хобби/диплом? Почему не взять стандартные настраиваемые комплекты с NFC?

    За 10Кгрн. что-то надёжное вам вряд ли наваяют... ну, разве что какой-то прототип с проводами 🙂

  • Дмитрий Сокол — заказчик проекта
    9 декабря 2019 |

    Рассматривать можно любой вариант, который будет в перспективе использоваться. Это не MVP/хобби/диплом.
    Стоимость тоже может пересматриваться. WiFi не планируется использовать, только LAN


  • Игорь Афонькин
    6 декабря 2019 |

    Можно было бы сделать, но таки 3 комплекта на тестирование в бюджет не уложатся.

  • Вячеслав Азаров
    6 декабря 2019 |

    Можно свои добавить. 🙂 

  • Игорь Афонькин
    7 декабря 2019 |

    Если на Arduino, то точно без HTTPS.

    По срокам точно не сориентирую, если сейчас закажу себе 3 комплекта железа, только доставка может затянуться и на 2, и на 3 месяца. Что, как я полагаю вообще не вариант.

    Могу в качестве альтернативы предложить использование NodeMCU, соответственно сеть WiFi, зато с HTTPS. Наработки по REST API/JSON есть. Даже есть некое подобие плагина под WP для хранения ключей/настроек. Но это не укладывается в ТЗ.

    Думайте.

  • Вячеслав Азаров
    7 декабря 2019 |

     :) Так это же не я заказчик. А вы пробовали HTTPS на ESP8266? В Ардуино он не реализован, только в заводском фирмваре есть пример.

  • Игорь Афонькин
    7 декабря 2019 |

    Ну да 😆 точно! 

    Так а чего там собственно пробовать в esp8266? Генерируешь ключи и прописываешь.

  • Вячеслав Азаров
    7 декабря 2019 |

    A двухсторонняя аутентификация? Замочку также сертификат требуется, он же не сёрфер.

  • Игорь Афонькин
    7 декабря 2019 |

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

    В совсем уж крайнем случае - удостоверить дочерний сервер можно на основании достоверного сертификата с материнского сервера.

  • Вячеслав Азаров
    7 декабря 2019 |

    Если ОЗУ хватит, у ESP8266, на такую роскошь.  :)

  • Игорь Афонькин
    7 декабря 2019 |

    Я ж говорю, что у меня наработки в этом направлении - ОЗУ хватает. По крайней мере для замка.😉 

  • Вячеслав Азаров
    7 декабря 2019 |

    Да да, в Lua уже сделали порт к mbedTLS. Но это ведь уже не Ардуино.  

  • Дмитрий Сокол — заказчик проекта
    9 декабря 2019 |

    Arduino если о нем будет идти речь, доступен в Киеве в любом количестве

  • Вячеслав Азаров
    6 декабря 2019 |

    Можно свои добавить. 🙂 

  • Вячеслав Азаров
    9 декабря 2019 |

    Дмитрий, вы не ответили на мой глупый но принципиальный вопрос. По другому, какое максимальное расстояние между ситывателями RFID может потребоваться, если речь идёт об единственном подключении к Ethernet или WiFi?