N G B O A R D S • Choose boards with female risers • Easy interface with jumper cables and shields • Desolder the risers or buy boards with solder pads for permanent projects • Don’t use Adafruit Flora boards intended for wearables • Board comparison chart
O M M U N I C AT I O N • 433 Mhz: most popular band for basic devices such as switches and sensors. • Low power • Good range (w/external antenna) • Excellent signal penetration • Inexpensive: $2-3 for Tx/Rx pair • Low data rate • Basic protocols, with little or no security • Open source libraries: 433mhzforarduino rc-switch
B B L E S H I E L D • Popular (lots of support) • iOS framework and sample apps • Arduino libraries: nRF8001 ble-sdk-arduino • Inexpensive ($20-25): redbearlab.com/bleshield/ makershed.com store-usa.arduino.cc
E I N S TA L L AT I O N 1. Install latest Arduino IDE in /Applications folder. 2. Install latest Java JRE, from the Terminal: java —version 3. Open Arduino.app. 4. Plug in Arduino board. 5. Run Blink test sketch.
E I N S TA L L AT I O N 1. Use Xcode instead of the Arduino IDE, which requires Java. 2. Uninstall Java, if preferred. 3. Download and run installer from http://embedxcode.weebly.com 4. Create a container folder to hold Arduino projects. 5. Edit ~/Library/Arduino15/preferences.txt to point to container folder: sketchbook.path=/Users/me/work/Arduino
L O P M E N T C O N F I G U R AT I O N 1. Create a Libraries folder for shared local libraries inside the container folder from previous step 4. 2. Copy library folders from projects to top-level Libraries folder. 3. Be sure to copy; aliases or symlinks don't work. 4. Remove documentation, examples, and any other unnecessary files to speed up compilation. • Don’t use spaces and special characters in projects name and path!
E W A R D U I N O P R O J E C T 1. File > New > Project... 2. Select OS X > embedXcode > embedXcode Local Library 3. Select board type. 4. Use ino extension. 5. Ensure board is plugged in. 6. Build. 7. Verify board LED is blinking.
R E D L I B R A R I E S 1. Add #include <Header.h> lines as usual in source files. 2. Core System Libraries reside in: /Applications/Arduino.app/Contents/Java/libraries/ 3. Add libraries to Makefile: • APP_LIBS_LIST = for Core System Libraries. • USER_LIBS_LIST = for User libraries. • For fastest compilation, include only necessary libraries. • Names must match library folder names, use spaces as delimiters • Default value of 0 means include no libraries for compiling. • Leave blank to include all libraries (slowest, potential conflicts).
• Immune from service disruptions/internet outages • Cannot access remotely over the internet • Cannot integrate with cloud services such as IFTTT.com • Wireless options: • 315/433/915 Mhz RF • Bluetooth LE • WiFi (as long as no hub or router is connected to the internet)
access over the internet • Plug-and-play home automation without having to tinker with electronics • Many commercial products and services require a cloud account: • Google (Dropcam and Nest) • Lutron Caséta • SmartThings • Wink • Privacy and security implications: • Your home is exposed to the internet and vulnerable to attack • Network activity alone can reveal occupancy patterns • Data mining: do you trust third-parties with your data? • Security vulnerabilities can let thieves know when you’re home (or not). • Disruptions due to internet outages, third-party service downtime, DDoS attacks, etc.
($0-50) hub from Quirky.com or Home Depot • Requires cloud account • Wink app available on App Store • Interfaces with wide array of devices: locks, thermostats, Dropcam, GE Link, Lutron Caséta • Slow and buggy
T E R N A L S • Freescale 450 MHz ARM9 SoC • 128 MB NAND Flash • Wi-Fi, Z-wave, ZigBee, Bluetooth LE, Lutron, Kidde antennas • Custom embedded Linux • Early versions rootable • H T T P : / / S TAT U S B I T S . B L O G S P O T. C O M / 2 0 1 4 / 0 7 / W I N K - H U B - T E A R D O W N . H T M L
4 . 0 • Inexpensive Bluetooth LE garage door control • $35 DIY kit, $50 fully assembled • Control with GarageMate app or write your own • Simple operation via Core Bluetooth: - Automation I/O Core Service (0x1815) - Digital Output Core Characteristic (0x2A57) • http://btmate.com
Integration with IFTTT and Apple Watch • Wifi-enabled, no pairing required • Requires cloud account for all users (owner and guests) • Allows remote operation over the internet • Blackbox (hub) costs $199-219 • http://garageio.com
N S " H A L 9 0 0 0 " B Y C RY T E R I A - O W N W O R K . L I C E N S E D U N D E R C C B Y 3 . 0 V I A W I K I M E D I A C O M M O N S - H T T P S : / / C O M M O N S . W I K I M E D I A . O R G / W I K I / F I L E : H A L 9 0 0 0 . S V G # / M E D I A / F I L E : H A L 9 0 0 0 . S V G