ГОСПОДА програмисты!!!! вопрос по теме - его кстати кто-то уже задавал но не был услышан. как насчет сделать считывание данных по БЛЮТУЗ или Инфракрасному порту??????? и еще по моему актуально написать программу под КПК (карманный компьютер) под Pocket PC 2003 - как самая развитая ОС для карманников(под PocketPC2002 AlexCFR писал что не справляется - устаревшая операционка. 2003 пошустрее будет). мобилу с БЛЮТУЗОМ и IrDA могу пожертвовать. а то AlexCFR пишет в гордом одиночестве. согласитель что лучше сидеть в машине с маленьким КПК нежели таскаться с 3-х килограмовым ноутом. и не каждый себе может позволить ноутбук. а КПКшки щас чуть ли не по 150 $ а потом КПК можно с собой таскать не напрягаясь. сунул в карман или барсетку и В ЛЮБОЙ МОМЕНТ можно протестировать систему. весят они от 140 и до 200грамм. и карман не тянут. а кто нибудь пробовал ходить каждый день с ноутбуком? у меня знакомый поездил с ним месяц и потом просто бросил на работе. купил КПК и щас очень доволен.
 
Zlo 777 сказал(а):
ГОСПОДА програмисты!!!! вопрос по теме - его кстати кто-то уже задавал но не был услышан. как насчет сделать считывание данных по БЛЮТУЗ или Инфракрасному порту???????

У нас есть рабочий макет с IrDA с программой для РС. Но нет уверенности, что такой прибор будет пользоваться спросом, поэтому в производство он не запущен. По этой же причине не проводились работы по софту для PalmOS и PocketPC (портирование, понятно, невозможно по причине разных GUI). Проблема вот в чем: простым переходником DDL-RS232 тут не обойтись, нужно железо с процессором, способным раннить стандартный стек протокола IrDA (хотя бы в минимальной имплементации). Себестоимость такого устройства (разъем, кабель, плата, корпус, детали, работа) будет не меньше 1000 руб. Плюс накладные расходы, плюс расходы на запуск производства, плюс лицензирование софта - окончательная цена выйдет на уровень 2000-3000 р. А это уже никак не 200 руб плюс дружба с паяльником.
 
VCons сказал(а):
У нас есть рабочий макет с IrDA с программой для РС. Но нет уверенности, что такой прибор будет пользоваться спросом, поэтому в производство он не запущен. По этой же причине не проводились работы по софту для PalmOS и PocketPC (портирование, понятно, невозможно по причине разных GUI). Проблема вот в чем: простым переходником DDL-RS232 тут не обойтись, нужно железо с процессором, способным раннить стандартный стек протокола IrDA (хотя бы в минимальной имплементации). Себестоимость такого устройства (разъем, кабель, плата, корпус, детали, работа) будет не меньше 1000 руб. Плюс накладные расходы, плюс расходы на запуск производства, плюс лицензирование софта - окончательная цена выйдет на уровень 2000-3000 р. А это уже никак не 200 руб плюс дружба с паяльником.
Как-то все слишком сложно у вас получается. По причине отсутствия у меня COM-овского кабеля к моему КПК, мой первый вариант программы работал именно через ИК-порт. К переходнику DDL-RS232 подключается любой ИК-интерфейс(я использовал Tekram IRMate-210, цена вопроса около 10$) и все. Не надо никаких устройств с процессором для реализации протокола IrDA, весь обмен через ИК-порт идет в raw режиме.
Предполагая закономерный вопрос почему я отказался от работы через ИК-порт сразу отвечу. Самое главное что меня не устраивало, это необходимость постоянно следить за взаимной ориентацией КПК и ИК-интерфейса(как известно сектор излучения у них специально делается узким), ну и как следствие в момент кратковременной потери связи могли появиться ложные показания. Работа через ИК-порт возможна в полудуплексном режиме, что вело за собой усложнение и коммуникационной части программы. Вообщем работа через обычный COM-порт со всех точек зрения(по моему мнению) гораздо удобнее.
 
AlexTim сказал(а):
Как-то все слишком сложно у вас получается. По причине отсутствия у меня COM-овского кабеля к моему КПК, мой первый вариант программы работал именно через ИК-порт. К переходнику DDL-RS232 подключается любой ИК-интерфейс(я использовал Tekram IRMate-210, цена вопроса около 10$) и все. Не надо никаких устройств с процессором для реализации протокола IrDA, весь обмен через ИК-порт идет в raw режиме.
Предполагая закономерный вопрос почему я отказался от работы через ИК-порт сразу отвечу. Самое главное что меня не устраивало, это необходимость постоянно следить за взаимной ориентацией КПК и ИК-интерфейса(как известно сектор излучения у них специально делается узким), ну и как следствие в момент кратковременной потери связи могли появиться ложные показания. Работа через ИК-порт возможна в полудуплексном режиме, что вело за собой усложнение и коммуникационной части программы. Вообщем работа через обычный COM-порт со всех точек зрения(по моему мнению) гораздо удобнее.

У меня в результате испытаний сложилось другое мнение. Сектор излучения по стандарту не такой уж узкий - не менее 30 градусов (и не более 60). Проблем с ориентацией у меня не возникало, возможно, из-за отражений ИК внутри малого объема автомобиля. С нотбуком даже было сложно найти положение, где связь теряется. С Palm ситуация была похуже (там low-power IrDA), но все равно приемлемо.

Стандартный переходник - изящное решение. А как его можно заставить работать на фиксированной скорости СОМ 9600 бод? И что нужно для питания - какие-то служебные сигналы RS232?

Ложных показаний по идее быть не должно - честный IrCOMM raw передает данные через слой IrLMP, т.е. доставка пакетов гарантирована даже при кратковремменой потере связи. Возможны запаздывания. Полудуплекс тоже никак не должен мешать. Если только в переходнике есть достаточные буфера, иначе это дрова.
 
VCons сказал(а):
Стандартный переходник - изящное решение. А как его можно заставить работать на фиксированной скорости СОМ 9600 бод? И что нужно для питания - какие-то служебные сигналы RS232?
Стандартный переходник представляет из себя устройство, не требующее какого-либо программирования,т.е. с какой скоростью он получает данные через COM порт, с такой и осуществляет ИК-передачу. Для своего питания он использует модемные сигналы RTS и DTR(по крайней мере тот который использовал я).
VCons сказал(а):
Ложных показаний по идее быть не должно - честный IrCOMM raw передает данные через слой IrLMP, т.е. доставка пакетов гарантирована даже при кратковремменой потере связи. Возможны запаздывания. Полудуплекс тоже никак не должен мешать. Если только в переходнике есть достаточные буфера, иначе это дрова.
Raw режим на то и raw, что никаких доболнительных заголовков, контрольных сумм и т.п. к собственно данным не добавляется и никаких подтверждений о приеме этих данных не посылается.
 
AlexTim сказал(а):
Стандартный переходник представляет из себя устройство, не требующее какого-либо программирования,т.е. с какой скоростью он получает данные через COM порт, с такой и осуществляет ИК-передачу.
Но ведь ECU сам не начинает выдачу данных. Сначала он должен получить команды от компьютера, причем на скорости СОМ 9600 бод. Вопрос, кто и на каком этапе изначально определяет эту скорость.
AlexTim сказал(а):
Raw режим на то и raw, что никаких доболнительных заголовков, контрольных сумм и т.п. к собственно данным не добавляется и никаких подтверждений о приеме этих данных не посылается.
Вы ошибаетесь. Такого режима в стандарте IrDA нет. Есть режим 3-wire raw в надстройке IrCOMM (эмуляция COM через IrDA). Действительно, там нет CRC, заголовков и подтверждений. Но только на уровне данных application layer. Транспорт этих данных все равно идет через слои IrLMP и IrLAP и там эти raw данные пакетируются, добавляются заголовки CRC, служебные пакеты и т.д. Не верите - посмотрите стандарты на www.irda.org. И, кстати, скорость канала ИК не обязательно совпадает со скоростью СОМ.
Все это уже, похоже, становится off-topic. Давайте дальнейшие обсуждения (если есть желание обсуждать) переведем на мыло.
 
VCons сказал(а):
Но ведь ECU сам не начинает выдачу данных. Сначала он должен получить команды от компьютера, причем на скорости СОМ 9600 бод. Вопрос, кто и на каком этапе изначально определяет эту скорость.
Компьютер на скорости 9600 передает данные ИК-передатчику, тот преобразует кодировку NRZ(Non Return to Zero) в серию ИК импульсов(кодировка RZI т.е. Return to Zero Inverted), по которой ИК-приемник восстанавливает переданные байты и передает ECU(причем скорость получиться именно такая как и на передающей стороне т.е. 9600).
VCons сказал(а):
Вы ошибаетесь. Такого режима в стандарте IrDA нет. Есть режим 3-wire raw в надстройке IrCOMM (эмуляция COM через IrDA). Действительно, там нет CRC, заголовков и подтверждений. Но только на уровне данных application layer. Транспорт этих данных все равно идет через слои IrLMP и IrLAP и там эти raw данные пакетируются, добавляются заголовки CRC, служебные пакеты и т.д. Не верите - посмотрите стандарты на www.irda.org. И, кстати, скорость канала ИК не обязательно совпадает со скоростью СОМ.
Все это уже, похоже, становится off-topic. Давайте дальнейшие обсуждения (если есть желание обсуждать) переведем на мыло.
Я говорю не про стандарт IrDA и эмуляцию COM порта через IrCOMM, а про Raw IR, пример как с ним работать можно посмотреть по ссылке: http://vermeij.filternet.nl/programmer/rawir.html
 
AlexTim сказал(а):
Я говорю не про стандарт IrDA и эмуляцию COM порта через IrCOMM, а про Raw IR, пример как с ним работать можно посмотреть по ссылке: http://vermeij.filternet.nl/programmer/rawir.html
Теперь понятно, спасибо. Этот вариант мне не слишком нравится. Насколько я понимаю, такой режим возможен только в PocketPC c WindowsCE. И действительно, в таком режиме возможна потеря данных (и, следовательно, сбой протокола Nissan). Прелесть реализации стандартного стека протокола IrDA как раз в том, что возможно подключение любого хоста от Palm до Apple и доставка данных гарантирована без ошибок и пропусков.
 
Народ! Что-то я не пойму, на чем эта тема закончилась? Довели до логического завершения Консалт или нет? А то тут столько воды налито... :?