Нужен USB сниффер на Arduino
- Войдите на сайт для отправки комментариев
Есть компьютер и фискальный регистратор. Работают по USB, все ОК.
Нам интересно знать, что продает касса. Нужно установить в разрыв (проводов) платы Ардуино (теоретически не только их) и:
а) Аккуратно все передавать "как было". Чтобы система работала как и раньше. Либо мы создаем повторитель, либо, что еще лучше "провода как были, так и идут". Мы к нужным параллельно подключаемся.
б) Нужно знать, что пошло в продажи.
в) Соответственно, нужно знать, попал чек в фискалку (но 99% что должен попать).
P.S. Информацию не модифицируем.
г) При некоторых чеках (например там нужны нам товар) мы передаем эту информацию в еще 1 порт. Либо RS232, либо USB.
Есть вопросы.
Собственно, USB сниффер не такая уж редкая вешь. И в сети есть хорошее видео (на Ютубе).
Там исполнитель взял 2 платы - Леонардо + USB Host Shield
Есть вопросы:
1. Почему он взял 2 платы - почему 1 не хватает? Какие еще расклады у меня (по части Ардуино) есть.
2. У него это работает как повторитель (то есть получили сигнал, сохрали значение, отбили на другом порту) или же речь идет о параллельном подключение (идут 2 или 4 провода, к 3 из 4 параллельно подключились и слушаем. Если например "наша слушалка накроется", то работать все будет "как прежде", так как провода никто не перерезал.
3. Как этот "бутерброд" будет отображаться на компьютере? как некое новое устройство или как?
P.S. Мне желательно сделать с "параллельным подключением" и без "нового устройства". Т.е. если фискальный регистратор имеет какой то HID ID, то пусть он и сохраняется.....
Посоветуйте варианты или предложите Ваши услуги.
а софтовый виртуальный хаб вас не устроит?
А работать он на чем будет? На компьютере от ККТ?
Леонардо он взял потому что она позволяет "крутить" свой USB, шилд, потому что у леонардо USB один.
Не только не хватает одной платы, а нужна именно леонардо.
Можно и параллельно логировать данные, только вот с ардуино вы и USB2 можете не потянуть. Так что при кажущейся простоте задачи, она вовсе не простая и не дешевая.
Ну и вы лукавите, поскольку всегда можете получить чек из базы в которую регистратор эти чеки кладет. Так что цель у вас другая :)
А работать он на чем будет? На компьютере от ККТ?
на компьютере где установлена программа по работе с ФР
Ну и вы лукавите, поскольку всегда можете получить чек из базы в которую регистратор эти чеки кладет. Так что цель у вас другая :)
тоже подумалось о цели, все чеки доступны в отчете оператора фискальных данных )))
У оператор ФД доступны все чеки, если "посмотреть". Глазами в смысле.
Автоматические API не дают, например "Платформа ОФД". Но не это самое главное........
Там большая проблема всю кассовую ленту поднять. Да, отдельный чек с номером и суммой - пожалуйста, из любой точки земного шара.
На комп с ФР ничего установить нельзя. Может и можно, да не хочу. Работает касса сейчас как-то (и хорошо, что работает).
Зачем в нее ставить снифферы которые непонятно как будут работать внутри Винды - не понятно. Доступ к БД кассы, но это вмешательство в работу кассы, несанкционированное. Хотя наверное и допустимое.
Сделать я хочу то что я хочу.
Как понял я:
1. Леонардо определяется компом как USB устройство, Uno как COM устройство. Это основная разница
2. В любой Ардуино плате всего 1 USB порт (сделан как USB или как COM). И если мне нужно 2-3, то нужно делать "бутерброд" из 2-3 плат.
Ну понятно и приемлемо. Не понятно как платы общаются друг с другом. Я видел видео - через UART.... Но тут я уже сам впадаю в ступор, если она женяться друг с дружкой по USB, то у меня.... USB лишнего не будет что ли?
А можно 2 платы Ардуино поженить через SPI?
3. Корпуса для Ардуино. Сделаю я (если сделаю) бутерброд, состоящий из 2-3 Ардуино. Можно ли где то (думаю да) на 3D принтере заказать хороший и грамотный корпус для этого устройства? Думаю да, кто из 3D (типографий или как они называются) сможет сделать то что мне нужно?
Для парсинга USB хватит одной Nano с библиотекой usbdrv.Подключение параллельное. Инфу можно сохранять куда-то (СД,ЕЕПРОМ) или слать по последовательному порту.
3д печать - Фаблаб(название города). 300-500 рублей.
Сниффануть байтстрим - особого ума не надо. Протокол раздолбать - вот основная проблема всех времён и народов.
Ну может у меня получится, может нет. Протокол раздолбать.
Сниффануть байтстрим - особого ума не надо. Протокол раздолбать - вот основная проблема всех времён и народов.
протокол на ФР вроде как описан
Взял я 2 USB провода и попробовал соиденить "напрямую" все 4 USB провода. Без какого либо Ардуино.
Подключил мышку к 2-м компам. Не очень получается, так как начинается конфликт между компами за мышку. Комп с Win 10 побеждает.
Разумеется, если комп 1, то больших проблем нет. Любой свисток определяет мышь....
Вопросы следующие:
1. Ардуино Нано у меня нет, есть Ардуино Уно. Больших проблем не вижу (между Уно и Нано).
2. Я беру и разрезаю USB провод (уже разрезал). Как посоветуете его вообще включить в Уно (Нано)?
Ну +5 вольт и земля понятно, тут даже спрашивать нечего. А вот именно управляющие провода USB (называются обычно D+ и D-) с ними что?
Их нужно подать на I2C шину (контакты PC5 и PC4) или на SPI шину (PB2-PB5)? Или вообще нужно покупать преобразователь типа I2C - USB или SPI - USB
3. Самый глупый вопрос. А поключаю Уно (Нано) паралельно "подглядываю" или я "перерезаю провода" и сначала получаю сигнал в Ардуино, обрабатываю его и отправляю в дальше (в компьютер или фискальный регистратор соответственно) "аккуратно перекладываю с 1 пина на другой".
Помоему этой ветке в теме "закажу проект" не место. ТС вы или ищите исполнителя, или задавайте вопросы в другом месте.
Ну +5 вольт и земля понятно, тут даже спрашивать нечего. А вот именно управляющие провода USB (называются обычно D+ и D-) с ними что?
D+
D-
5V
: USBVBUS
GND
: USBПро подключение. Ардуино паралелльно в схеме. Провод идет без разрыва(электрически), а физически к d+ d- с двух сторон обрезанного кабеля подключены в arduino.
amateur спасибо
1. Зачем поддтяжка к питанию? Ну может нужна зачем... Вам лучше знать.
2. Схему предположим сколхозил. А теперь как снифить USB (какой командой) и более того, куда это хозяйство писать. Что посоветуете?
Самый простой вариант - вытащить ФН из кассы, подключить к переходнику USB-COM и считать информацию в текстовый файл. А дальше или вручную анализировать или программку написать. Информация там только необходимая Вам. Ничего лишнего. Сейчас за кассовые аппараты никто не отвечает, поэтому можете лазить в нем сколько угодно. В крайнем случае если спалите ФН попадете на деньги. Но если не подключать его на горячую, то ничего не случиться.
amateur спасибо
1. Зачем поддтяжка к питанию? Ну может нужна зачем... Вам лучше знать.
2. Схему предположим сколхозил. А теперь как снифить USB (какой командой) и более того, куда это хозяйство писать. Что посоветуете?
Подтяжка- необязательно. Это для улучшения стабильности.
Спасибо большое. Скорее всего получится)))