Suunnittelu - K1516/RobotCar1 GitHub Wiki
Työn suunnittelu
Aluksi oli aikeissa tehdä neljällä moottorilla varustettu auto, jossa jokainen pyörä sisältäisi moottorit, eli neliveto. Myös kamera oli alkujaan suunnitelmissa mukana, myös osittain toteutuksessakin aluksi.
Sovelluksen suunnittelu
Sovellusta lähdin suunnittelemaan aluksi niin, että haen samassa verkossa olevia laitteita, joista valitsen sitten oikean vaihtoehdon, näin ollen ei olisi tarvinnut aluksi tietää raspberryn ip-osoitetta lainkaan, vaan olisin saanut sen tietooni siitä listasta. Yritin muutamia vaihtoehtoja tuohon ilman tulosta. Listan tulostamisen jälkeen tosiaan olisin valinnut sieltä oikean vaihtoehdon ja syöttänyt salasanan, tietenkin sellaisen, jonka olisin määritellyt raspberryssä, jotta kaikki halukkaat eivät voisi yhdistää siihen halutessaan. Tämän jälkeen napista painallus yhdistämiseen, jos yhdistys onnistui se syöttäisi ruudun alareunaan toastilla yhdistetty tai ei yhdistettyä, jonka jälkeen siirtyisi itse auton ohjaamiseen tehdylle sivulle. Alapuolella mockup alkuperäisestä etusivusta
Seuraavana oli vuorossa itse ohjaussivu, johon tosiaan alunperin koitin saada myös kameran mukaan. Liikkuminen napin painalluksesta sekä käynnistys- ja lopetusnapit. Ideana oli, että yhdistämisen jälkeen käynnistysnapista auto ns. käynnistyisi ja ennen ei ottaisi liikkumiseen tarkoitettuja komentaja vastaan ja lopetusnapista tietenkin sammuttaisi auton. Tavoitteena oli ettei sovellusta tarvitse sulkea aina, kun haluaa yhdistää uudestaan autoon, vaan pystyy jatkamaan heti käyttöä, kun painaa käynnistämistä. Alapuolella ohjaussivusta kuva
Molemmat ylläolevista kuvista olivat myös alunperin toteutuksena, kun aluksi aloin tekemään sovellusta. Kameraa en saanut sovelluksessa toimimaan, mutta raspberyssä toimi, kun laittoi auton käyntiin. Myös kurssin loputtua ei ollut kameraa enää käytössä, joten jätin sen pois lopullisesta toteutuksesta. Tuo vaihtoehto ottaa kamera käyttöön ei kuitenkaan olisi kovin iso homma, pitäisi vaan korjata sovelluksen puolelta yhteys, koska raspberryllä tosiaan toimi oikein. Myös tuo etusivu jäi pois, koska en saanut tuota laitteiden hakua toimimaan oikein, myöhemmin koitin muokata myös niin, että hakee laitteen nimet ja ip-osoitteet ja siitä syöttää manuaalisesti raspberryn osoitteen sovellukseen yhdistämistä varten eikä hakisi sitä suoraan listasta niinkuin alunperin olin ajatellut. Myös tämä kohta jäi unholaan ja nyt on tosiaan määritelty suoraan molemmissa koodeissa ip-osoitteet, joten molemmat laitteet, rasberryn python-tiedosto ja android-sovelluksen, kun laittaa päälle tapahtuu yhdistäminen heti.
Suunnitelmissa oli aluksi tehdä neliveto, jota aloin työstämään heti, kun olin tarpeeksi tutkinut ja opetellut pythonia, jotta saan kaikki toimimaan. Sovellus ja auton liikkuvuus oli tehtynä paljon ennen, kun ostin tuon robottiauton pohjan itselleni, sen takia myös jätin koodiin tuon neliveto mahdollisuuden, koska ajattelin myöhemmin mahdollisesti päivittää auton neljään moottoriin.
Myös ideana oli vielä laittaa hifistelyä mukaan, jos aikaa riittää ja saan auton toimimaan muuten hyvissä ajoin. Eli ajatuksena oli lisätä etuvalot, jotka saisi päälle ja pois halutessaan. Myös kaiuttimen lisäämistä ajattelin, jotta voisin soittaa musiikkia sieltä. Nämä jäivät kuitenkin ajatuksen tasolle enkä ikinä sen enempää miettinyt, vaan ajattelin, että olisi tosiaan hifistelyä, jos aikaa jää. Valothan ei luultavasti olisi ollut edes iso homma lisätä, niille erikseen nappi sovellukseen ja samaa yhteyttä käyttänyt kuin liikkuminen, sekä tietenkin omat pinnit raspberrystä, jotka ohjaavat virran tuloa valoihin.