Google+

Σάββατο 15 Φεβρουαρίου 2014

Spark Core Wi-Fi for Everything

Το Spark Core είναι μια εξαιρετικά μικρή πλακέτα ανάπτυξης, συμβατή με Arduino, που ενσωματώνει το CC3000 wifi module της Texas Instruments μαζί με τον ARM Cortex M3 @72MHz μικροελεγκτή. 


Το Spark προήλθε από μια καμπάνια του Kickstarter που ολοκληρώθηκε με επιτυχία και στηρίχθηκε σε μια απλή ιδέα:

Arduino + Wi-Fi + API = awesome


Δημιουργήστε εφαρμογές για την ασύρματη σύνδεση οικιακών ηλεκτρονικών συσκευών, κ.α. εύκολα και γρήγορα! Το πιο σημαντικό χαρακτηριστικό που κάνει αμέσως τη διαφορά, είναι ότι μπορείς να το προγραμματίσεις μέσω wifi από την πρώτη κιόλας στιγμή, χάρις το firmware-bootloader που διαθέτει. Φυσικά, ο κλασσικός τρόπος προγραμματισμού (over usb) είναι πάντα διαθέσιμος. Επίσης, έχει ήδη προγραμματιστεί και μια εφαρμογή για βασικές λειτουργίες όπως Analog/Digital Read/Write σε κάθε GPIO Pin, για τον απομακρυσμένο έλεγχο με κινητό Android/IOS μέσω του Tinker App και μιας σύνδεσης στο internet.


Του Spark δε του λείπει τίποτα... το Spark Build που είναι ένα Web IDE για να προγραμματίζεις μέσω internet το Spark Core είναι κάτι που θα βοηθήσει πολύ. Επίσης, υπάρχει το REST-API που υποστηρίζει τη χρήση των βασικών δυνατοτήτων (digital/analog read/write values) μέσω POST / GET / JSON αλλά και πιο προχωρημένων, όπως της αναβάθμισης του firmware-bootloader over wifi.

Τέλος, η κοινότητα που έχει στηθεί γύρω από το Spark Core, είναι ήδη πολύ δραστήρια και έχει υλοποιήσει πολλά εργαλεία για τους προγραμματιστές αλλά και εφαρμογές open source για εκμάθηση του API, δημιουργία άλλων εφαρμογών, κτλ. Όπως το παράδειγμα του spark-helper που βοηθάει το χρήστη-προγραμματιστή να επικυρώσει την επικοινωνία Spark Core <-> Cloud:



Μερικές από τις σημαντικότερες δυνατότητες που προσφέρει το Spark Core:

1. Arduino compatible
2. Easy wifi setup
3. Firmware upload over wifi - internet
4. Cloud API
5. Community
6. Compatible shields
7. Open Source Hardware (board schematics)
8. Open Source Software (API, firmware, bootloader)

 

Σάββατο 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