The design process of an open source mobile phone
Kivelä, Karri (2018)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018060712984
https://urn.fi/URN:NBN:fi:amk-2018060712984
Tiivistelmä
Insinöörityön tarkoituksena oli suunnitella avoimen lähdekoodin piirilevy ja avoimen lähdekoodin ohjelmiston suorittaminen laitteella.
GSM-modeemin ja muun laitteiston ohjaukseen valittiin avointen lähdekoodien käyttöjärjestelmä Linux, jonka ydin myös käännettiin valitulle piirisirulle. Sen lisäksi perehdyttiin käyttöjärjestelmäydintä käyttävät kirjastot ja ohjelmat sisältävän Linux-käyttöjärjestelmälevyn muodostamiseen.
Puheluiden soittamista ja vastaanottamista varten kehitettiin Python-skriptejä, jotka ohjasivat GSM-modeemia suorittimelta UART-väylää pitkin. Python-skriptit vastasivat myös näppäimistön ja näytön ohjauksesta.
Proof-of-concept-soveltuvuusselvitys suoritettiin yhdistämällä suoritin- ja GSM-laitteistokehityssarjat toisiinsa käyttäen ulkoista LED-valodiodia näyttönä ja yhtä painiketta näppäimistönä. Kummankin laitteistokehityssarjan saatua virtansa ja suoritinkehityssarjan käynnistyttyä Linux-käyttöjärjestelmä ajoi laitteiston ohjaukseen käytetyt Python-skriptit.
Lopputyössä perehdyttiin myös piirilevyn kehityksen vaiheisiin. Kaikki projektin kehitystyö tallennettiin avointen lähdekoodien hengessä julkisesti saataville git-lähdekoodiversiointijärjestelmää käyttäen tunnettuun GitHub-palveluun.
Soveltuvuusselvitys osoitti, että niin puheluiden soittaminen kuin niihin vastaaminen laitteella onnistui. Python-skriptikokoelmassa todettiin kuitenkin suunnitteluvirheitä, joiden takia ohjelman jatkokehitys nykyisessä muodossa olisi haastavaa. Sen lisäksi paljastui, että piirilevyn kehityksessä käytetyt piirisommittelun rajasäännöt eivät sopineet piirilevyn valmistajalle eikä piirilevyä voitu valmistaa.
Koska piirilevysuunnittelu ja Python-skriptit ovat julkisesti saatavilla, kuka tahansa voi vapaasti jatkaa laitteen ja se toiminnan hiomista eteenpäin.
GSM-modeemin ja muun laitteiston ohjaukseen valittiin avointen lähdekoodien käyttöjärjestelmä Linux, jonka ydin myös käännettiin valitulle piirisirulle. Sen lisäksi perehdyttiin käyttöjärjestelmäydintä käyttävät kirjastot ja ohjelmat sisältävän Linux-käyttöjärjestelmälevyn muodostamiseen.
Puheluiden soittamista ja vastaanottamista varten kehitettiin Python-skriptejä, jotka ohjasivat GSM-modeemia suorittimelta UART-väylää pitkin. Python-skriptit vastasivat myös näppäimistön ja näytön ohjauksesta.
Proof-of-concept-soveltuvuusselvitys suoritettiin yhdistämällä suoritin- ja GSM-laitteistokehityssarjat toisiinsa käyttäen ulkoista LED-valodiodia näyttönä ja yhtä painiketta näppäimistönä. Kummankin laitteistokehityssarjan saatua virtansa ja suoritinkehityssarjan käynnistyttyä Linux-käyttöjärjestelmä ajoi laitteiston ohjaukseen käytetyt Python-skriptit.
Lopputyössä perehdyttiin myös piirilevyn kehityksen vaiheisiin. Kaikki projektin kehitystyö tallennettiin avointen lähdekoodien hengessä julkisesti saataville git-lähdekoodiversiointijärjestelmää käyttäen tunnettuun GitHub-palveluun.
Soveltuvuusselvitys osoitti, että niin puheluiden soittaminen kuin niihin vastaaminen laitteella onnistui. Python-skriptikokoelmassa todettiin kuitenkin suunnitteluvirheitä, joiden takia ohjelman jatkokehitys nykyisessä muodossa olisi haastavaa. Sen lisäksi paljastui, että piirilevyn kehityksessä käytetyt piirisommittelun rajasäännöt eivät sopineet piirilevyn valmistajalle eikä piirilevyä voitu valmistaa.
Koska piirilevysuunnittelu ja Python-skriptit ovat julkisesti saatavilla, kuka tahansa voi vapaasti jatkaa laitteen ja se toiminnan hiomista eteenpäin.