[ Zamknij ] [ pdf ] [ xlsx ]
Nazwa szkoleniaTermin odTermin doMiejscowośćFirma / ZleceniodawcaGodzin
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język PHP 2018-03-032018-03-23Krakówteb.pl40
Wykładowca w Szkole programowania codeskills.pl (sem. II, zakres Back-End Developer)2018-02-242018-06-24Warszawacodeskills.pl120
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język HTML5 oraz CSS3.2017-10-142017-12-10Krakówteb.pl40
Kurs Front End Developer, moduł JavaScript (podstawy JS, model DOM, jQuery, AJAX).2017-07-132017-07-18KrakówAkademia108.pl32
MS Excel - obsługa programu od podstaw.2017-06-052017-06-06KrakówEduKey Łódź.12
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (HTML5, CSS3, JavaScript, jQuery, AJAX, JSON), moduł: specjalizacja back-end (PHP, SQL, MySQL).
[ szczegóły ]
2017-03-062017-04-07Warszawacodeskills.pl184
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (html5, CSS3, JavaScript, jQuery, AJAX, PHP, JSON, SQL, MySQL).
[ szczegóły ]
2016-11-072016-11-28Warszawacodeskills.pl104
Przygotowanie materiałów oraz przeprowadzenie szkolenia: System Linux - podstawowa administracja LX-02.
[ szczegóły ]
2016-10-122016-10-14WarszawaAction Centrum Edukacyjne Warszawa.24
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Praktyczny kurs programowania” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: PHP, JAVA, bazy MySQL. Szkolenie w standardzie ECCC.2016-08-232016-09-02Wrocław.HUMANEO, Nowy Sącz.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Pracownik IT” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: HTML5, CSS3, JavaScript, PHP, MySQL. Szkolenie w standardzie ECCC. 2016-05-242016-06-09Wrocław.SENSE consulting sp. z o.o. - Poznań.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia Excel moduł podstawowy (9 grup x 8h zegarowych = 72h), moduł średniozaawansowany (11 grup x 8h zegarowych = 88h), moduł zaawansowany (3 grupy x 8h = 24h).2016-05-232016-11-14Kraków.Aterima Kraków (szkolenie wewnętrzne pracowników).184
Kurs programowania stron internetowych.2016-02-242016-03-24KrakówGoWork.pl120
Excel zaawansowany (szkolenie autorskie).2015-12-152015-12-16Nowy SączCSD "KREATOR" (szkolenie wewnętrzne).16
Administracja i obsługa baz danych MySQL oraz PostgreSQL (szkolenie autorskie).2013-09-272013-10-17BrzeskoCentrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała50
Kurs programowania stron internetowych.2013-08-032013-09-22Kraków.GoWork.pl120
Kurs programowania stron internetowych.2013-06-222013-08-18KrakówGoWork.pl120
Kurs programowania stron internetowych.2013-05-112013-06-23Kraków.GoWork.pl120
Kurs programowania stron internetowych.2012-12-152013-02-03Kraków.GoWork.pl120
Obsługa programu Excel - poziom podstawowy2012-12-012012-12-02Kraków.GoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-10-222012-10-25Kraków.GoWork.pl26
Administracja serwerem INTERNETOWYM i INTRANETOWYM z systemem Linux.2012-09-012012-11-30Brzesko.Centrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała (szkolenie autorskie).90
MS Word - poziom podstawowy.2012-09-012012-09-01Kraków.GoWork.pl6
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-192012-07-20KrakówGoWork.pl16
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-112012-07-12KrakówGoWork.pl16
Obsługa programu Excel - poziom zaawansowany2012-05-192012-05-20KrakówGoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-05-122012-05-13Kraków.GoWork.pl16
Kurs komputerowy podstawowy (obsługa systemów operacyjnych, Internet, Word, Excel). 2011-07-022011-08-04Miechów.GOPS Miechów.120
Serwerowe systemy operacyjne - Linux, Windows, Novell NetWare.2010-10-202010-11-26Miechów.AdlerComputers.90
Pracownik administracyjno - biurowy. Moduł "Obsługa komputera".2010-05-052010-05-24Gdów.Stowarzyszenie Inspiracje - Mielec.46
Pracownik biurowy - sekretarka, moduł "Obsługa komputera w sekretariacie, obsługa urządzeń biurowych".2009-10-152009-10-30Miechów.Grupa Doradcza Projekt - Kraków.84
Sprzedawca - moduł "Obsługa komputera".2009-09-282009-10-09Miechów.Grupa Doradcza Projekt - Kraków.60
Moduł "Obsługa komputera" w ramach kursu "Sprzedawca".2009-05-252009-06-05Miechów.Grupa Doradcza Projekt - Kraków.60
Obsługa komputera, kas fiskalnych, fakturowanie - moduł "Obsługa komputera".2008-11-272008-12-09Miechów.Grupa Doradcza Projekt - Kraków.50
Obsługa komputera z aktywnym poszukiwaniem pracy.2008-10-272008-11-10Miechów.Grupa Doradcza Projekt - Kraków.60
Łączna ilość godzin: 2306.

PHP -> Sockets


Dodał / zmodyfikował: pkania, w dniu:2015-08-10

Swego czasu natknąłem się na pewien projekt w którym należało zbierać informację o pozycji pojazdu (GPS) za pomocą ramek (pakietów) przesłanych przez sieć komórkową za pomocą technologii GPRS. Najprostszy schemat takiej komunikacji możemy przedstawić następująco: system GPS ---> pojazd z zamontowanym modułem GPS <---> GPRS (sieć GSM) <---> nasz server ---> urządzenie prezentujące pozycję pojazdu (komputer, tablet itp.).

Trochę czasu mi to zajęło, dlatego postanowiłem opisać tu moje doświadczenia, które może komuś się przydadzą, a mnie pozwolą utrwalić i udokumentować zdobytą wiedzę ;)

Jak zwykle (w moim przypadku) zdecydowałem się na technologię PHP i zastosowałem dostępne rozszerzenie tego języka, które nazywa się sockets.

Jak zobaczycie Sockets jest bardzo ciekawym rozszerzeniem języka PHP pozwalającym na zestawienie komunikacji sieciowej w architekturze klient <-> server.

Technicznie: jest to implementacja niskopoziomowego interfejsu komunikacyjnego.

Jak funkcjonuje: pozwala odczytywać i wysyłać komunikaty (pakiety sieciowe / ramki) przesyłane przez/do klienta (np. przez moduł GPS zainstalowany w pojeździe).

W ramkach tych mogą być przesyłane różne dane, począwszy od aktualnej pozycji pojazdu kończąc na stanie paliwa czy aktualnej prędkości pojazdu.

Specyfikacja modelu przekazywanych informacji za pomocą ramek znajduje się w dokumentacji technicznej użytego modułu GPS. UWAGA ! To nie jest standardowa dokumentacja dostarczana wraz z urządzeniem. O dokument przedstawiający szczegółową specyfikację ramek trzeba poprosić producenta.

Aby nastąpił napływ ramek moduł musi skomunikować się z serwerem. 

Opcje modułu możemy skonfigurować np. przez wiadomości SMS (wysyłamy odpowiednio sformatowane wiadomości SMS na nr tel. modułu).

Podstawowe ustawienia to IP oraz port nasłuchu serwera, częstotliwość przesyłania ramek itp.

Przykładowa komunikacja moduł GPS - Server przebiega następująco:

1) Moduł wysyła za pomocą sieci komórkowej (GPRS) pakiet początkowy w którym się "przedstawia". Zazwyczaj w takiej ramce znajduje się IMEI urządzenia nawiązującego połączenie. Przykład wysyłanej ramki(x to nr IMEI urządzenia generującego ruch): ##,imei:XXXXXXXXXXXXXXX,A;
2) Serwer odpowiada odpowiednim komunikatem do modułu z którego nadszedł pierwszy pakiet (komunikat wg dokumentacji technicznej urządzenia, w moim przypadku był to ciąg znaków "LOAD").
3) Moduł po otrzymaniu komunikatu z pkt. 2 przesyła ramki zawierające aktualną pozycję GPS oraz inne zdefiniowane dane (co pewien czas, który został zdefiniowany podczas konfiguracji urządzenia).
Przykład ramki: imei:XXXXXXXXXXXXXXX,tracker,1401122019,,F
,191949.000,A,5022.6199,N,01958.8937,E,32.05,181.43,,1,0,0.35%,,;
4) Serwer każdorazowo potwierdza otrzymanie ramki z pkt. 3 itd....,

Niektóre funkcje sockets. Pełna dokumentacja znajduje się pod adresem http://php.net/manual/en/book.sockets.php:

1) socket_create — Create a socket (endpoint for communication)
2) socket_bind — Binds a name to a socket
3) socket_listen — Listens for a connection on a socket
4) socket_select — Runs the select() system call on the given arrays of sockets with a specified timeout
5) socket_accept — Accepts a connection on a socket