Muodostaa tiimi ja ilmoittautua eri aikaväleille. ennen 5.10
Laboratorioharjoitus¶
Osaamistavoitteet: Tässä harjoituksessa tutustutaan SensorTag:n ohjelmointiin IDE-ohjelmointiympäristössä. Harjoituksessa opetellaan myös tehtävien luontia ja eri laitteiden kanssa kommunikointia SensorTagin avulla.
Harjoituksen jälkeen osaat luoda SensorTagille ohjelmia käyttäen CCS IDE:tä, debugata näitä ohjelmia, ladata ja ajaa niitä laitteessa sekä käyttää SensorTag:n eri oheiskomponentteja/laitteita:
- Painonappeja ja ledejä
PIN
-kirjaston avulla. - Luetaan sensorilta dataa
i2c
-protokollaa käyttäen. - Toteutetaan yksinkertainen tilakone synkronoimaan sensoridatan lukeminen ja sen lähetys.
- Kommunikoidaan yksinkertaisilla viesteillä kehitysympäristön Debug-ikkunan kanssa
UART
-kirjastolla.
Toteutus
Laboratorioharjoitus on jaettu kahteen sessioon. Voit osallistua mihin tahansa ehdotetuista ajoista kumpaakin sessiota varten. Läsnäolo on pakollista, ja saman tiimin kaikkien jäsenten on osallistuttava samaan aikaan.
Laboratorioharjoitus on jaettu kahteen sessioon. Voit osallistua mihin tahansa ehdotetuista ajoista kumpaakin sessiota varten. Läsnäolo on pakollista, ja saman tiimin kaikkien jäsenten on osallistuttava samaan aikaan.
Seuraavassa on eri sessioaikojen aikataulu.
Aika | Paikka | Sessio |
Ma 09.10. klo 10-12 | TS135 | Sessio 1 |
Ma 09.10. klo 12-14 | TS135 | Sessio 1 |
Ti 10.10. klo 10-12 | TS135 | Sessio 1 |
Ti 10.10. klo 12-14 | TS135 | Sessio 1 |
Ke 11.10. klo 12-14 | TS135 | Sessio 1 |
Ke 11.10. klo 14-16 | TS135 | Sessio 1 |
To 12.10. klo 08-10 | TS135 | Sessio 1 |
To 12.10. klo 10-12 | TS135 | Sessio 1 |
Ma 16.10. klo 10-12 | TS135 | Sessio 2 |
Ma 16.10. klo 12-14 | TS135 | Sessio 2 |
Ti 17.10. klo 10-12 | TS135 | Sessio 2 |
Ti 17.10. klo 12-14 | TS135 | Sessio 2 |
Ke 18.10. klo 12-14 | TS135 | Sessio 2 |
Ke 18.10. klo 14-16 | TS135 | Sessio 2 |
To 19.10. klo 08-10 | TS135 | Sessio 2 |
To 19.10. klo 10-12 | TS135 | Sessio 2 |
Esivalmistelut¶
Ennen 5.10 sinun tulee muodostaa tiimi ja ilmoittautua eri aikaväleille.
Ennen harjoituksen tekemistä C-kielen ohjelmointiharjoitukset tulisi olla tehtynä. Harjoitus on hyvin pitkälti copy & pastea luentomateriaalista ja omista C-kielen harjoitustehtävistä.
Vaihe 0: Luo ryhmä ja varaa aikasi.¶
Vaihe 1: Luentomateriaaliin tutustuminen¶
Laboratorioharjoitus on tarkoitettu laitteen ohjelmoinnin opetteluun, joten opiskelijoilla olisi hyvä olla käsitys C-kielestä ennen harjoituksen tekemistä.
Sujuvan suorituksen varmistamiseksi seuraavat luentokappaleet on hyvä käydä ennen harjoitusta omatoimisesti läpi.
- Luentokappale 14: SensorTag-ohjelman toteutus
- Miten toteutetaan ohjelman toiminnallisuudet tehtävinä?
- Luentokappale 15: Tilakoneet
- Miten tehdään tilamuuttujan käyttö taskien välillä?
- Luentokappale 16: Input / Output
- Miten painonapit ja ledit alustetaan ja otetaan käyttöön ohjelmassa?
- Luentokappale 18: Keskeytykset
- Miten laaditaan pinnille keskeytyksen käsittelijä?
- Luentokappale 17: Sarjaliikenne
- Miten UART-kirjastoa käytetään
- Miten laaditaan i2c-viesti ja miten se lähetetään ja vastaanotetaan?
- Luentokappale 20. SensorTagin Oheislaitteet
- Miten tulkitaan sensoridata rekistereistä?
Vaihe 1 - Ohjelmointiympäristön asennus¶
Voit käyttää kaikkia tarvittavia kehitysympäristöjä virtuaalikoneiden kautta, jotka ovat käynnissä yliopiston tietokoneissa. Tämä on vaihtoehto, jonka kurssihenkilökunta suosittelee. Voit myös asentaa kehitysympäristön omaan koneeseesi.Tässä tapauksessa SensorTagin kehitysympäristön saa omaan käyttöön kolmella tavalla:
- CCS Cloud ei vaadi asennusta. Ainoastaan rekisteröityminen TI:n verkkosivustolla on tarpeen. Projektit ohjelmoidaan ja säilyvät pilvessä, joten helppokäyttöinen läppärissä selaimen kautta. Linux-asennus vaatii käyttöoikeuksien säätöä. Kuitenkin on joitakin ongelmia debuggerin kanssa.
- CCS IDE taas tarjoaa enemmän mahdollisuuksia työasemalla ns. oikeana sulautettujen kehitysympäristönä, mutta vaatii isomman asennustyön ja enemmän suoritustehoja. Sopii kaikille Windos / MacOS (Kurssihenkilökunta ei tarjoa tukea MAC-käyttöjärjestelmälle) / Linux.
- Molemmat ohjelmistot on asennettu valmiiksi virtuaalikoneeseen. Vaatii lisäksi virtuaalikoneen ajoympäristön asennuksen. Sopii kaikille Windows ja linux (ei Mac). Kurssihenkilökunnan suosittelema vaihtoehto
Linux-jakeluksi suositellaan Ubuntu-pohjaisia jakeluita, joita valmistaja TI tukee. Virtuaalikoneet on esimerkiksi rakennettu Linux Lite:n päälle. Aikaisempina vuosina muille linux-jakeluille ohjelmistojen asennus ja käyttö on ollut vaikeaa.
Vaihtoehto 1: CCS Cloud¶
Debuggeri ei toimi kunossa
Näillä ohjeilla CCS Cloud-ohjelmointiympäristö saadaan asennettua omalle koneelle.
Koska kehitysympäristö on pilvipohjainen, käytämme laitteen ohjelmointiin selainta, jota varten tarvitsee asentaa selainlaajennus sekä laiteajuri. Ympäristö on todettu toimivaksi ainakin Firefox- ja Chrome-selaimilla.
Asennusvaiheet:
- Avaa TI Developer Zone
- Rekisteröidy TI:ssä ja hanki käyttäjätunnus
- Lataa ja asenna TI Cloud -agentti
- Asenna seuraava sealinlaajenus TICloudAgent Bridge. The addon on saatavilla vain Chrome -selaimelle.
- Avaa CCS Cloud
TI Explorer on poistanut kaikki CC2650 SensorTag esimerkkiprojektit. Tarvittavat projektit löytyvät CC250 täältä. Ne voidaan tuoda IDEen painamalla oikean yläkulman import nappia. Tärkein esimerkki on Empty Project. Huomaathan että importin toimiminen vaatii kirjautumista dev.ti.com:iin.
Mahdollisia ongelmakohtia asennuksessa:
- Ao. kuvan mukainen Update-kehoitus. Tässä käynnistetään Update ja odotellaan kunnes se valmistuu. Debug-ikkunaan voi ilmestyä päivitysprosessin aikana monenlaista virheilmoitusta (keltaista ja punaista tekstiä), mutta näistä ei tarvitse välittää. Kun päivitys on valmis, saatetaan joutua irroittamaan laitteesta virrat (ts. irti USB-kaapelista) ja painelemaan Retry useamman kerran kunnes yhteys muodostuu.
- Vakavampi virheilmoitus "serialport.list()." Jos tälläinen ilmoitus tulee, ole yhteydessä henkilökuntaan. Laitteestasi tarvitsee päivittää debuggerin firmware muulla keinoin kuin itse päivittämällä.
- Linuxille suosittelemme asentamaan CCS IDE:n tai käyttämään valmista virtuaalikonetta, koska USB-portin jakamisessa selaimelle on käyttöoikeusongelmia. Ohjeet alla.
Vaihtoehto 2: CCStudio IDE¶
Näillä ohjeilla saat työasemille tarkoitetun CCS IDE-kehitysympäristön asennettua omalle koneelle.
Latauslinkit tässä järjestyksessä:
Varmista että TI-RTOS ja XDC Tools on asennettu koneellesi. CCS:ssä, avaa Windows > Preferences > Code Composer Studio > Products. Jos niitä ei ole asennettu, asenna ne.
Linuxille (=Ubuntu) ja Macille asennus menee pitkälti samoin.
- Yleisohjeet täältä.
- Tuettavat käyttöjärjestelmäversiot löytyvät yo. sivuilta.
- Linux-jakeluna pitäisi käyttää Ubuntua / Ubuntu-pohjaisia jakeluita, koska TI tukee sitä virallisesti. Muita jakeluita on opiskelijat joskus yritettäneet käyttää, mutta niistä on pahimmillaan seurannut turhauttava asennustaistelu. Kurssin virtuaalikoneessa IDE on asennettu Ubuntu-pohjaiseen Linux Lite-jakeluun.
Varmista että TI-RTOS ja XDC Tools on asennettu koneellesi. CCS:ssä, avaa Windows > Preferences > Code Composer Studio > Products. Jos niitä ei ole asennettu, asenna ne.
HUOMIO MAC-käyttäjille, joilla on M1- ja M2-sirut: Valitettavasti kurssilla käyttämämme TI-RTOS-versio ei ole tuettu tällä alustalla, joten et voi käyttää tietokonettasi SensorTagin ohjelmointiin.
Tyhjä esimerkki projekti ei ole enää saatavilla TI Resource Explorerin kautta. Se täytyy ladata täältä Huomioithan että sama projekti löytyy myös harjoitusten Githubista. CCS Studiossa, avaa Project > Import CCS Project ja valitse .zip tiedosto.
Mahdollisia ongelmakohtia asennuksessa:
- Sama debuggerin firmiksen päivitysongelma
- CCStudio ei osaa käsitellä välilyöntejä tiedostopoluissa. Asenna siis mieluusti kaikki ohjelmat oletushakemistoon
C:\ti
- Käännettäessä koodia laitteelle ensimmäistä kertaa voi tulla debuggerin firmwaren Update-pyyntö. Tässä käynnistetään päivitys ja odotellaan kunnes se valmistuu. Debug-ikkunaan voi ilmestyä päivitysprosessin aikana monenlaista virheilmoitusta (keltaista ja punaista tekstiä), mutta näistä ei tarvitse välittää. Kun päivitys on valmis, saatetaan joutua irroittamaan laitteesta virrat (ts. irti USB-kaapelista) ja painelemaan Retry useamman kerran kunnes yhteys muodostuu.
- IDE ei löydä RTOS:n tai XDCToolsin oikeita versiota, ilmenee siten että käännösvaiheessa tulee pitkä litania virheilmoituksia, joissa lopulta lukee että XDCToolsin väärä versio. Ohjeet tämän ongelman selvittämiseen videossa.
- Linux-jakeluna pitäisi käyttää Ubuntua / Ubuntu-pohjaisia jakeluita, koska TI tukee sitä virallisesti. Muita jakeluita on opiskelijat joskus yrittäneet käyttää, mutta niistä seurannut turhauttava asennustaistelu ei maksa vaivaa.
Vaihtoehto 3: Virtuaalikone¶
Suositeltava vaihtoehto on, että tuot kurssin virtuaalikoneen omaan tietokoneeseesi. Virtuaalikoneessa on asennettuna molemmat CCS Cloud ja IDE, mutta CCS Cloud ei toimi kunnolla.
Paketin koko on 12GB, joten lataus kestää aikansa. Työasemaluokasta kopioituna virtuaalikone mahtuu 16GB:n muistitikulle / Google Driveen tmv.
HUOMIO MAC-käyttäjille, joilla on M1- ja M2-sirut': Valitettavasti kumpikaan, VMWare Player tai VirtualBox, ei ole tuettu tällä alustalla, joten et voi käyttää tietokonettasi SensorTagin ohjelmointiin.
Virtuaalikoneen näköistiedosto ladataan täältä.
Näköistiedosto tarvitsee VirtualBoxin (testattu versiolla 7.0.4). Lisäksi jotta SensorTagin ja virtuaalitietokoneen välinen kommunikointi toimisi, täytyy asentaa Virtual Box Extension Pack joka vaatii vain muutaman vaiheen.
Virtuaalitietokoneen näköistiedosto on
.ova
tiedosto. Se täytyy tuoda VirtualBoxiin valikosta Tools > Import. Ennen virtuaalitietokoneen käynnistämistä yhdistä SensorTag tietokoneeseesi. VirtualBoxissa avaa Settings > USB ja valitse USB 3.0 (xHCI) Controller. Voit lisätä tietokoneen USB laitteet automaattisesti tunnistettaviksi painamalla + ikonia ikkunan oikeassa reunassa.'Lopuksi¶
Jos asennuksessa ilmenee jotain muita ongelmaa, olkaa asap yhteydessä kurssin henkilökuntaan.
Anna palautetta
Kommentteja materiaalista?