Писал байтовый протокол для работы с фискальным регистратором из софта на мобильном телефоне.
Первая версия устройства была с BT. По BT работает все хорошо до тех пор пока в офис не приходили люди (я выхожу на работу на 3 часа раньше всех). После того как в округе набиралось критическое количество телефонов с включенным BT — связь становилась просто ужасной.
На каждые переданные 100 байт было до 3-х байт неверно полученных на другой стороне (данные с двух устройств логировались и вручную анализировалось что отправлено и получено).
В итоге разработчик ФР сделал нам версию с WiFi вместо BT. Тут уже полегче стало. Единственное что пришлось решать — это выход из зоны действия в режиме работы. Научили само устройство передавать номер последней команды, чтобы телефон мог откатить счетчик и послать команды повторно.
Так что очень советую проверить ваше решение в зашумленном месте.
У нас это как побочная возможность.
Мы реализовали работу с кипером. Один из клиентов попросил добавить оплату, чтобы работать на веранде. Вот и реализовали.
Мы в своем решении реализовали работу с ШТРИХ-MOBILE-ПТК напрямую из iOS. На реализацию, отладку, доработку протокола обмена совместно с программистами из Штрих'а ушло примерно 6 месяцев.
По поводу всех носимых устройств могу сразу посоветовать отказываться от работы по BT (если есть такая возможность). Как только эфир становится зашумленным — сразу возникают проблемы со связью. Чтобы понять это, нам пришлось просить сделать для ПТК-ки специальную прошивку, которая зеркалирует весь трафик в COM порт. Я мог передавать последовательность байт «8A D1 DD», а устройство получало «8A C1 DD».
Поэтому мы договорились со Штрихом о замене BT модулей на WiFi.
З.Ы. Могу пожелать удачи тому, кто еще возьмется самостоятельно реализовывать этот протокол для ШТРИХА :)
З.З.Ы. Коллеги из QR думаю знают кто мы :)
Второе эссе: «What is the impact of programming on our world? Does everyone need to learn programming? How might individual lives and society as a whole be changed if we found a way to include programming and technology at all levels of education?»
Ардуино хранит в памяти показания всех датчиков.
LabVIEW пишет в порт, например, GetAll.
Получив эту строку ардуинка отправляет все значения, разделив их чем-нибудь. Например запятой. А как уже дальше парсят эту строку — ардуинке не важно.
Хотите запрашивать один датчик — Get1. Ну и т.д.
А LabVIEW умеет читать данные с COM порта?
Может быть было проще сделать реализацию когда ардуинка сама читает данные с датчиков и отсылает данные в порт?
Это именно стандартное поведение, но о нем широко не афишируют. Сделано для того, чтобы иметь возможность провести оплату при испорченном чипе.
Лично я менял одну из карточек как раз из-за не работающего чипа. Проводишь магнитной полосой, а терминал говорил что надо использовать чип. Ну а чип он не мог прочитать.
Тогда еще не знал о возможности 3-х ошибок, разрешения прочитать магнитную полосу и подписать слип по старинке.
Терминалы корректно обрабатывают ситуацию при ошибке чтения чипа и позволяют провести оплату с использованием магнитной полосы. Алгоритм такой:
1. Проводим магнитной полосой => Терминал говорит что надо использовать чип
2. Вставляем карту, но так, чтобы чип был наружу, т.е. обратной стороной => Терминал принимает это за ошибку чтения и просит повторить (или пишет что-то про ошибку)
3. Повторяем предыдущий пункт еще 2 раза
4. После этого терминал разрешает провести оплату при помощи магнитной полосы
Про данную особенность мне рассказал сотрудник компании, которая предоставила нам банковский терминал для разработки ПО, которое общается с ним (терминалом) по WiFi.
Данная возможность заложена на случай поломки считывателя в терминале или неисправности чипа на карте.
Все хочу проверить эту возможность на верипосовских терминалах, но в последнее время тестовых в офисе не появлялось.
Ну не знаю. Тачпад не удобен только для дизайна. А вот для другой работы очень даже не плох.
Все маководы, с которыми я общаюсь, имеют тачпад. И у всех, ко всему прочему, ноутбуки.
Да и как писал grishkaa, мышку тоже можно использовать для этих же целей. Так что тачпад в данном случае = мышке.
Согласен что это дело вкуса.
У меня тоже руки постоянно на клавиатуре — пока еще это лучший способ писать код. Но бывает так, что встаешь к коллеге. А потом чтобы заблокировать компьютер — надо обойти стол и нажать комбинацию. А с активными углами я тянусь одной рукой, пара движений (два — для верности :) и можно идти.
Надо рассматривать это не как замену, а как дополнение.
Первая версия устройства была с BT. По BT работает все хорошо до тех пор пока в офис не приходили люди (я выхожу на работу на 3 часа раньше всех). После того как в округе набиралось критическое количество телефонов с включенным BT — связь становилась просто ужасной.
На каждые переданные 100 байт было до 3-х байт неверно полученных на другой стороне (данные с двух устройств логировались и вручную анализировалось что отправлено и получено).
В итоге разработчик ФР сделал нам версию с WiFi вместо BT. Тут уже полегче стало. Единственное что пришлось решать — это выход из зоны действия в режиме работы. Научили само устройство передавать номер последней команды, чтобы телефон мог откатить счетчик и послать команды повторно.
Так что очень советую проверить ваше решение в зашумленном месте.
Мы реализовали работу с кипером. Один из клиентов попросил добавить оплату, чтобы работать на веранде. Вот и реализовали.
По поводу всех носимых устройств могу сразу посоветовать отказываться от работы по BT (если есть такая возможность). Как только эфир становится зашумленным — сразу возникают проблемы со связью. Чтобы понять это, нам пришлось просить сделать для ПТК-ки специальную прошивку, которая зеркалирует весь трафик в COM порт. Я мог передавать последовательность байт «8A D1 DD», а устройство получало «8A C1 DD».
Поэтому мы договорились со Штрихом о замене BT модулей на WiFi.
З.Ы. Могу пожелать удачи тому, кто еще возьмется самостоятельно реализовывать этот протокол для ШТРИХА :)
З.З.Ы. Коллеги из QR думаю знают кто мы :)
habrahabr.ru/post/145524/
michaelteeuw.nl/tagged/magicmirror
class.coursera.org/pythonlearn-003
Второе эссе: «What is the impact of programming on our world? Does everyone need to learn programming? How might individual lives and society as a whole be changed if we found a way to include programming and technology at all levels of education?»
Вариантов где купить это же и за дорого — полно :)
devicter.ru/goods/One-Wire-Temperature-Sensor
Даже с выводом в COM порт (Serial.print). Подправить чтобы лишнее не слал.
LabVIEW пишет в порт, например, GetAll.
Получив эту строку ардуинка отправляет все значения, разделив их чем-нибудь. Например запятой. А как уже дальше парсят эту строку — ардуинке не важно.
Хотите запрашивать один датчик — Get1. Ну и т.д.
Может быть было проще сделать реализацию когда ардуинка сама читает данные с датчиков и отсылает данные в порт?
STX, 02 — Start of Text, начало текста.
Лично я менял одну из карточек как раз из-за не работающего чипа. Проводишь магнитной полосой, а терминал говорил что надо использовать чип. Ну а чип он не мог прочитать.
Тогда еще не знал о возможности 3-х ошибок, разрешения прочитать магнитную полосу и подписать слип по старинке.
1. Проводим магнитной полосой => Терминал говорит что надо использовать чип
2. Вставляем карту, но так, чтобы чип был наружу, т.е. обратной стороной => Терминал принимает это за ошибку чтения и просит повторить (или пишет что-то про ошибку)
3. Повторяем предыдущий пункт еще 2 раза
4. После этого терминал разрешает провести оплату при помощи магнитной полосы
Про данную особенность мне рассказал сотрудник компании, которая предоставила нам банковский терминал для разработки ПО, которое общается с ним (терминалом) по WiFi.
Данная возможность заложена на случай поломки считывателя в терминале или неисправности чипа на карте.
Все хочу проверить эту возможность на верипосовских терминалах, но в последнее время тестовых в офисе не появлялось.
Все маководы, с которыми я общаюсь, имеют тачпад. И у всех, ко всему прочему, ноутбуки.
Да и как писал grishkaa, мышку тоже можно использовать для этих же целей. Так что тачпад в данном случае = мышке.
У меня тоже руки постоянно на клавиатуре — пока еще это лучший способ писать код. Но бывает так, что встаешь к коллеге. А потом чтобы заблокировать компьютер — надо обойти стол и нажать комбинацию. А с активными углами я тянусь одной рукой, пара движений (два — для верности :) и можно идти.
Надо рассматривать это не как замену, а как дополнение.