Skip to content

NXTSelfDrivingCar/server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

192 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NXTSelfDrivingCar server

Kao glavni deo projekta NXTSelfDrivingCar server predstavlja sponu izmedju korisnika i svih servisa koji omigucavaju povezivanje sa svojim Lego NXT modulima.

Cilj

Cilj servera je da omoguci nesmetanu razmenu podataka izmedju Android aplikacije, koja salje video stream i slusa za komande kretanja, klijenata koji koriste veb pretrazivac da vide napredak njihovih NXT terminala i Python servisa, na kom se nalazi model vestacke inteligencije.

Detaljna dokumentacija projekta i njegovih modula se moze naci ovde.

Struktura

Podela servera je na dva dela:

  • NodeJS - Vrsi rutiranje komunikacije klijenata veb pretrazivaca i Android aplikacijama sa servisom na kom stoji model vestacke inteligencije
    • Fajlovi za NodeJS server se mogu naci ovde.
  • Python - Servis koji komunicira sa NodeJS serverom, a na kom se pokrece model vestacke inteligencije.
    • Fajlovi za Python servis se mogu naci ovde.

HTTP komunikacija sa klijentima

Klijentima su omogucena dva nacina komunikacije sa servisom.:

  • Kotlin Android aplikacija - Povezivanje sa NXT terminalnom i postavljanje funkcionalnosti kamere
  • Veb pretrazivac - Kontrola NXT terminala i prikazivanje video stream-a sa kamere

Server je najbolje pokrenuti preko Docker-a.

Prikaz komunikacije sa klijentima:

General diagram

Pokretanje

Ako se za pokretanje programa ne koristi Docker, potrebno je pokrenuti httpServer.ts, upotrebom npx ts-node komande.

npx ts-node .\httpServer.ts

Pokretanjem HTTPServer-a, uporedo se pokrecu svi potrebni servisi:

U slucaju postojanja gresaka, pogledati Logging.

Ako imate kakva dodatna pitanja ili predloge (koji su i vise nego dobrodosli), slobodno nas kontaktirajte.