Program do komunikacji z telefonem poprzez BlueTooth

0

Witam chciałbym napisać program który komunikuje się z telefonem (android) poprzez interfejs BlueTooth, na początek chciałbym zacząć od pisania odpowiedniego programu na windows, I tu moje pytanie jak w systemie windows, przy użyciu jakiej bibloteki można by napisać program który by obsłógiwał bluetooth, tzn listowanie sieci, serwer,klient, odbiór i wysyłanie danych, na windowsie chciałbym zrobić serwer. Istnieje taka możliwość zrobienia tego z CodeBlocks? jeżeli tak to prosiłbym o jakieś proste przykłady prostych programów, jaka paczka jest potrzebna jak dokładnie zainstalować. z góry dziękuje.

0

Tylko czy te rozwiązania nie są wyłącznie dla MS visual c++ ? wolałbym użyć CodeBlocks, a jeśli się nie da to czy było by to kompatybilne z MS Visual 6 ?

0

nie są wyłącznie dla VC++, ale pod CodeBlocks może ci brakować potrzebnych nagłówków i bibliotek:

The Bthsdpdef.h file must be included before BluetoothAPIs.h. The Ws2bth.h file must be included after Winsock2.h to use Bluetooth sockets. Link only to Bthprops.lib, and avoid linking to Irprops.lib

Zobacz czy masz te cztery podane nagłówki. Libka będzie się nazywać inaczej, prawdopodobnie libBthprops.a.

jak nie ma, to sprawa się komplikuje: trzeba albo znaleźć w necie odpowiedni pakiet, albo skopiować nagłówki z Windows SDK (być może poprawić by się kompilowały...) a libkę przekonwertować albo wygenerować na nowo.

Pod VS 6 na pewno tych plików nie będzie. Z kompatybilnością różnie może być. To bardzo stara wersja. Polecam 2010 albo 2012 Express.

0

Poczytaj o profilach jakie udostępnia BT. Wg mnie najprościej jest użyć profilu SPP ( Serial port profile ), w systemie Windows będziesz widział go jako zwykły port szeregowy COM.

0

Pobrałem te pliki nagłówkowe i kompilując najprostszy przykład mam takie błędy

__MINGW_EXTENSION' does not name a type

'BTH_ADDR' does not name a type|

 '__C89_NAMELESS' does not name a type|
 'data' does not name a type|
 'AF_BTH' was not declared in this scope|
||=== Build finished: 11 errors, 2 warnings (0 minutes, 0 seconds) ===|

okrawając te rzeczy program się skompilował, ew wywala błąd 'AF_BTH' was not declared in this scope| nadal, dodałem nagłówek winsock2.h ale nic nie dał poza tym jak podstawiłem wartość tej zmiennej(AF_BTH) jaka widniała w dokumentacji (32) to przy

if (0 != bind (s, (SOCKADDR*) &sab, sizeof(sab)))
    {
        wprintf (L"Socket bind, error %d\n", WSAGetLastError ());
        closesocket (s);
        return 0;
    }

wywala błąd o numerze 10049

dodanie znacznika <code class="cpp"> - fp

0

Inny przykład błąd undefined reference to OBEXFileTransferServiceClass_UUID'| undefined reference to GUID_NULL'|
dodałem te dwa pliki .a , nie pomogły po zmianie wartości tych zmiennych na NULL znów bind error.
W najprostszym przykładzie do wyszukiwania urządzeń BT (http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancedotherprotocol4j.html) wywala bląd przy kompilacji 'NS_BTH' was not declared in this scope|
jak podstawie pod nią wartość z dokumentacji (16) to

if (WSALookupServiceBegin(&wsaq, LUP_CONTAINERS, &hLookup) == SOCKET_ERROR)

            {

                        printf("WSALookupServiceBegin() failed %d\r\n", WSAGetLastError());

                        return FALSE;

            }

wywala błąd 10108

dodanie znacznika <code class="cpp"> - fp

0

PObrałem paczke Windows SDK 7.1 dla win7 i MS visual c++ 2010, program się kompiluje, problem z linkerem, takie błędy:
i może ktoś by mi na szybko powiedział jak dołącza się pliki .lib do projektu i jakie to mam dołączyć?

1>------ Build started: Project: tst, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\program files\microsoft sdks\windows\v7.0a\include\bluetoothapis.h(863): warning C4068: unknown pragma
1>c:\program files\microsoft sdks\windows\v7.0a\include\bluetoothapis.h(1032): warning C4068: unknown pragma
1>c:\program files\microsoft sdks\windows\v7.0a\include\bluetoothapis.h(1326): warning C4068: unknown pragma
1>c:\program files\microsoft sdks\windows\v7.0a\include\bluetoothapis.h(1458): warning C4068: unknown pragma
1>main.obj : error LNK2019: unresolved external symbol __imp__WSALookupServiceEnd@4 referenced in function "int __cdecl FindingBtDevices(void)" (?FindingBtDevices@@YAHXZ)
1>main.obj : error LNK2019: unresolved external symbol __imp__WSALookupServiceNextA@16 referenced in function "int __cdecl FindingBtDevices(void)" (?FindingBtDevices@@YAHXZ)
1>main.obj : error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function "int __cdecl FindingBtDevices(void)" (?FindingBtDevices@@YAHXZ)
1>main.obj : error LNK2019: unresolved external symbol __imp__WSALookupServiceBeginA@12 referenced in function "int __cdecl FindingBtDevices(void)" (?FindingBtDevices@@YAHXZ)
1>main.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _main
1>c:\users\admin\documents\visual studio 2010\Projects\tst\Debug\tst.exe : fatal error LNK1120: 6 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

// DObra to też już wiem tylko mam dwa pytania jeszcze, W codeblocks program konsolowy był zawsze zatrzymywany na końcu uruchamiania a tutaj się Od razu zamyka i nie wiem co nawet wyświetlił jest jakaś możliwość zrobienia tego? a drugi jakiś link bym prosił do w miare ogarniętego poradnika do MS visual c++ 2010

Dobra mam nadal lekkie problemy z tym bindowaniem serwera, ale grunt że wyszukuje adapter BT na USB. pokombinuje coś później jeszcze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1