Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 maja 2025, o 21:55


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 29 mar 2014, o 00:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Witam wszystkich.

    Dzisiaj zajmiemy się podłączeniem zewnętrznej biblioteki w środowisku Eclipse, oraz pisaniem funkcji korzystających z tej biblioteki.
    Biblioteka, którą wykorzystamy w naszej aplikacji to „PortableRXTX.jar” ściągnięta na nasz dysk twardy ze strony http://dl.dropbox.com/u/53861150/PortableRXTX/V1.2/PortableRXTX.jar holendra pana Stefano Speretta. Warto zajrzeć na stronę holendra http://inablackbox.wordpress.com/2012/05/12/portable-rxtx/ gdzie pokazuje jak wszystkie pliki *.dll i pliki *.class do obsługi portu RS232 zamknąć w jednym pliku *.jar dlatego nazwa – PortableRXTX.jar.

    Teraz należy poinformować Eclipe o tej bibliotece i że zamierzamy z niej korzystać. Kliknąć (LPM) na górnej belce środowiska Eclipse : „Window -> Preferences” .
    Obrazek
    Pokarze się nowe okno o nazwie „Preferences”, a w nim wybrać „Java -> Bulid Path -> User Libraries” i kliknąć (LPM) na klawisz „New…” .
    Obrazek
    Pokarze się nowe okno o nazwie „New User Library” , w nim wpisać dowolną nazwę naszej biblioteki (ja wpisuję nazwę biblioteki). Kliknąć „OK”.
    Obrazek
    Teraz zaznaczyć nowo utworzony folder na bibliotekę i kliknąć klawisz „Add External JARs…” .
    Obrazek
    Pokarze się nowe okna o nazwie „ JAR Selection” w nim wskazać bibliotekę (w naszym przypadku - PortableRXTX.jar) i kliknąć klawisz „Otwórz”. Załaduje się nasza biblioteka. No i teraz kliknąć klawisz „OK”.
    Obrazek
    No i już Eclipse wie o naszej bibliotece. Teraz trzeba bibliotekę przywiązać do naszej aplikacji, a robi się to tak:
    W panelu po lewej stronie o nazwie „Package Explorer” zaznaczyć – kliknąć(PPM) naszą aplikację o nazwie „COM Port Terminal” i z menu wybrać pozycję „Build Path -> Add Libraries…”
    Obrazek
    Pokarze się nowe okno o nazwie „Add Library”, a w nim zaznaczyć opcje „User Library” i kliknąć na przycisk „Next >” . Następnie „zaptaszkować” folder z naszą biblioteką i kliknąć na klawisz „Finish”.
    Obrazek
    Teraz już mamy bibliotekę „PortableRXTX.jar” podłączoną pod naszą aplikację.
    Obrazek
    Teraz na naszej formatce z komponentami zaznaczamy komponent o nazwie „comboBox_1”. W panelu środowiska Eclipse o nazwie „Structure -> Properties” kliknąć na klawisz „…” po prawej stronie właściwości o nazwie „model”. Pokarze się okno o nazwie „model” i tu wpisać liczby w kolumnie (jedną pod drugą – bez jakich kol wiek innych znaków) i kliknąć klawisz „OK”.
    Obrazek
    Zaznaczamy komponent o nazwie „comboBox” i ty jak poprzednio, ale wpisujemy cokolwiek (na przykład 1) - żeby Eclipse wpisał model do programu .

    Klikamy na zakładkę „Source” w panelu głównym środowiska Eclipse (przechodzimy do zakładki pisania kodu).
    Obrazek
    I tu piszemy na samym końcu naszego programu przed ostatnią klamrą procedurę :
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Jest to funkcja odczytująca porty szeregowe naszego komputera i zwracająca wynik w postaci jakiej potrzebuje model komponentu „comboBox”.
    Obrazek
    Po prawej stronie są „żaróweczki z czerwonymi krzyżykami” na które klikamy (LPM) i wybieramy pierwszą opcję (dodawanie bibliotek Java).
    Obrazek
    Teraz naszą funkcję o nazwie „ListaPortow()” wklejamy do model komponentu „comboBox”. W tym celu należ odnaleźć w procedurze: „private void initComponents() { … }” następujący zapis:
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    I zmienić go na zapis:
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Od tego momentu w komponencie „comboBox” będą widoczne wszystkie porty COM.
    Teraz zajmniemy się „żaróweczki z żółtymi wykrzyknikami” począwszy od góry kodu. I tak klikając na żaróweczkę przy wybrać przeważnie pierwszą opcję, ale nie zawsze. Model komponentu JComboBox w tym przypadku jest typu String, więc zmień:
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    na:
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    a potem już tylko kliknąć na “żaróweczki…” przy
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    i zgadzając się z pierwszą opcją zmienić na
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    podobnie postępujemu z modelem „comboBox_1”
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    na:
    Składnia: [ Pobierz ] [ Ukryj ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Aby zobaczyć nasze dzieło (co prawda jeszcze nie skończone) należy kliknąć na górnej belce środowiska Eclipse: zapis (Save All) i uruchamianie (Run Terminal).
    Obrazek
    A oto całość w tym etapie pisania kodu – za tydzień dalej go będziemy pisać (bo już jest późno, a i ja jestem trochę dziś zmęczony).

    Piotr

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język java
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 mar 2014, o 13:59 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2013
    Posty: 93
    Lokalizacja: Puławy
    Pomógł: 0

    Naprawdę wielkie dzięki za to. Bardzo mi się to przyda - nie będę musiał się już uczyć C# :P
    Pozdrawiam i czekam na więcej.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 mar 2014, o 23:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Fajnie, że ktoś ten mój poradnik czyta - to mnie motywuje do dalszego pisania tego poradnika.
    W przyszłym tygodniu będą procedury: otwierania, wysyłania, odbierania i zamykania portu szeregowego RS232 (COM), a to wszystko "opakowane" w zdarzenia wywołane przez kliknięcie w komponent (np. javax.swing.JButton).
    A w późniejszym tygodniu tak na deser zrobimy sobie aplikację konwertującą plik *.jar na plik *.exe wykorzystując skrypt hindusa pana Sri Harsha Chilakapati oraz klasę javax.swing.SwingWorker - klasę umożliwiającą pracę w tle, przez co nie zatrzymuje(zacina) się nasza aplikacja podczas dużych obliczeń konwertujących plik *.jar na *.exe. Te obliczenia są wykonywane w tle.

    Piotr



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 mar 2014, o 09:53 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2013
    Posty: 93
    Lokalizacja: Puławy
    Pomógł: 0

    Cytuj:
    Fajnie, że ktoś ten mój poradnik czyta - to mnie motywuje do dalszego pisania tego poradnika.

    Jak tylko nauczyłem się trochę programować to już chciałem używać portów i komunikacji ale nie znałem działających i udokumentowanych bibliotek, bo chciałem sobie wykresiki temperatur z czujników itp. robić i różne takie. A tu taka niespodzianka - może teraz wreszcie napiszę taki program odczytujący przesyłane dane z procka i na wykres go. A może nawet jakiś mały Data Mining :) Pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 mar 2014, o 17:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Jeżeli interesuje Ciebie komunikacja języka Java bezpośrednio przez USB komputera to polecam bibliotekę Węgra pana Peter Kocsis o nazwie "JavaFTD2XX-0.2.6.jar" do ściągnięcia ze strony https://kenai.com/projects/javaftd2xx/downloads. Przykład zastosowania jest na stronie https://kenai.com/projects/javaftd2xx/pages/Home , a źródełka są na stronie https://github.com/pkocsis/JavaFTD2XX do ściągnięcia cała paczka pod klawiszem o nazwie "Download ZIP". Radzę dokładnie przeanalizować te żródełeka a szczególnie pliku "FTDevice.java" w celu nauczenia się jak tę bibliotekę wykorzystać.
    Ja chętnie z niej korzystam, kiedyś napisałem w oparciu o tą bibliotekę aplikację do komunikacji mojego laptopa z termometrem DS1820 o nazwie "FT232 i Ds1820 w javie" http://www.elektroda.pl/rtvforum/topic2116605.html



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO