Niedługo po rynkowej premierze dalmierza laserowego Bosch GLM 100 C z Bluetooth instrument został przystosowany do współpracy z oprogramowaniem geodezyjnym Carlson SurvCE. O tym specyficznym rozwiązaniu napisał do nas jego autor – Marek Kupaj z firmy Skyraster.
Geodezyjna inspiracja
Na jednym z geodezyjnych forów toczyła się niedawno dyskusja o możliwości zastosowania dalmierza laserowego Bosch GLM 100C w pomiarach geodezyjnych. Chodziło w szczególności o współpracę niemieckiego instrumentu z aplikacją Carlson SurvCE dla Windows Mobile – bardzo popularnym wśród geodetów oprogramowaniem instalowanym w kontrolerach ruchomych odbiorników GNSS RTK. Ponieważ zawodowo zajmuję się rozwojem oprogramowania i integracją sprzętu (także dalmierzy) z softwarem i konsultacjami z tym związanymi, postanowiłem podjąć rzuconą rękawicę i wspomóc geodetów w tym zakresie.
W terenie podczas pomiarów GNSS RTK zdarzają się niestety sytuacje, gdzie instrument nie daje rady. Jako przykład niech posłuży sytuacja w bardzo bliskim sąsiedztwie budynku – ściany zasłaniają „dostęp” do sygnałów z satelitów i pomiar jest albo bardzo niedokładny, albo w wielu sytuacjach wręcz niemożliwy. Na szczęście wymyślono domiary (tzw. pomiary offsetowe), które pozwalają w sposób pośredni uzyskać współrzędne punktów niedostępnych do bezpośredniego pomiaru. Zgadnijcie, jakim sprzętem jest najwygodniej to zrobić? Oczywiście dalmierzem, najlepiej z łączem radiowym Bluetooth, którym zmierzone wartości są transmitowane bezprzewodowo do kontrolera, a tam wykorzystywane przez oprogramowanie do wyliczenia niedostępnych współrzędnych. Proste, prawda?
Boschem w SurvCE
Oprogramowanie polowe Carlson SurvCE jest bardzo ciekawym przypadkiem aplikacji – to rozwiązanie, które obsługuje większość dostępnych na rynku marek odbiorników GNSS. Często jest dołączane do nowych instrumentów jako podstawowe narzędzie do prowadzenia prac pomiarowo-obliczeniowych. Oprogramowanie potrafi również realizować pomiary offsetowe z wykorzystaniem ręcznych dalmierzy laserowych z Bluetooth. Jednak na liście obsługiwanych modeli nie ma Boscha GLM 100 C. Nic nie szkodzi – wyciągamy króliczka z kapelusza.
Carlson SurvCE na szczęście współpracuje z dalmierzami Leica Disto. Można więc zastosować pewną programistyczną sztuczkę i stworzyć tzw. emulator – program, który pośredniczy w komunikacji pomiędzy dwoma urządzeniami. A bardziej obrazowo – dane pomiarowe z dalmierza Bosch GLM 100 C trafiają do emulatora, tam są odpowiednio zamieniane, a następnie wysyłane do SurvCE jako wyniki pomiarów Disto.
Pierwsze kłopoty
Do rozpoczęcia prac nad emulatorem niezbędna była dokumentacja protokołu komunikacji Bosch. Niestety, nie była ona zawarta w instrukcji obsługi instrumentu. I nie udało się jej znaleźć w przepastnych zasobach internetu. Z pomocą przyszedł dopiero producent, który udostępniło potrzebne informacje. Prace ruszyły z kopyta.
Po kilku chwilach analizowania protokołu komunikacji Bluetooth w dalmierzu Bosch GLM 100 C okazuje się, że jest on dużo bardziej złożony niż protokół w Disto (który bazuje na protokole tekstowym przypominającym np. wydruk z wagi elektronicznej).
Ta złożoność protokołu ma jednak swoje praktyczne uzasadnienie – komunikacja Bluetooth w Boschu pozwala wykonywać zdalnie wiele interesujących funkcji. Gra jest więc warta świeczki – geodeci mogą otrzymać sprzęt z naprawdę fajnymi możliwościami.
Dla Windows CE/Mobile i Androida
Po 1,5 miesiąca wytężonej pracy powstał prototyp emulatora na Windows CE/Mobile. Ten system operacyjny jest jeszcze najczęściej spotykany w kontrolerach do odbiorników GNSS RTK. Pierwsza wersja sterownika potrafi już obsługiwać dalmierz Bosch. Co ciekawe, zastosowałem w nim funkcję, która pozwala transmitować bezpośrednio do oprogramowania SurvCE wynik długości poziomej obliczonej na podstawie zmierzonych przez dalmierz Bosch odległości skośnej i kąta pionowego, a także możliwość zdalnej zmiany punktu odniesienia pomiaru (przód, środek, tył).
Moduł komunikacji z dalmierzem Bosch będzie także dostępny na Androida w nowej aplikacji do obsługi pomiarów GPS\RTK. System ten zyskuje bowiem coraz większą popularność w branży pomiarowej i powoli będzie wypierał z kontrolerów archaiczny Windows CE/Mobile.
Jak wygląda instalacja i konfiguracja sterownika?
Uruchomiamy w kontrolerze plik instalatora o rozszerzeniu *.cab. Można to zrobić poprzez przeniesienie pobranego z internetu pliku na kartę lub do pamięci instrumentu (np. poprzez ActiveSync). Podczas instalacji akceptujemy okna związane z instalacją i po chwili sterownik zostanie zainstalowany.
Wybieramy port, na jaki emulator będzie wysyłał dane, a także typ dalmierza. W tym celu uruchamiamy program DMEmulatorConfig, który wyświetli listę możliwych portów oraz modele dalmierzy.
Po wyborze portu należy ponownie uruchomić rejestrator. Po zrestartowaniu systemu możemy przystąpić do dokończenia konfiguracji, czyli wskazania, na jakim porcie COM będzie dostępny dalmierz Bosch.
Zanim jednak uruchomimy program konfiguracyjny trzeba przejść do ustawień Bluetooth kontrolera, wyszukać i sparować dalmierz (jeśli spyta o kod PIN, wpisać 0000) i przypisać mu port (Outgoing COM Port). Osoby, które wcześniej nie wykonywały tej czynności mogą nauczyć się tego dzięki dołączonej do sterownika instrukcji, gdzie etap ten jest opisany krok po kroku.
Po skonfigurowaniu nowego portu (COM9) wybieramy go dla sterownika.
Teraz możemy przetestować połączenie (szybciej, niż gdybyśmy mieli uruchamiać SurvCE), wciskając ikonę Podłącz. Po chwili dalmierz zostanie połączony z kontrolerem, a odpowiednia informacja zostanie wyświetlona w panelu kontrolnym.
Jednocześnie zostanie wyświetlony numer identyfikacyjny urządzenia – to dobry znak, wskazuje bowiem, iż sterownik poprawnie komunikuje się z dalmierzem.
Możemy teraz wykonać testowy pomiar, wciskając ikonę dalmierza na panelu. Aplikacja, myśląc, że ma do czynienia z Disto, wyśle komendę żądania pomiaru, która zostanie przetłumaczona przez sterownik na język Boscha. W odpowiedzi dalmierz dokona pomiaru i zwróci żądaną wartość w języku Disto. Zostanie ona wyświetlona na panelu.
Mając pewność, iż komunikacja jest prawidłowa, odłączamy dalmierz, klikając przycisk Odłącz. Możemy teraz zamknąć panel sterownika i przejść do pracy (konfiguracji) oprogramowania SurvCE.
Konfiguracja oprogramowania Carlson SurvCE do współpracy z dalmierzem Bosch GLM 100 C wygląda w zasadzie tak samo jak konfiguracja dalmierzy Disto. Jedyną różnicą jest wskazanie jako port komunikacyjnego port sterownika (a nie rzeczywistego dalmierza).
Otwieramy zakładkę Equip i wybieramy opcję Peripherals.
W pierwszej zakładce Laser wskazujemy, czy będziemy korzystać z dalmierza (Active) oraz wskazujemy tryb jego pracy – zdalny lub ręczny (Auto Laser Read).
W polu Type koniecznie wybieramy wartość Leica Disto D3/D8. jeśli wybierzemy Leica Disto, komunikacja nie będzie poprawna.
Przechodzimy do konfiguracji portu, wciskając przycisk Comm Setup.
Do wyboru mamy typ interfejsu. Możemy wybrać spośród następujących:
- Type-> Bluetooth, a następnie przyciskiem ustawień przy BT Type odszukujemy urządzenie (wciskamy przycisk, potem Find Device, zamykamy i wybieramy dalmierz z listy Device) – ten sposób umożliwia połączenie z wybranym urządzeniem Bluetooth (ale nie umożliwi połączenia z emulatorem, który znajduje się na porcie COM)
- Type-> Cable (opcja zalecana), a następnie ustawiamy port COM, na którym wcześniej sparowaliśmy kontroler z dalmierzem. Opcja ta działa szybciej w przypadku korzystania z dalmierza – podczas uruchamiania pomiaru nie jest wyświetlane okno łączenia Bluetooth. Ta opcja jest również wymagana, jeśli chcemy korzystać z emulatora Disto.
Po zaakceptowaniu ustawień (zielonym przyciskiem) wychodzimy z okna konfiguracji.
Można przystąpić do pomiaru – istotna jest tu zakładka Survey, opcja Store Points i przycisk z literą O.
Obsługa pomiaru offsetowego w SurvCE wymaga wyboru sposobu realizacji offsetu. W zasadzie sprowadza się to do wyboru jednej z trzech metod w zakładce Method:
- Distance/Angle – punkt wcinany biegunowo, uzyskiwany przy wykorzystaniu zadanego azymutu i odległości
- Offset by Intersection – punkt wcinany za pomocą wcięcia liniowego w przód
- Offset By Two Point – punkt wcinany jest określany na podstawie dwóch punktów zmierzonych GPS (tj. odległością liczoną od drugiego punktu GPS)
Praktyczny przykład
Jak szybko zrealizować pomiar wspomnianego na początku tekstu narożnika budynku? Można to zrobić za pomocą wcięcia liniowego. Na podstawie zmierzonych odbiornikiem RTK współrzędnych dwóch punktów 1 i 2 oraz odległości a i b wyznaczonych dalmierzem laserowym aplikacja SurvCE oblicza współrzędne niedostępnego punktu P.
Po wybraniu metody Intersect do dyspozycji będziemy mieli trzy zakładki – Offset, Results i Method. W pierwszej definiujemy dane wejściowe, a w drugiej wyświetlane są wyniki obliczeń.
Ustawiamy odbiornik RTK na punkcie 1 i wykonujemy pomiar GPS – wciskamy przycisk Read Point 1 i uzyskujemy współrzędną pierwszego punktu.
Następnie mierzymy dalmierzem odległość a. Wciskamy przycisk Read Dist 1 i zależnie od wybranego wcześniej trybu (zdalny/ręczny) wykonujemy akcję:
- tryb zdalny – po wciśnięcie Read Dist SurvCE wysyła żądanie pomiaru do dalmierza, odbiera pomiar i wstawia do pola Dist 1
- tryb ręczny – po wciśnięciu Read Dist wyświetla okno Reading From Laser (please trigger laser).
W tym momencie trzeba ręcznie uruchomić pomiar na dalmierzu i wcisnąć przycisk Bluetooth. Wynik zostanie przesłany do SurvCE.
W przypadku dalmierza Bosch (i pracy poprzez emulator) tuż po wykonaniu pomiaru odległość jest przesyłana do aplikacji (bez potrzeby wciskania jakiegokolwiek klawisza).
Dodatkowo podczas współpracy z dalmierzem Bosch GLM 100 C emulator posiada możliwość wyboru rodzaju odległości przesyłanej do oprogramowania Carslon SurvCE. Do wcięcia liniowego potrzebna jest odległość zredukowana. Dzięki tej opcji użytkownik nie musi mozolnie wybierać na dalmierzu odpowiedniej funkcji pomiarowej redukującej odległości skośne, a do aplikacji od razu trafia właściwa wartość zredukowana.
Teraz wykonujemy pomiar na drugim punkcie analogicznie jak w pierwszym kroku Wyniki pomiarów i obliczeń pojawią się w zakładce Results, gdzie wybieramy jedną z dwóch możliwych opcji A lub B.
Przycisk Store zapamiętuje współrzędną punktu. Tym sposobem w praktyce bardzo szybko wykonaliśmy pomiar offsetowy. Bez uciążliwości związanych z ręcznym wprowadzaniem wartości lub, co gorsza, korzystaniem ze starszych metod pomiaru (taśma stalowa).
Wypróbuj za darmo
Stworzony przeze mnie emulator daje geodetom posiadającym kontrolery GNSS z aplikacją SurvCE większy wybór dalmierzy laserowych z Bluetooth. Niewątpliwą zaletą korzystania z modelu Bosch GLM 100 C jest ciekawie skonstruowany protokół komunikacyjny oferujący możliwość zdalnego sterowania instrumentem w szerokim zakresie prac.
Bezpłatną wersję demonstracyjną emulatora wraz z instrukcją można pobrać ze strony http://emulatordalmierza.pl, więc można bez obaw i angażowania środków z portfela sprawdzić, jak sterownik sprawuje się na różnych kontrolerach.
Mam nadzieję, że możliwie wyczerpująco przedstawiłem możliwości i zalety korzystania z emulatora. Zapraszam do dyskusji i wymiany poglądów na temat przedstawionego rozwiązania.
Marek Kupaj
Skyraster.com
Wielu ciekawych rzeczy można się z tego bloga dowiedzieć
Właśnie przymierzam się do zakupu takiego urządzenia na potrzeby firmy i artykuł wyjaśnił mi kilka kwestii związanych z integracją z Carlson SurvCE.
Muszę powiedzieć, że na prawdę konkretne informacje i obszerne wpisy. Wszystko wyjaśnione od podstaw łatwo i klarownie. Jestem pełen podziwu dla czasu włożonego w napisanie tego artykułu, w zasadzie innych także. Na pewno wypróbuję wersję demonstracyjną.
witam
Podzieli się Pan informacja skąd dorwać specyfikację protokołu używanego w glm 100c?
Pozdrawiam
A raczej czy Podzieli się Pan czy pisać do Boscha trzeba 🙂
W sprawie protokołu zdecydowanie pisać do Boscha. Udostępniają.
Hello
Nice work. Does this setup work with Bosch PLR 50 C?
Thank You
Jestem obecnie na wyborze kolejnego dalmierza i trafiłem na ten wpis. Ciekawa propozycja warta rozważenia.