Google+

Σάββατο 25 Ιανουαρίου 2014

Arduino Bluetooth Control

Η απαράμιλλη απλότητα στη χρήση του Bluetooth και ιδίως η ευρεία αποδοχή του στην παγκόσμια αγορά εδώ και πολλά χρόνια, το προτάσουν ως τη νούμερο ένα λύση για εφαρμογές ασύρματης επικοινωνίας μεταξύ καταναλωτικών συσκευών και ιδίως των κινητών.

Για το Arduino υπάρχουν διαθέσιμα Bluetooth modules και shields. Παρακάτω, θα σας παρουσιάσω ένα πολύ φθηνό BT module (πάνω σε μια πλακέτα breakout), το HC-05:


Το HC-05 μας δίνει τη δυνατότητα ασύρματης σειριακής επικοινωνίας (SPP) σε υψηλές ταχύτητες και μεγάλο του ατού είναι η τιμή του, αφού θα το βρείτε πολύ φθηνά (έως και 6e) στο ebay

Η συνδεσμολογία του module με το Arduino είναι αρκετά απλή:


VCC
GND
TX
RX
KEY (for AT commands mode)



Σε επίπεδο λογισμικού, χρησιμοποιείται τη σειριακή <SoftwareSerial.h> για να στείλετε και να λάβετε δεδομένα.

Με τον κώδικα εδώ, μπορείτε να επικοινωνήσετε είτε με ένα PC, είτε με Android μέσω BT.


Η εφαρμογή για το Android, που δεν είναι τίποτα παραπάνω από μια εφαρμογή τερματικού μέσω bluetooth (BT terminal), είναι διαθέσιμη και στο Google Play. Για τον υπολογιστή αρκεί το HyperTerminal των windows αν και φυσικά υπάρχουν πολύ καλύτερα ανοικτού κώδικα, όπως το TeraTerm ή το Terminal. Μερικά screenshot:





Τέλος, το HC-05 υποστηρίζει και λειτουργία με AT command (modem) κυρίως για τη διάγνωση συστήματος.

Arduino + Android + Bluetooth Demo Video from @youtube:

Σάββατο 11 Ιανουαρίου 2014

Arduino IDE for Android

Το Arduino IDE είναι διαθέσιμο για τα περισσότερα γνωστά λειτουργικά (OS) Windows, Linux, Mac. Επειδή, όμως ως γνωστόν διανύουμε την Μετά-PC εποχή (post-PC era) πολλοί είναι αυτοί που θα ήθελαν να έχουν ένα IDE, για την αγαπημένη τους πλατφόρμα ανάπτυξης, στο αγαπημένο τους tablet ή κινητό με λειτουργικό Android!

Αυτή η εφαρμογή είναι ήδη στο Google Play και θα τη βρείτε με το όνομα ArduinoDroid!

Πρόκειται για ένα πλήρες εργαλείο ανάπτυξης κώδικα IDE που επιτρέπει πέρα από το πιο απλό, για παράδειγμα να γίνει upload ενός sketch, υποστηρίζει εξίσου και δυνατότητες συγγραφής και επεξεργασίας κώδικα για το Arduino. Παρακάτω κάποιες από τις δυνατότητες της τελευταίας έκδοσης 3.2.1:

* code complete
* real-time diagnostics (warnings and errors) and fixes
* file navigator (variables, methods, etc)
* smart syntax highlighting
* portrait/landscape UI
* auto indentation
* example sketches and libraries included
* configurable code syntax highlighting (themes)
* compile sketches (no root required)
* upload sketches (android devices with USB-OTG support required)
* works offline (internet connection is not required)
* Dropbox support 

Ουσιαστικά, το μόνο που απαιτείται είναι ότι θα πρέπει τα tablet/mobile να υποστηρίζουν σύνδεση USB-On-The-Go. Μερικά screenshot από την εφαρμογή εν δράσει με το Arduino:








Nimbits data logger

Η μετάδοση δεδομένων στο Google Cloud με χρήση του Arduino και μέσω δικτύου γίνεται εύκολα μέσω του Nimbits.


Πρόκειται για μια δωρεάν πλατφόρμα, ανοικτού κώδικα, για την καταγραφή δεδομένων (data logging). Το Nimbits μπορείτε να το κατεβάσετε για εγκατάσταση σε τοπικό σας server, μπορεί όμως να εγκατασταθεί και στο Google App Engine (και στις δύο περιπτώσεις απαιτείται το Google App Engine SDK). Στην κονσόλα διαχείρισης δημιουργείτε οντότητες (data point) για την εισαγωγή των τιμών (πχ θερμοκρασία, πίεση, κοκ).


Με τον τρόπο αυτό, μπορούν να καταγράφονται οι τιμές μέσω ενός αιθητήρα θερμοκρασίας LM35 και να αποστέλλονται μέσω του Ardunino + Ethernet Shield στο Nimbits, όπου από εκεί θα είναι διαθέσιμα σε γραφήματα με αναλυτικό ιστορικό και στατιστικά.


Πλήρεις οδηγίες για την εγκατάσταση του Nimbits στο Google App Engine αλλά και κώδικας μαζί με βιβλιοθήκη για το Arduino, είναι διαθέσιμα στη σελίδα http://www.nimbits.com. Τέλος, μια ολοκληρωμένη υλοποίηση με αναλυτική τεκμηρίωση μπορείτε να βρείτε στο βιβλίο BuildingTheInternetOfThingsWithArduino (C.Doukas).

Πέμπτη 9 Ιανουαρίου 2014

Creation is Child’s Play

Το παρακάτω βίντεο είναι μια δημιουργία του @OpificioCiclope. Αφηγείται μερικές ιστορίες δημιουργών με Arduino, όπως το μικρό παιδί computer geek μέχρι και τον Massimo Banzi και το εργαστήριο κατασκευής πλακετών Arduino κι όλα αυτά στη μικρή πόλη Ιβρέα (Ivrea) τη μέκκα του IT στην Ιταλία, εκεί που βρίκονταν και τα κεντρικά της Olivetti.

Όλα παρουσιάζονται σε ένα 20 λεπτο βίντεο, ένα "Web Documentary" (ιστο-ντοκυμαντέρ) που δημοσιεύτηκε στο WIRED Ιταλίας για λογαριασμό του ηλεκτρονικού περιοδικού.


 

"If You Can’t Open It, You Don’t Own It"

 
Tags: #Arduino, #3D printing, #Maker, #OpenSource, #FabLab, #Design

Κυριακή 8 Δεκεμβρίου 2013

RF signal decoding

Οι ποικιλία των RF συσκευών που κυκλοφορούν στην αγορά, μπορεί να μετατρέψει την πιθανή χρήση τους με το Arduino σε μία όχι και τόσο εύκολη υπόθεση. Αν θέλουμε για παράδειγμα, να συνδέσουμε έναν ασύρματο μετεωρολογικό σταθμό, αισθητήρα κ.α. και να λαμβάνουμε τις τιμές του, θα πρέπει να αποκωδικοποιήσουμε το σήμα εκπομπής.

Παρακάτω, μια μέθοδος/διαδικασία για τη λήψη και αποκωδικοποίηση τέτοιων σημάτων.


Λήψη του σήματος RF μέσω του receiver module, και σύνδεση της εξόδου του, στην είσοδο της κάρτας ήχου του υπολογιστή (Line in), όπως φαίνεται στην παρακάτω εικόνα:

έπειτα, ένα αρχείο ήχου (.wav) θα πρέπει να καταγραφεί και να ανοίξει με ένα πρόγραμμα επεξεργασίας ήχου, όπως το Audacity.

Ανοίγοντας το αρχείο εμφανίζεται η κυματομορφή, πρέπει να το επεξεργαστείτε ώστε καταρχήν να γίνει η διάκριση μεταξύ του ωφέλιμου σήματος από το θόρυβο:

Αυτό μπορεί να γίνει εύκολα χρησιμοποιώντας τα εργαλεία ζουμ:
Η ψηφιακή διαμόρφωση σήματος είναι OOK (on-off-keying) παλμοί, δηλαδή τα bit 1, 0 κωδικοποιούνται με άνοιγμα-κλείσιμο του πομπού και φυσικά έχουν διαφορετική διάρκεια το καθένα. Η ακριβής διάρκεια του παλμού για τα bit 0 και 1, υπολογίζεται μετρώντας τα δείγματα (samples) της κυματομορφής με τη βοήθεια του audacity, δηλαδή μετρώντας τις τελείες που εμφανίζονται πάνω από τους παλμούς:
Το σύνολο των δειγμάτων ενός παλμού, προς το ρυθμό δειγματοληψίας που είναι ήδη γνωστός (48000 δείγματα/δευτερόλεπτο) μας δίνει τη διάρκεια του παλμού, πχ:

Το παραπάνω νούμερο χρειάζεται να δηλωθεί στον κώδικα arduino για τον κάθε bit αντίστοχα, ώστε να μπορεί να ολοκληρωθεί η αναγνώριση, αποστολή και λήψη των σημάτων.

Με αυτόν τον τρόπο, η αναγνωρίση bit 0,1 μέσα στην κυματομορφή αποτελεί μια σχετικά απλή διαδικασία.

Εναλλακτικά, υπάρχει η δυνατότητα να γίνει λήψη και εγγραφή του σήματος RF σε αρχείου ήχου, χωρίς τη χρήση της κάρτας ήχου αλλά με χρήση ενός φθηνού SDR usb (RTL2832) και το λογισμικό SDRsharp όπου υπάρχει ενσωματωμένη λειτουργία εγγραφής, ταυτόχρονα με τη λήψη του σήματος RF.


Διαβάστε περισσότερα:
Interfacing with remote power sockets
433 MHz RF - Temperature and humidity sensor decoding
433 MHz projects
Wireless Remote Control for Arduino
Controlling 433Mhz RF power sockets with a RFM12B module
Modulation

Σάββατο 7 Δεκεμβρίου 2013

RF remote control

Με τη συγκεκριμένη κατασκευή αντικαθιστούμε τα τηλεχειριστήρια RF για τον απομακρυσμένο έλεγχο συσκευών (γκαραζόπορτες, πρίζες, διακόπτες, συναγερμούς) με το arduino και ένα RF module (RX/TX)
Υλικά που απαιτούνται:

1 x RF Link Transmitter (433/315 MHz)
1 x RF Link Receiver (433/315 MHz)



Σύνδεση:

Εγκατάσταση βιβλιοθήκης rc-switch

Η αποκωδικοποίηση του σήματος RF που στέλνει το τηλεχειριστήριο, για την ενεργοποίηση των εκάστοτε συσκευών, είναι και το πιο tricky και χρονοβόρο μέρος στην υλοποίηση και γίνεται με τη βοήθεια του RF Receiver module.

Ευτυχώς, υπάρχει έτοιμος κώδικας στη βιβλιοθήκη που κάνει λήψη και αποκωδικοποίηση των RF μηνυμάτων που στέλνονται πατώντας τα κουμπιά στο τηλεχειριστήριο:


Τα μηνύματα, με τους κωδικούς για κάθε πλήκτρο, εξάγονται στη σειριακή κονσόλα:

Αφου ολοκληρωθεί η αποκωδικοποίηση των μηνυμάτων για κάθε πλήκτρο του τ/χ, οι κωδικοί μπορούν πλέον να τροφοδοτηθούν για αποστολή από το RF Transmitter module χρησιμοποιώντας το παράδειγμα της βιβλιοθήκης SendDemo και να καταφέρετε απομακρυσμένο έλεγχο συσκευών μέσω του Arduino: