Управление несколькими RFID-устройствами с помощью ruby ​​on rails - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть место с 6 RFID-считывателями, подключенными к Raspberry Pi 3. Цель проекта состоит в том, чтобы читатели всегда читали и читали теги при движении в здании.

Я разработалЗадача ruby ​​rake, открывающая 6 сокетов TPC, по одному для каждого считывателя, и непрерывно получающая считыватель тегов и обрабатывающую информацию.Я запускаю бесконечный цикл со всеми сокетами, которые читают строки и обрабатывают их.

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

sp_reader_1 = TCPSocket.new ip, port
sp_reader_2 = TCPSocket.new ip2, port
#.... and so on

loop do
    line_reader_1 = sp_reader_1.gets.chomp
    line_reader_2 = sp_reader_2.gets.chomp
    #.... and so on

    result = method_to_process_line_information(line_reader_x)
    #.... and so on

    puts result 

end

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

Я провел тестирование на мощном компьютере I7, и результат тот же.

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

Есть идеи?

Заранее спасибо.

...