Αν θέλουμε να καταργήσουμε το φάκελο η εντολή που θα πληκτρολογήσουμε είναι “echo 38 >
/sys/class/gpio/unexport”. Πρέπει να έχουμε υπόψιν μας ότι με κάθε νέα εκκίνηση του συστήματος οι
φάκελοι αυτοί εξαφανίζονται, οπότε η διαδικασία πρέπει να επαναλαμβάνετε (χειροκίνητα ή
αυτοματοποιημένα) κάθε φορά που εκκινούμε.
Σημείωση: Όταν η πλακέτα τρέχει Angstrom openembedded, το LED1 αναβοσβήνει συνεχώς ως
ένδειξη λειτουργίας, ενώ το LED3, κυρίως κατά την εκκίνηση της συσκευής, αναβοσβήνει σα LED
σκληρού δίσκου. Όπως είδαμε πιο πάνω δεν υπάρχουν φάκελοι για αυτά στο sysfs οπότε πρέπει να τα
προγραμμάτισαν με χρήση βιβλιοθηκών. Για να αποφύγουμε πιθανές παρεμβολές θα
χρησιμοποιήσουμε τα LED 2 και 4 που είναι ανενεργά. Οι φωτογραφίες τραβήχτηκαν τη στιγμή που
το LED1 ήταν σβηστό για να φαίνεται καλύτερα η κατάσταση του LED2 που χρησιμοποιήσαμε
παραπάνω. Από εδώ και στο εξής τα LED 2 και 4 θα ονομάζονται συχνά LED1 και 2 αντίστοιχα.
4.10 SQLite3
Για την αποθήκευση των δεδομένων που συλλέγονται από τον αισθητήρα έκρινα καλύτερη τη
χρήση της sqlite3. Δεν έχει μεγάλες απαιτήσεις σε επεξεργαστική ισχύ και είναι πολύ λειτουργική. Οι
παραδοσιακές προτάσεις SQL όπως η MySQL δίνουν περισσότερες δυνατότητες, αλλά και πάλι οι
δυνατότητες της είναι πολύ περισσότερες από τις απαιτήσεις της εργασίας. Είναι προσβάσιμη με
πολλούς τρόπους, μέσω γραμμής εντολών και πολλών γλωσσών προγραμματισμού. Πλέον είναι
ενσωματωμένη στην php (>=5.3). Το κυριότερο σε αυτή την περίπτωση, υποστηρίζεται άψογα από τη
C.
Εγκατάσταση και μεταγλώττιση:
Τα πακέτα που χρησιμοποίησα για την εγκατάσταση τις sqlite3 στην πλακέτα ήταν τα
(libc6_2.6.1-r15.1_armv4t.ipk, libsqlite3-0_3.6.5-r0.1_armv4t.ipk και sqlite3_3.6.5-r0.1_armv4t.ipk).
Για να τη χειριστούμε μέσω της C χρειαζόμαστε τη βιβλιοθήκη sqlite3.h που βρίσκετε στο πακέτο
(libsqlite3-dev)
Προκειμένου να μεταγλωττίσουμε ένα πρόγραμμα της C που χρησιμοποιεί SQLite, πρέπει να
πρέπει καταρχήν να προσθέσουμε κάποια αρχεία στους φακέλους του μεταγλωττιστή. Στο φάκελο
“arm-2008q3/lib/gcc/arm-none-linux-gnueabi/4.3.2/include” προσθέτουμε το sqlite3.h. Στο φάκελο
“arm-2008q3/arm-none-linux-gnueabi/libc/lib” το libsqlite3.so.<έκδοση> (στην περίπτωση μας
Σελίδα 25
Comentarios a estos manuales