ruby


RAD: Προγραμματίστε το Arduino με Ruby

Το RAD είναι ένα framework που επιτρέπει να  προγραμματίστε το Arduino σας χρησιμοποιώντας την γλώσσα προγραμματισμού Ruby. To RAD ουσιαστικά μετατρέπει τον κώδικα που γράφετε από Ruby σε C, που μπορείτε να το κάνετε compile και να τον τρέξτε στο Arduino σας.

Ο στόχος στην περίπτωση του RAD είναι η απλοποίηση του προγραμματισμού του Arduino χρησιμοποιώντας μια υψηλού επιπέδου γλώσσα.

Πως το εγκαθιστώ;

‘Έστω λοιπόν ότι έχουμε εγκατεστημένη την Ruby στο σύστημα μας αν όχι  μπορείτε να προσθέστε το πακέτο ruby-dev και της εξαρτήσεις του (το παράδειγμα που ακολουθεί δουλεύει στις περισσότερες deb based διανομές).


sudo apt-get install ruby-dev libruby-extras

Λογικά μετά από αυτό θα μπορείτε να δώστε την εντολή

sudo gem install rad

Και (ανεύ απροόπτου) θα έχετε το rad στο μηχάνημα σας. Δίνοντας την εντολή που ακολουθεί θα δημιουργηθεί το δικό σας sketch

rad my_sketch

Η παραπάνω εντολή θα δημιουργήσει ένα φάκελο του RAD με το όνομα my_sketch με ένα κενό αρχείο στο οποίο θα γράψτε το κώδικα σας και ένα φάκελο vendor στον οποίο θα είναι όλη η υποδομή υποστήριξης του RAD.
Δίνοντας των κώδικα που ακολουθεί θα μπορούσαμε να φτιάξουμε ένα πολύ απλό hello world (σε συσκευές όπως το Arduino το αντίστοιχο του hello world είναι ένα LED που αναβοσβήνει).

class MySketch < ArduinoSketch output_pin 7, :as => :led
def loop
blink led, 500
end
end

Αφού στήσουμε το config/hardware.rb και το config/software.rb το μόνο που έχουμε να κάνουμε είναι να συνδέσουμε το Arduino μας με το USB και να δώσουμε την εντολή
rake make:upload
Αυτό ήταν, το RAD θα δημιουργήσει τον κατάλληλο κώδικα για το Arduino σας, θα ετοιμάσει και θα κάνει compile μια τοπικά εγκατεστημένη έκδοση του sketch σας, ακόμη και θα σας πει να πατήστε το κουμπάκι του reset στο Arduino σας καθώς αυτό χρειαζόταν στα παλιότερα μοντέλα και έτοιμο.

Αν θέλετε να ασχοληθείτε με το RAD λίγο περισσότερο ρίξτε μια ματιά στο κώδικα του github.

Ακολουθεί video με το παράδειγμα του helloworld στο οποίο αναφέρθηκα προηγουμένως. (ο δημιουργός χρησιμοποιεί μια παλαιότερη πλατφόρμα Arduino που χρειάζεται reset όταν ανεβάζει κανείς νέα sketch).

(more…)