Samodzielne Nawigacje GPS - PNA / PND (Windows CE) > Nawigacje PNA / PND - Ogólnie

Parę programów do nawigacji PNA

<< < (5/6) > >>

angler22:
Zawsze i wszędzie trzeba zacząć od BSP, czyli sparowania z komputerem (czy dowolnym innym urządzeniem), w trybie portu szeregowego, bądź AS (niebieskie kółko jako ikonka). Dopiero po sparowaniu i "aktywowaniu" (wspomniałem już o tym) w systemie pojawia się BSP2 (lub wyższa liczba, jeśli 2 zajęta) i można z niego korzystać. Póki program MNJporttalk nie widzi BSP2, to nie masz co dalej kombinować, bo po prostu coś źle zrobiłeś. Dopiero jak ten program zobaczy BSP, można działać dalej np z przekierowaniem (dll'ka). Dll'kę trzeba wrzucić na pamięć flash (residentflash) i dodać do rejestru wspomniane klucze. Działa na 100% (testowane na GC 5065 i 5066).
Jeśli chodzi o MNJbtonoff to on po prostu włącza BT nie podając żadnego komunikatu (jeśli nie napotka na błąd), więc brak reakcji oznacza prawidłowe działanie.

xeros:
Jeszcze raz dzięki i przepraszam za moją nieuwagę.
Nie zauważyłem wcześniej, że w Bluetooth w Panelu sterowania pomimo sparowania urządzeń trzeba było jeszcze dwukrotnie kliknąć na usłudze i wybrać 'Active' - dopiero po tym pojawiły mi się porty BSP2 i BSP3. Testuję dalej...

Edit:
Ta konfiguracja Bluetooth to dla mnie jakaś czarna magia... ;(
A te programy (mnjSerialPortRedirector i mnjVTRP) chyba coś mi nie działają tak jak powinny (może i ja coś źle robię, ale próbowałem najróżniejszych konfiguracji). W tej chwili mam już BSP2,3,4,5, ale żadne z powyższych nie chce działać zarówno jako źródło jak i cel (błąd otwierania urządzenia - 37).
Jak dotąd to nadal nie wiem jak zainicjować połączenie szeregowe przez BT z poziomu PNA.

Doszedłem do miejsca, gdzie teraz nawet i bez tych programów widzę kompa w DUN w Panelu sterowania, przy próbie połączenia czasem port jest zajęty czasem próbuje się łączyć (chociaż nie podaje nazwy portu tylko widzę nazwę BT kompa i MAC adres). Nawet komp chyba odbiera jakąś komunikację (jak port nie jest zajęty), bo otrzymuję w logach:

--- Kod: ---hci_acldata_packet: hci0 ACL packet for unknown connection handle 1

--- Koniec kodu ---
. Mam urządzenia RFCOMM i HCI ustawione w trybie nasłuchu, serwer DUN mam również raczej poprawnie postawiony i to do akceptacji zarówno połączeń ActiveSync, MSDUN, jak i zwykłego DUN. Usługę DUN w profilu BT też mam zarejestrowaną... Synchronizacja z emulacją Nokia PC Suite z KDE przez DUN@BT z komórki działa prawidłowo, ale DUN inicjowany z GC5065BT nie.

Wracając do połączenia szeregowego do udało mi się je zainicjować z kompa dopiero po uruchomieniu w PNA Adaneo Bluetooth Manager (30-minutowy trial), ale Adaneo.. było w stanie tylko zobaczyć nazwę kompa (bez odpytania o usługi) i pokazało mi tylko Serial Port jako lokalną usługę w PNA. Dzięki niemu podpiąłem się z mnjPortTalk i mogłem przesyłać tekst między kompem a PNA w obie strony, ale tutaj połączenie inicjowałem z poziomu kompa.

angler22:
Jak dla mnie to linux jest tutaj podstawowym problemem. Nie wiem czy pamiętałeś, aby wyłączyć programy chodzące w tle na PNA (anwdog i phonelink)? Jeśli wszystko robisz tak jak pisałem, to musi działać - zestawiałem takie połączenia z PC, GPS'em, innym PNA i komórką (wszystko w trybie portu szeregowego) i zawsze działa idealnie. Jeśli chodzi o wykrywanie usług BT PNA z jakiegoś innego urządzenia, to tak jak już pisałem widziane jest TYLKO jako Audio device z usługą portu szeregowego (czyli tak jak masz). Nawet jeśli uruchomi się na PNA usługi OBEX i Objectpush (czy jakoś tak to się zwie), to i tak można je używać tylko "od strony" PNA, bo zewnętrzne urządzenie próbujące się łączyć z PNA zawsze widzi tylko i wyłącznie usługę "port szeregowy".

mnjacentymn:
Witam.
Zgodnie z pewnym "zapotrzebowaniem" :) przedstawiam program mnjBTConnections.
Program nic nie robi :) tzn. nie jest to program okienkowy a wyniki jego wywołania można zobaczyć w rejestrze.
Działanie jego polega na detekcji istniejących połączeń BT ( podaje ich liczbę na dany moment ) oraz detekcji połączenia internetowego uzyskanego np. przez DUN'a.
Pod kluczem rejestru HKEY_CURRENT_USER mamy podklucz Software\mnjacentymn\mnjBTConnections a tutaj następujące wartości typu string:

BTConnections - pokazuje ilość aktualnych połączeń BT - wartości od 0 wzwyż
InternetConnection - pokazuje istnienie połączenia internetowego ( wartość 1 ) lub jego brak ( wartość 0 )
InternetConnectionName - pokazuje nazwę istniejącego połączenia internetowego. W przypadku jego braku mamy pusty łańcuch znakowy.
ErrorCode - kod błędu operacji wyszukiwania powyższych trzech wartości. W normalnych warunkach powinno tutaj być 0. W przypadku błędów np. wywołania programu w warunkach wyłączonego urządzenia BT będzie tutaj łańcuch znakowy reprezentujący liczbę ujemną. Obecnie są następujące kody błędu:
0 - wszystko ok
-1 Wyłączone urządzenie BT
-2 Inne błędy

Jeżeli chodzi o jakieś sensowne jego użycie to zapraszam tutaj:

 http://pdaclub.pl/forum/navroad/automatyczne-zestawianie-polaczenia-dun/msg1368144/#msg1368144

Kolega Angler22 stworzył skrypt morta wykorzystujący ten program i służący do automatycznego zestawiania połączenia DUN

************************************************************************************************
Nowa wersja 1.0.0.4
Na specjalne życzenie powstała wersja pracująca jako proces w tle a tak naprawdę tryb pracy jest do wybrania. Jeżeli program wywołamy bez żadnych parametrów ( lub parametry nie będą "smakować" ) to działanie będzie jak dotychczas czyli program robi co ma robić, umieszcza w rejestrze i kończy pracę. Jeżeli program wywołamy z odpowiednimi parametrami to chodzi on w sposób permamentny i informację o połaczeniach BT odświeża w rejestrze co zadany czas.
Wywołanie do pracy ciągłej powinno miec postać:

mnjBTConnections rapp = aaaa bii = bbbb  , ( aaaa, bbbb to tutaj ogólne wartości ) gdzie:
wartość parametru rapp musi być równa y ( od słowa yes ) jeżeli chcemy prace ciągłą lub jakakolwiek inna do pracy jednorazowej,
wartość parametru bii to liczba interwał w milisekundach czyli co jaki czas będą sprawdzane połaczenia BT i odświeżane w rejestrze.
Przykładowo:

mnjBTConnections rapp = y bii = 2000

czyli praca ciągła z interwałem 2000ms czyli 2 sekund

Od razu przyznaje się bez bicia , że wersja była tylko testowana na sucho więc mogą być błędy. Proszę osobę(y) zainteresowaną(e) o testy i sygnalizację błędnego działania oraz oczywiście pochwały przy prawidłowym działaniu  :)





Pozdr.
mnjacentymn

Tomek666:

--- Cytat: mnjacentymn w Wrzesień 11, 2010, 11:09:35 ---Nowa wersja 1.0.0.4

--- Koniec cytatu ---

Serdecznie dziękuję za nową wersję. Działa zgodnie z zamówieniem :). Przepraszam za dużą zwłokę, ale dopiero wczoraj się tu na nią natknąłem :( (mea culpa, mea maxima culpa). Zgodnie z oczekiwaniem obciążenie procesora jest niezauważalne :) :) :).

 Jeszcze raz dziękuję i pozdrawiam.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej