Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помоготи начать проект с нуля
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Prinz
Стоит задача пообщаться через блютуз навигатора с другим устройством .
Не разу не программировал под Windows CE.
Подскажите , как начать, какую студию выбрать.
Пишу на Builder C++.
Навигатор HP.
Если можно сразу пару премерчиков, типа хелло ворльд.
Заранеее спасибо.
smile.gif
Konst_777
Может быть, Вам поможет эта книга: Климов - Программирование КПК и смартфонов на .NET Compact Framework
x736C
Бесплатная MS Visual Studio Express for Windows Phone
и Windows Mobile 6 Standard (SDK) Refresh к нему с примерчиками вроде «хеллоу ворлд» вполне сойдет.
Prinz
Цитата(x736C @ Jun 3 2010, 03:05) *
Бесплатная MS Visual Studio Express for Windows Phone
и Windows Mobile 6 Standard (SDK) Refresh к нему с примерчиками вроде «хеллоу ворлд» вполне сойдет.


Спасибо.
А вот это вот: eMbedded Visual C++ 4.0???
А можно какую-нибудь маленькую инструкцию, если не сотавит труда.
А то явообще в првый раз, я уверен, что там всё как на старшем брате, но хотелось бы чего-нибудь уточнить, чтобы на млочах не сидеть долго.
Заранее Вам оченьп ризнателен. smile.gif
Prinz
Поразбирался немного.
Подскажите, а есть какая-нибудь студия, где как в билдере окна добавлять можно и т.п.
zits
Цитата(Prinz @ Jun 3 2010, 10:35) *
Поразбирался немного.
Подскажите, а есть какая-нибудь студия, где как в билдере окна добавлять можно и т.п.

embedded VC4 устаревшая, 3 года MS рекомендовала и раздавало с паролем на полгода visual studio 2005.
помнится, проект под "мобильное устройство" выбирал, работал с MFC обычной, в качестве симулятора один из
предлагаемых мобильников выбирал.
oll
на сахаре уже обсуждалось
попробовал писать под навигатор Atom 5'' с Windows CE5 на C# с использованием бесплатных средств программирования.
Нашел вот такую ссылку: c-scope.blogspot.com/search/label/Compact%20Framework.
Использовал SharpDevelop 3.0 IDE + SDK CompactFramework v2.0 для WindowsCE.
Немного геморно (есть заморочки) но гуевое приложение создается/рисуется достаточно просто (не все поддерживается - кнопки, чекбоксы, прогрессбар,текстбокс, лабел - проверил работает). Причем приложение работает и на PC и навигаторе. USB хост, пока не освоил, но Гудвин в этом преуспел.
Prinz
Цитата(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 может быть.
Всем спасибо за помощь.
О результатах напишу.
Prinz
Установил VS2008.
Вроде освоился формы делать, правда на бейсике. Но это ладно.
А у кого-нибудь есть опыт работы с блютуз???
kosyak©
Производители кто во что горазд ставят стэки блютуф на свои смартфоны/кпк/коммуникаторы, соотвественно и работать приходится с каждым индивидуально smile.gif... во всяком случае так было года 3 назад.
Prinz
Цитата(kosyak© @ Jun 7 2010, 14:37) *
Производители кто во что горазд ставят стэки блютуф на свои смартфоны/кпк/коммуникаторы, соотвественно и работать приходится с каждым индивидуально smile.gif... во всяком случае так было года 3 назад.


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


А мнебы хотябы порт сейчас открыть. Это тоже у всех по своему?
Спасибо.
Сейчас попробую.
kosyak©
Вообще в стэке от видкомм было несколько этапов для установления связи:
- Поиск устрйоств
- Поиск доступных серивсов на конкретном устройстве
- аутентификация и соединение с сервисом

Я так подозреваю что эти шаги реализуются любым стэком... но всеми поразному smile.gif
Есть еще вариант средствами ОС назначить определенному сервису устройства виртуальный ком порт, и тогда работать с ком портом а не со стэком блютуф...
Как то так...
Prinz
Цитата(kosyak© @ Jun 7 2010, 17:26) *
Есть еще вариант средствами ОС назначить определенному сервису устройства виртуальный ком порт, и тогда работать с ком портом а не со стэком блютуф...
Как то так...


Вот именно мне так и надо. smile.gif
Сейчас над этим работаю.
А по этому поводу у Вас подсказочки есть? smile.gif
kosyak©
Ну..тут я ничего сказать не могу - я не знаю можно ли в CE (именно на вашием устройстве) настроить виртуальный порт на работу с сервисами устройства блютуф...у меня такой возможности не было.
Но, например, стэк от Майкросот, для ПК, такие вещи делать позволяет, может быть если у Вас использыется этот же стек то и на ЦЕ тоже это можно...
Prinz
Цитата(kosyak© @ Jun 8 2010, 12:50) *
Ну..тут я ничего сказать не могу - я не знаю можно ли в CE (именно на вашием устройстве) настроить виртуальный порт на работу с сервисами устройства блютуф...у меня такой возможности не было.
Но, например, стэк от Майкросот, для ПК, такие вещи делать позволяет, может быть если у Вас использыется этот же стек то и на ЦЕ тоже это можно...


Покажите пожалуйста с чего хоть начать, я сегодня весь день форумы листаю и ничего путного не нашёл.
Мнебы хотя бы статус считать какой-нибудь. smile.gif
Заранее спасибо. smile.gif
Prinz
Если быть точным, то у меня навигатор HP ipaq 314.
Может у кого есть какие-нибудь примеры когда на C# для Bluetooth.
Буду очень признаателен.
Prinz
Добрый день, нашёл кусок кода для эмуляции блютуз как ком порт.
Скомпелировал.
Но эта функция 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();


}
Prinz
Подразобрался, оказывается RegisterDevice тоже не выполняется.
Konst_777
Цитата(Prinz @ Jun 8 2010, 13:13) *
Если быть точным, то у меня навигатор HP ipaq 314.
Может у кого есть какие-нибудь примеры когда на C# для Bluetooth.
Буду очень признаателен.


Попробуйте поискать в Google "ipaqutil.dll". Мне удалось найти:
КПК HP iPAQ 114. Для работы с Bluetooth и WiFi я использовал встроенную DLL`ку ipaqutil.dll
Программное включение и выключение Bluetooth и WLAN на HP iPAQ
Пример подключения iPAQUtil.dll в C#
Konst_777
Книга "Douglas Boling. Programming Microsoft Windows CE .NET, Third Edition" даст ответы на многие вопросы. По указанной ссылке Вы сможете скачать архив с 9 книгами по программированию для WindowsCE,Windows Mobile. Нужная Вам книга в этом архиве - "Programming_Microsoft_WindowsCe.Net_3Ed.chm".
Prinz
Цитата(Konst_777 @ Jun 10 2010, 00:39) *


Спасиюо юольшее. Сйчас буду осваивать.

Цитата(Konst_777 @ Jun 10 2010, 00:39) *


Всё очень понятно и прекрассно.
но не работает.
Я даже статус устройтсва получить не могу.
Он всё время false возвращает и -1.
Всё подключается, никаких исключений нет, а всё равно не работает. crying.gif

Как я понял из интернета у многих такие проблемы.
С чем это может быть связано???
Вроде то ошибиться нечего.
функции инмортируются.
Может где что в студии настроить надо?
С чем это может быть связано???
Konst_777
Все таки я верю, что если работать по книге "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 буду еще несколько дней...
Prinz
Цитата(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. Но всё равно ничего не работает. sad.gif


Microsoft eMbedded Visual C++ 4.0 Много примеров.
Но я обращаю внимание, на то что люди и в VS тоже удачно пишут.
А в ксате помоему VS2010 вообще smart device не поддерживает. smile.gif
Konst_777
Вообщем, скачал я Visual Studio 2005. Да еще и SP1 к нему. 01.gif Все это установил, запустил VS2005 и попробовал откомпилировать примеры из Windows Mobile 6.5.3 DTK. Результаты оказались еще хуже, чем в Visual Studio 2008. blink.gif То есть, VS2005 проекты признал своими. Но при компиляции жаловался на плохую библиотеку dll и сокрушенно сообщал, что база проекта разрушена. wacko.gif Тогда я вернулся в VS2008, предварительно деинсталировав все, что хоть как то было связано с Windows Mobile/CE. Не помогло. При конвертации проектов VS2008 сообщал, то же что и раньше: не установлена платформа, для которой предназначен проект. crying.gif И вот тут то мне и помогло Ваше последнее сообщение. Я решил тоже установить Windows Mobile 6 SDK. Скачал и установил их обновленную - Refresh версию. После этого все примеры для Bluetooth из Windows Mobile 6.5.3 DTK (BthChat, btsearch и SpaceWar2D) успешно откомпилировались. 08.gif

Конечно же, попытки запустить примеры на любом эмуляторе заканчивались сообщением:"Socket Error: 10050". А при попытке включить Bluetooth все эмуляторы гордо сообщали: " excl.gif There is no Bluetooth hardware installed on this device." Поэтому я подключил к компьютеру через кабель USB реальный смартфон и все примеры перестали жаловаться на отсутствие Bluetooth, как только я его включил в смартфоне. laughing.gif

Все это я сделал под Windows XP на нетбуке. В Windows 7 тот же VS2008, при попытке соединиться с любым эмулятором Windows Mobile 6 SDK постоянно аварийно завершает работу и зависает. Какую то стабильность можно получить, если до отладки соединиться с нужным эмулятором.

У меня тоже сложилось впечатление, что VS2010 признает только Windows XNA и создание приложений только для Windows Phone 7.
Prinz
Цитата(Konst_777 @ Jun 17 2010, 20:28) *
И вот тут то мне и помогло Ваше последнее сообщение. Я решил тоже установить Windows Mobile 6 SDK. Скачал и установил их обновленную - Refresh версию. После этого все примеры для Bluetooth из Windows Mobile 6.5.3 DTK (BthChat, btsearch и SpaceWar2D) успешно откомпилировались. 08.gif


Занимался другим проектом пока.
А сейчас вновь вернулся к этой задаче и на HTC написал гиертерминал для общения через ком - порт. Эмулируем блютуз устройство, как ком порт и всё просто суер работает.
Теперь вот думаю, как непосредственно с блютузом поработать. Изучаю посаветанную литературу. smile.gif
jorikdima
http://32feet.codeplex.com/
Рекомендую ознакомится и не мучаться особо с BT.
muravei
Цитата(Prinz @ Jun 24 2010, 11:28) *
на HTC написал гиертерминал для общения через ком - порт.

Как-то пытался пообщаться с "G-sensor"ом НТС , но не получилось. sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.