W swojej pracy dość często mam okazję uczestniczyć w projektach związanych z komunikacją na styku oprogramowania i sprzętu. Czy jest to np. dalmierz i jego obsługa w programie CAD, czy też waga elektroniczna, obsługiwana w Labor Tech-u, czy też np. precyzyjny GPS\RTK – zawsze istotny jest sposób komunikacji sprzętów z programami.
Aby sprzęt mógł komunikować się z komputerem, musimy mieć medium do wymiany danych. Może to być przewód (USB/RS232) lub komunikacja radiowa (Bluetooth/Wifi). W dość rzadkich przypadkach spotyka się także sprzęty potrafiące komunikować się poprzez port podczerwieni (IR). Oczywiście zarówno sprzęt, jak i oprogramowanie musi obsługiwać ten sam protokół wymiany danych.
Kiedyś komunikacja odbywała się o porty równoległe (LPT – np. starsze drukarki) a także porty szeregowe (COM). Jednakże porty i komunikacja szeregowa zdecydowanie mocniej zagościły na polu rozwiązań pomiarowych, tak więc w tym wpisie opiszę parę rzeczy z nimi związanych.

W początkach komunikacji mieliśmy komputery z portami szeregowymi RS-232 (zwykle 9-pinowym/bolcowym). Jeśli mieliśmy szczęście posiadać urządzenie z portem i odpowiedni kabelek, wówczas mogliśmy sprzęt podpiąć do komputera i cieszyć się zaletami automatyzacji (zakładam, że oprogramowanie również posiadaliśmy).
Później wkroczył interfejs USB (który był niejako następcą popularnego RS-a). Oczywiście dalej interfejs w postaci kabla, ale bardziej wydajny (większa prędkość) oraz uniwersalny (oprócz urządzeń stricte pomiarowych mógł też obsługiwać komunikację z myszkami, dyskami twardymi – nawet oferować możliwość pobierania prądu, co stworzyło zaplecze dla całej gamy urządzeń – bajerów, typu latarka lub wiatrak podłączany do komputera). Wraz ze zmianą protokołu trzeba było zmodyfikować procedury obsługi w oprogramowaniu, ale w zasadzie mieliśmy ulepszoną wersję starego interfejsu, choć wciąż z pewnymi jego wadami (kable).
Patrząc na lepsze możliwości USB myślę, że jest to krok w dobrym kierunku. Zawsze można kupić odpowiednią przejściówkę, natomiast na miejscu portu RS-232 można zamontować nawet dwa porty USB, co jest zdecydowanie zaletą (natomiast kupowanie komputera, który ma np. tylko 2 porty USB jednak mija się z celem).
W porcie USB można zainstalować również przejściówkę dla Bluetooth, pozwalającą na komunikację bezprzewodową – ponieważ ta technologia obecnie również nieźle daje sobie radę z komunikacją.
Jednakże, mając instrumenty pomiarowe (lub inne), które oferują komunikację szeregową, mamy zwykle takie opcje:
– RS-232 (w starszych urządzeniach i niektórych nowszych)
– USB (w postaci miniUSB lub podobnej)
– Bluetooth
Twierdzę jednak, że tylko RS-232 oraz Bluetooth jest tutaj sensownym rozwiązaniem.
Zapytasz dlaczego? Przecież sam pisałeś o tym, jaki USB jest wspaniały.
Otóż jest wspaniały, jeśli chodzi o podpięcie dysku, myszki lub innego urządzenia peryferyjnego (typu drukarka), który zwykle używa się w sposób stacjonarny i częsty. Podpinasz i zapominasz o istnieniu połączenia – korzystasz i tyle Cię to obchodzi.
Natomiast jeśli chodzi o urządzenia pomiarowe to zwykle podpinamy je do komputerów w określonych momentach – np. gdy chcemy z nich skorzystać w terenie, albo zgrać dane. Jeśli takie podpinanie jest częste, USB nie wydaje się sensownym pomysłem (podobnie RS-232). Na tym polu zdecydowanie wygrywa Bluetooth – komunikacja bezprzewodowa, aktywowana w momentach, w których jej potrzebujemy. Sprzęt pomiarowy wyłącznie z interfejsem USB – od tego lepiej trzymać się z daleka.
RS-232 ma swoje zalety. Często w urządzeniach, które posiadają USB, jest tylko port USB, nie ma natomiast innego portu komunikacyjnego. O ile w przypadku portu RS-232, jeśli się uprzemy – możemy mieć komunikację bezprzewodową (vide nasz wynalazek – Ultra Adapter), to w przypadku portu USB – odpowiednia przejściówka jest praktycznie nie do dostania (zupełnie inny sposób wymiany danych), więc jesteśmy ograniczenie do kabelka.
Dane otrzymywane z portu RS-232 można też bardzo łatwo zapisywać na komputerze (w postaci tzw. logów). Wystarczy program do komunikacji i odczytywania danych z portu i już mamy np. zapisane współrzędne z GPS lub wyniki z urządzenia pomiarowego (np. młotka Schmidta). Dane te są łatwiejsze do analizy niż dane wysyłane po USB, co ułatwia integrację sprzętu z oprogramowaniem (i sprawia, że tego typu usługi są tańsze).
Tak więc wybierając sprzęt (czy to GPS, czy pomiarowy typu waga elektroniczna), weź pod uwagę w jakim zakresie chcesz wykorzystać sprzęt.
- jeśli zależy Ci na dostosowaniu tego sprzętu do wybranego oprogramowania, wybierz sprzęt z portem typu Bluetooth lub RS-232 (ale w tym drugim przypadku zaopatrz się w przejściówkę RS232-USB lub RS232-Bluetooth)
-
Ultra Adapter dla RS232-Bluetooth – mobilnie i zasilany z 2xAA jeśli zależy Ci na mobilności (np. pracy sprzętu z tabletem/telefonem) – wybierz sprzęt obsługujący Bluetooth (ale uważaj na wersję Bluetootha!), ew. jeśli Bluetooth jest niedostępny – możesz wykorzystać nasz Ultra-Adapter i podpiąć mobilne zasilanie z dwóch paluszków
- jeśli posiadasz komputer, którego sterowniki „gryzą” się Bluetoothem – wybierz RS-232 z dodatkową przejściówką RS232-USB
- jeśli posiadasz komputer, którego sterowniki „gryzą” się z posiadaną przez Ciebie przejściówką RS232-USB, wybierz Bluetooth
- jeśli adekwatny sprzęt z interfejsem RS232/Bluetooth jest niedostępny lub zbyt drogi – a dostępny jest jedynie z USB – wtedy bierz z USB (lepiej mieć jakąkolwiek komunikację, niż jej brak)
- w przypadku interfejsu Bluetooth warto sprawdzić, czy sprzęt działa w oparciu o SPP (Serial Port Profile – profil portu szeregowego) – to gwarantuje nam uniwersalność rozwiązania
- jeśli posiadasz komputer, którego sterowniki „gryzą” się zarówno z portami Bluetooth jak i przejściówką RS232-USB – czas zmienić lub zaktualizować oprogramowanie komputera 🙂
Jeśli posiadasz już sprzęt, który chcesz podłączyć do komputera, posiadający szeregowy interfejs (RS-232 / USB / Bluetooth), zapewne chciałbyś się dowiedzieć co nieco o jego konfiguracji. W takim przypadku zapraszam do następnego wpisu – „O portach szeregowych słów kilka – cz. II”.