|
Помоготи начать проект с нуля, Программирование под Windows CE |
|
|
|
Jun 2 2010, 09:08
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Стоит задача пообщаться через блютуз навигатора с другим устройством . Не разу не программировал под Windows CE. Подскажите , как начать, какую студию выбрать. Пишу на Builder C++. Навигатор HP. Если можно сразу пару премерчиков, типа хелло ворльд. Заранеее спасибо.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 28)
|
Jun 3 2010, 03:51
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(x736C @ Jun 3 2010, 03:05)  Бесплатная MS Visual Studio Express for Windows Phone и Windows Mobile 6 Standard (SDK) Refresh к нему с примерчиками вроде «хеллоу ворлд» вполне сойдет. Спасибо. А вот это вот: eMbedded Visual C++ 4.0??? А можно какую-нибудь маленькую инструкцию, если не сотавит труда. А то явообще в првый раз, я уверен, что там всё как на старшем брате, но хотелось бы чего-нибудь уточнить, чтобы на млочах не сидеть долго. Заранее Вам оченьп ризнателен.
|
|
|
|
|
Jun 3 2010, 12:13
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-10-08
Пользователь №: 40 905

|
Цитата(Prinz @ Jun 3 2010, 10:35)  Поразбирался немного. Подскажите, а есть какая-нибудь студия, где как в билдере окна добавлять можно и т.п. embedded VC4 устаревшая, 3 года MS рекомендовала и раздавало с паролем на полгода visual studio 2005. помнится, проект под "мобильное устройство" выбирал, работал с MFC обычной, в качестве симулятора один из предлагаемых мобильников выбирал.
|
|
|
|
|
Jun 7 2010, 04:33
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(oll @ Jun 4 2010, 00:30)  на сахаре уже обсуждалось попробовал писать под навигатор Atom 5'' с Windows CE5 на C# с использованием бесплатных средств программирования. Нашел вот такую ссылку: c-scope.blogspot.com/search/label/Compact%20Framework. Использовал SharpDevelop 3.0 IDE + SDK CompactFramework v2.0 для WindowsCE. Немного геморно (есть заморочки) но гуевое приложение создается/рисуется достаточно просто (не все поддерживается - кнопки, чекбоксы, прогрессбар,текстбокс, лабел - проверил работает). Причем приложение работает и на PC и навигаторе. USB хост, пока не освоил, но Гудвин в этом преуспел. Попробую Ваш вариант. И ещё VS2008 может быть. Всем спасибо за помощь. О результатах напишу.
|
|
|
|
|
Jun 7 2010, 09:10
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(kosyak© @ Jun 7 2010, 14:37)  Производители кто во что горазд ставят стэки блютуф на свои смартфоны/кпк/коммуникаторы, соотвественно и работать приходится с каждым индивидуально  ... во всяком случае так было года 3 назад. А можно какой-нибудь пример??? Изыскал возможность в студии на си шарме писать.
|
|
|
|
|
Jun 7 2010, 11:03
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(kosyak© @ Jun 7 2010, 15:38)  Боюсь что мой пример мало чем поможет... У меня на устройстве был блютуф стэк от Widcomm... соотвественно использовалась библиотека от них... Лучше найдите пример под стэк, который установлен у вас на устройстве... А мнебы хотябы порт сейчас открыть. Это тоже у всех по своему? Спасибо. Сейчас попробую.
|
|
|
|
|
Jun 7 2010, 11:26
|

Частый гость
 
Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966

|
Вообще в стэке от видкомм было несколько этапов для установления связи: - Поиск устрйоств - Поиск доступных серивсов на конкретном устройстве - аутентификация и соединение с сервисом Я так подозреваю что эти шаги реализуются любым стэком... но всеми поразному  Есть еще вариант средствами ОС назначить определенному сервису устройства виртуальный ком порт, и тогда работать с ком портом а не со стэком блютуф... Как то так...
|
|
|
|
|
Jun 8 2010, 04:34
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(kosyak© @ Jun 7 2010, 17:26)  Есть еще вариант средствами ОС назначить определенному сервису устройства виртуальный ком порт, и тогда работать с ком портом а не со стэком блютуф... Как то так... Вот именно мне так и надо.  Сейчас над этим работаю. А по этому поводу у Вас подсказочки есть?
|
|
|
|
|
Jun 8 2010, 09:07
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(kosyak© @ Jun 8 2010, 12:50)  Ну..тут я ничего сказать не могу - я не знаю можно ли в CE (именно на вашием устройстве) настроить виртуальный порт на работу с сервисами устройства блютуф...у меня такой возможности не было. Но, например, стэк от Майкросот, для ПК, такие вещи делать позволяет, может быть если у Вас использыется этот же стек то и на ЦЕ тоже это можно... Покажите пожалуйста с чего хоть начать, я сегодня весь день форумы листаю и ничего путного не нашёл. Мнебы хотя бы статус считать какой-нибудь.  Заранее спасибо.
|
|
|
|
|
Jun 9 2010, 04:53
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Добрый день, нашёл кусок кода для эмуляции блютуз как ком порт. Скомпелировал. Но эта функция DeregisterDevice(test) не выполныется успешно. Прокансультируйье пожалуйста.
IntPtr test; [DllImport("coredll", EntryPoint = "DeregisterDevice", SetLastError = true)] internal static extern bool DeregisterDevice(IntPtr hDevice); [DllImport("coredll", EntryPoint = "RegisterDevice", SetLastError = true)] internal static extern IntPtr RegisterDevice(string lpszType, int dwIndex, string lpszLib, [Out]PORTEMUPORTPARAMS portInfo); [StructLayout(LayoutKind.Sequential)] internal class PORTEMUPORTPARAMS { public int channel = 1; public int flocal = 0; public ulong device = 0; public int imtu = 0; public int iminmtu = 0; public int imaxmtu = 0; public int isendquota = 0; public int irecvquota = 0; public Guid uuidService; public int uiportflags = 0; } private void RegisterCOMPort() { int i; Encoding ascii = Encoding.ASCII; Byte[] encodedBytes = ascii.GetBytes(textBox1.Text); PORTEMUPORTPARAMS portInfo = new PORTEMUPORTPARAMS(); // Изменить шестнадцатеричного значения в десятичное, потому что так // Microsoft рассчитывает получить его for (i = 0; i < 12; ++i) { int c = encodedBytes[i]; if (c >= 'a') c = c - 'a' + 0xa; if (c >= 'A') c = c - 'A' + 0xa; else c = c - '0'; portInfo.device = (portInfo.device * 16) + (ulong)c; //portInfo.device = (ulong) 0x000AD2102561; } // Intermec принтер настроен на канал 1, поэтому мы не должны использовать // Guid информацию, чтобы найти его. portInfo.channel = 1; portInfo.uiportflags = 0; test = RegisterDevice("COM", 9, "btd.dll", portInfo); if (test != null) label5.Text = "RegisterDevice выполнено успешно"; else label5.Text = "RegisterDevice выполнено не успешно"; } private void button3_Click(object sender, EventArgs e) { //textBox1.Text = bre.strDataBuffer; //textBox1.Text = "001CC4FD01D8"; textBox1.Text = "000AD2102561"; Cursor.Current = Cursors.WaitCursor; Cursor.Show(); RegisterCOMPort();
//... Модули печати ... тут;
if (DeregisterDevice(test)) label6.Text = "DeregisterDevice выполнено успешно"; else label6.Text = "DeregisterDevice выполнено не успешно"; test = IntPtr.Zero; Cursor.Current = Cursors.Default; Cursor.Hide(); }
|
|
|
|
|
Jun 9 2010, 20:31
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Книга " Douglas Boling. Programming Microsoft Windows CE .NET, Third Edition" даст ответы на многие вопросы. По указанной ссылке Вы сможете скачать архив с 9 книгами по программированию для WindowsCE,Windows Mobile. Нужная Вам книга в этом архиве - "Programming_Microsoft_WindowsCe.Net_3Ed.chm".
|
|
|
|
|
Jun 10 2010, 11:00
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(Konst_777 @ Jun 10 2010, 00:39)  Спасиюо юольшее. Сйчас буду осваивать. Цитата(Konst_777 @ Jun 10 2010, 00:39)  Всё очень понятно и прекрассно. но не работает. Я даже статус устройтсва получить не могу. Он всё время false возвращает и -1. Всё подключается, никаких исключений нет, а всё равно не работает.  Как я понял из интернета у многих такие проблемы. С чем это может быть связано??? Вроде то ошибиться нечего. функции инмортируются. Может где что в студии настроить надо? С чем это может быть связано???
|
|
|
|
|
Jun 16 2010, 04:53
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(Konst_777 @ Jun 13 2010, 11:20)  Все таки я верю, что если работать по книге "Douglas Boling. Programming Microsoft Windows CE .NET, Third Edition", то все получиться... Но для этого нужно использовать Microsoft eMbedded Visual C++ 4.0 и создавать графический интерфейс с помощью native Win API. Эта технология позавчерашнего дня удручает своей бесперспективностью.
Я попробовал использовать Windows Mobile 6.5.3 Developer Tool Kit (Windows Mobile 6.5.3 Professional). В плане поддержки программирования для Bluetooth, документация очень обнадеживает. Но, не удалась конвертация ни одного примера в Visual Studio 2008 и 2010. Сейчас скачиваю Visual Studio 2005, которая заявлена штатным средством разработки для Windows Mobile 6.5.3 Professional. Попробую запустить примеры в Visual Studio 2005. Только вот, похоже, что скачивать Visual Studio 2005 буду еще несколько дней... Добрый день. Спасибо ещё раз за помощь. Я бился бился, но так ничего и не вышло. Сейчас поменял аппарат на HTC. Но возникла проблема, не одно моё приложение написанное в VS2008 вообще не запускается. НА нём стоит WinMob 6.1. Я с майкрасовтовского сайта скачал сдк для WinMob 6. Но всё равно ничего не работает.  Microsoft eMbedded Visual C++ 4.0 Много примеров. Но я обращаю внимание, на то что люди и в VS тоже удачно пишут. А в ксате помоему VS2010 вообще smart device не поддерживает.
|
|
|
|
|
Jun 17 2010, 14:28
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Вообщем, скачал я Visual Studio 2005. Да еще и SP1 к нему.  Все это установил, запустил VS2005 и попробовал откомпилировать примеры из Windows Mobile 6.5.3 DTK. Результаты оказались еще хуже, чем в Visual Studio 2008.  То есть, VS2005 проекты признал своими. Но при компиляции жаловался на плохую библиотеку dll и сокрушенно сообщал, что база проекта разрушена.  Тогда я вернулся в VS2008, предварительно деинсталировав все, что хоть как то было связано с Windows Mobile/CE. Не помогло. При конвертации проектов VS2008 сообщал, то же что и раньше: не установлена платформа, для которой предназначен проект.  И вот тут то мне и помогло Ваше последнее сообщение. Я решил тоже установить Windows Mobile 6 SDK. Скачал и установил их обновленную - Refresh версию. После этого все примеры для Bluetooth из Windows Mobile 6.5.3 DTK (BthChat, btsearch и SpaceWar2D) успешно откомпилировались. Конечно же, попытки запустить примеры на любом эмуляторе заканчивались сообщением:"Socket Error: 10050". А при попытке включить Bluetooth все эмуляторы гордо сообщали: "  There is no Bluetooth hardware installed on this device." Поэтому я подключил к компьютеру через кабель USB реальный смартфон и все примеры перестали жаловаться на отсутствие Bluetooth, как только я его включил в смартфоне. Все это я сделал под Windows XP на нетбуке. В Windows 7 тот же VS2008, при попытке соединиться с любым эмулятором Windows Mobile 6 SDK постоянно аварийно завершает работу и зависает. Какую то стабильность можно получить, если до отладки соединиться с нужным эмулятором. У меня тоже сложилось впечатление, что VS2010 признает только Windows XNA и создание приложений только для Windows Phone 7.
|
|
|
|
|
Jun 24 2010, 07:28
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(Konst_777 @ Jun 17 2010, 20:28)  И вот тут то мне и помогло Ваше последнее сообщение. Я решил тоже установить Windows Mobile 6 SDK. Скачал и установил их обновленную - Refresh версию. После этого все примеры для Bluetooth из Windows Mobile 6.5.3 DTK (BthChat, btsearch и SpaceWar2D) успешно откомпилировались.  Занимался другим проектом пока. А сейчас вновь вернулся к этой задаче и на HTC написал гиертерминал для общения через ком - порт. Эмулируем блютуз устройство, как ком порт и всё просто суер работает. Теперь вот думаю, как непосредственно с блютузом поработать. Изучаю посаветанную литературу.
Сообщение отредактировал rezident - Jun 26 2010, 01:11
Причина редактирования: Нарушение п.3.4 Правил форума.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|