Általános tudnivalók
A tárgy első órarendi órája előreláthatólag - az órarend jelenlegi változata szerint - 2016. február 16-án, kedden az Informatika épület IB.210-es termében lesz 10:00-kor. Ekkor mérést nem tartunk, csak egy rövid tájékoztatást adunk az egyes mérésekről és a félév menetéről.
A mérések a 2. oktatási héten indulnak. Az 5. oktatási héten a mérés időpontja munkaszüneti napra esik. A mérések egységesen keddenként 8.30-kor kezdődnek.
Csoportbeosztás
A hallgatók mérőpárokat alkotnak. A mérőpárok a méréseket különböző időpontokban, előre megbeszélt beosztás szerint végzik el.
Gyakorlatok
1. MATSim szimulációs keretrendszer
A MATSim egy Java nyelven készült, nyílt forráskódú forgalomszimulációs keretrendszer. A mérés a modell szemléletét és a szimulátor használatát mutatja be. A mérés során először konfigurációs file-ok segítségével készítenek szimulációt a hallgatók, majd példákon keresztül megismerkednek a programokódból való konfiguráció generálással és futtatással.
A mérés elvégzéséhez alapvető Linux ismeretek, az XML és a Java nyelv szintaktikájának ismerete szükséges, de nem épít a Java standard könyvtárak ismeretére.
2. Mikrokontroller modulok programozása, kommunikáció - IoT 1.
Az okos város alkalmazások legtöbbje szenzor, beavatkozó alkalmazások és szolgáltatások kommunikációjára épül. Ahogy az alkalmazás, úgy a kommunikáció is sokféle lehet, más más alkalmazás másfajta kommunikációt kíván. Előtérbe kerülnek az Internet of Things IoT alkalmazások. Itt a dolgok az Internet segítségével kommunikálnak egymással, valamint az Interneten keresztül tudás épül az alkalmazás adatokból. Az IoT persze több a kommunikációnál, de ezen a mérésen az IoT lánc kommunikációs részét fogjuk csak megvizsgálni: a szenzorok adatokat küldenek és a beavatkozók adatokat fogadnak, mindezt egy IoT platfromon keresztül.
A mérés során mikrokontrollereket programozunk, hogy szenzor értékeket olvassanak és küldjék el az Internetre, illetve figyeljék az Internetet és vezéreljék a kimeneti egységeket.
A mérés elvégzéséhez szükséges C/C++ programozási imseret, bár alapvetően példaprogramokkal dolgozunk. A méréshez szintén szükséges felhasználói regisztráció a következő szerverekhez:
- myDevices.com
A modulok illesztéséhez a hallgatónak ismernie kell a következő protokollokat: Analóg, digitális illesztés, USART, I2C, SPI. Ezen kívül ismernie kell az MQTT protokollt. Az ismeretekből a mérés elején tesztkérdésekre lehet számítani! A felkészüléshez szükséges anyag az útmutatóban található.
3. IoT platform használata - IoT 2.
A korábbi mérés során a hallgatók elkészítik azt a kommunikációt, amely segítségével a szenzor által mért adatok eljuttathatóak az Interneten lévő IoT szolgáltatáshoz, illetve az IoT szolgáltatás parancsait lehet elküldeni az aktuátornak. Ezen a mérésen az IoT platform szolgáltatásaival kapcsolatban lesznek feladatok. Egy adott IoT platformon kell adatelemzést és vizualizációs feladatokat megoldani, illetve a platformon kiszámolt és tárolt adatokat okostelefonra küldeni.
A kiválasztott platfrom a ThingSpeak. A mérés során az adatelemzést és a vizualizációt a Matlab program segítségével végezzük, amely a kiválasztott platform része. Szükséges tehát a Matlab ismeretek felelevenítése.
4. Szimuláció ROS és Gazebo környezetben
A mérés során a hallgatók, egy a Robot Operating System és a Gazebo használatával szimulált közepes méretű Husky robotautót kell vezérelniük egy épületen keresztül. Ezenkívül a robotot módosítni is kell, további szenzorokat kell hozzáadni: kamera, LIDAR, GPS.
5. Kiterjesztett valóság alkalmazások
A mérés során a hallgatók egy, az MTVA Rádió és Televíziótörténeti Kiállítóhelyen láthatóhoz hasonló múzeumi kiterjesztett valóság alkalmazást készítenek el, amely a virtuális tartalmak megjelenítése mellett beszédtechnológiát (gépi szövegfelolvasást) is alkalmaz. Minden felkészülési anyag és a mérési útmutató a http://smartlab.tmit.bme.hu/csapo/AR/ címen érhető el.
6. Gesztusvezérlés
A hallgatók feladata a mérés során egy webkamera gesztusokkal történő vezérlésének megvalósítása. A mérés során rendelkezésre áll egy telepített IP-n keresztül elérhető és vezérelhető webkamera, és egy Leap Motion eszköz, amely alkalmas az ujjak, kezek, karok követésére és ezekkel megvalósított gesztusok azonosítására. A mérés során meg kell ismerni a webkamera vezérlését és a Leap Motion eszközt és annak programozó interfészét. Ezek segítségével és az Ember-gép interfész tárgy keretében tanult tervezési elveket alkalmazva meg kell tervezni egy gesztus alapú felhasználói interfészt.
A méréshez C++ programozási ismeretek szükségesek.