LU-BST:SwissQM
Kā uzstādīt un notestēt SwissQM virtuālo mašīnu (http://swissqm.inf.ethz.ch/): Šis apraksts paredzēts, lietojot VMware image failu - ja vēlaties uzlikt pilnībā uz Ubuntu, tad sekojiet punkts punktā šim instalācijas aprakstam, uz kura daļēji balstīts arī šis apraksts: http://www.swissqm.inf.ethz.ch/installation.html
(Piezīme - iespējams, ka Jums tāpat nāksies nolādēt VMware image failu, jo 3.punktā vajadzīgais fails (ja pareizi saprotu, pati SwissQM programma) vairs nav sastopams uz viņu servera (12.12.2010).)
(Piezīme VMware vietā var lietot VirtualBox, kas ir bezmaksas alternatīva, ko piedāvā Oracle).
Pirmais, kad ir ieslēgusies virtuālā mašīna un "virtuālais" Ubuntu, ir jānoprogrammē saknes mote. Pievienojiet moti virtuālajam Ubuntu (kas var nebūt tik viegli, ja lietojiet bezmaksas VMware player`i, bet ar laiku vajadzētu izdoties) un Ubuntu atveriet konsoli, kurā aizejiet uz TinyOS apps mapi:
cd $TOSROOT/apps/SwissQM
Un nokompilējiet programmu telosb platformai (šo soli laikam var ar izlaist):
make telosb
Visbeidzot uzlieciet programmu uz motes:
make telosb install,0 bsl,/dev/ttyUSB0
Cipars 0 pēc "install," norāda kādu jūs ID piešķiriet motei SwissQM programmā. Lai apskatītu kāds ports ("/dev/ttyUSB0" daļa) ir Jūsu motei var lietot komandu:
motelist
Lai uzliktu SwissQM vairāk motēm ir jānomaina komandā SwissQM ID un ports, uz kuras atrodas tā cita mote, piemēram:
make telosb install,7 bsl,/dev/ttyUSB3
ja vēlaties izveidot motei, kurai piešķirat ID 7 un kura atrodas uz 3. USB porta.
Tālāk ir jāuzbildo R-OSGi freimvorks un SwissQM gateway:
cd ~/workspace/R-OSGi mvn install cd ~/workspace/SwissQM-osgi-gateway mvn install
Nākošais solis būtu gateway palaišana, bet pirms tam ir vajadzīgs to nokonfigurēt. Caur parasto pārlūku jāaiziet līdz gateway mapei (var arī lietot konsoli) - Home folderi -> workspace-> SwissQM-osgi-gateway->run mape. Tur jāatver ar gedit motedb.properties fails. Tajā jānokonfigurē kādas motes tiks lietotas. Rindiņa sastāv no motes TinyOS (vai hārdvēriskā, īsti nezinu) ID un tad seko tas ID, kurš tika norādīts programmējot moti. Lai uzzinātu motes TinyOS ID lietojiet komandu 'motelist'. Par piemēru varētu būt šāda rindiņa failā, kurā norādīta saknes mote :
M4AIZEJU=0
Lai pievienotu nākamo moti, vnk rakstiet tās ID un tās uzlikto SwissQM ID. Tad, lai palaistu pašu gateway, konsolē aizejiet uz run mapi:
cd ~/workspace/SwissQM-osgi-gateway/run
(vai arī 'cd run', ja esiet palicis gateway mapē). Palaidiet gateway jar failu:
java -jar concierge-1.0.0.RC2.jar
Sameklējiet kompilācijas tekstā, vai atrodamas šādas rindas :
[DEBUG] scanning for existing devices... [Tue Jun 03 16:44:22 CEST 2008] [INFO] new node 'M4AIZEJU' connected at device '/dev/ttyUSB0'
Un ja šīm rindām seko šāds teksts :
serial@/dev/ttyUSB0:115200: resynchronising [Tue Jun 03 16:44:22 CEST 2008] [DEBUG] MoteDeviceObservationService registered.
tad viss ir kārtībā. Ja gadījumā rāda kādu error un MoteDeviceObservationService registered nav(!), tad pārskatiet, vai esiet pareizi uzprogrammējuši saknes moti un norādījuši to motedb.properties failā.
Šis serviss tiek piestartēts tikai tad, kad ir pievienota saknes mote un pareizi nokonfigurēta. Bez tās SwissQM nedarbojas. (Ja esat pievienojuši vairāk motes, tad iespējams, ka Jums var parādīties tāds teksts, ka ir warning - MoteIF nav pareizi nokonfigurēts - šeit ir runa par iepriekš pieminēto motu koka konfigurāciju (ja pareizi sapratu). Šo brīdinājumu var ignorēt, ja motes pievienotas ar USB, nevis ar radio komunikāciju (to neesmu izpētījis, kā tā strādā) - datus varēsiet iegūt tāpat.)
Kad ir palaists gateway, tad dažas komandas var palaist no konsoles (arī vaicājumus, to visu variet skatīt: http://www.swissqm.inf.ethz.ch/installation.html 7.punktā), bet daudz ērtāk ir lietot Eclipse pluginu.
Atveram Eclipse un spiežam uz Run un SwissQM Eclipse Plugin. Tas atvērs jaunu Eclipse, kurai apakšā būs sadaļa SwissQM gateways. (Bildītes skatīt par to visu labāk skatīt : http://www.swissqm.inf.ethz.ch/installation.html) Tur jāpiekonektējas gatewayam - to darīt ar dubultklikšķi, neko citu viņš īsti ar nesaprot (arī caur labo peles klikšķi). Tad vajadzētu parādīties vairākām sadaļām apakšā. Vissvarīgāk - lai iegūtu datus ir jāuzklikšķina uz RSS Feed generator ar labo pogu un jānospiež Start - tas ļaus piekļūt atpakaļ sūtītajiem datiem (vaicājumu rezultātiem). Tas nav aprakstīts SwissQM dotajā instalācijas aprakstā - bet to vienkārši vajag iedomāties, ka tā ir jādara.
Tad varam sākt rakstīt vaicājumus mūsu motēm. Spiežam uz Queries mapi ar labo pogu - izvēlamies New SQL Query un logā varam rakstīt savu vaicājumu, piemēram
SELECT nodeid, temp, light FROM sensors SAMPLE PERIOD 5s.
Kā periodu var norādīt arī minūtes - min. SwissQM piedāvā arī agregācijas funkcijas - MIN(), MAX(),AVG(). Bet to visu variet izpētīt paši.
Kad ir veikts kāds vaicājums, tad pie SwissQM Query Machine, vajadzētu parādīties tam vaicājumam, kuram var ar labo peles pogu uzklikšķināt un paprasīt, lai parāda datus - table, grafiku, vai arī labi parāda asamblera kodu.