CoreBluetooth for the Control Freak

CocoaConf Portland 2012 Tim Burks (with lots of help from Scott Gustafson)

Saturday, October 27, 12

About us Tim Burks • Freelance iOS developer (part-time enterprise device management at MobileIron, full-time fun at Radtastical Inc)



EE/Computer Engineer, formerly wrote CAD tools for microprocessors.

Scott Gustafson • Freelance app development (Garlic Software LLC, eBay, RedLaser, Symantec) • Hardware Hacker (Arduino, Bluetooth, RFID)

Saturday, October 27, 12

Why are we here? Core Bluetooth + Bluetooth LE is AMAZING

Saturday, October 27, 12

Bluetooth Low Energy

• Very high battery life, very low bandwidth • Core Bluetooth: No MFI + easy API + background mode Applications

Casio G-Shock image source: www.wired.com

Find my Car Smarter image source: www.imore.com BlueHR image source: wahoofitness.com Bluetooth Bulb image source: bluetoothbulb.com

Saturday, October 27, 12

Apple Support for Bluetooth LE

image source: http://www.bluetooth.com/pages/Bluetooth-Smart-Devices.aspx

Saturday, October 27, 12

WWDC ’12 Sessions • 703 Core Bluetooth 101 (Brian Tucker) • 705 Advanced Core Bluetooth (Joakim Linde, Khrob Edmonds)

https://developer.apple.com/videos/wwdc/2012/

Saturday, October 27, 12

Low Power

CR2032 image source: wikipedia.com

Saturday, October 27, 12

Apple Sample Code • • •

CoreBluetooth: Heart Rate Monitor (OS X) CoreBluetooth: Health Thermometer (OS X) CoreBluetooth: Temperature Sensor (iOS)

Available through the Xcode documentation window

Saturday, October 27, 12

Bluegiga BLE112 • Bluetooth 4.0 Single Mode Module • Integrated radio, antenna, 8051µC • DKBLE112 development kit Image source: bluegiga.com

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

TI CC Debugger The DKBLE112 can be programmed via USB using a built in DFU mode. ... but we’re still working on that. Until we get that, we program the board and any other BLE112s with the TI CC Debugger. http://www.ti.com/tool/cc-debugger CC Debugger image source: ti.com

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

Dynamixel Examples • http://support.robotis.com/en/product/ bioloid/premiumkit/download/ bio_prm_advance_apps.htm

Saturday, October 27, 12

BLE112 in-depth • Toolchain • Data sheet • Sample Projects • Documentation Image source: bluegiga.com

Saturday, October 27, 12

Windows Tools: bgbuild

Saturday, October 27, 12

Windows Tools: SmartRF Flash Programmer

Saturday, October 27, 12

Windows Tools: blegui2

Saturday, October 27, 12

Hello, Macintosh Saturday, October 27, 12

% bgbuild project.xml tag name: 0x1013005aa tag name: 0x1013005aa tag name: 0x1013005aa tag name: 0x1013005aa baudm:216 baude:10 rate:57617 UART channel:0 baudrate :57600 actual :57617 error% :0.0295139 alternate f:2 ports:14336 tag name: 0x10100b46a tag name: 0x10100b46a RAM Memory ------------------------------------------------Core RAM end @ 0x00000 0 Top of RAM @ 0x01f00 7936 RAM left for data = 0x01f00 7936 Attribute RAM - 0x00001 1 Connections 1 - 0x00185 389 RAM for packet buffers 193 - 0x01d67 7527 Flash Memory ------------------------------------------------Core flash reserved @ 0x18000 98304 Top of flash @ 0x1f800 129024 Flash left for data = 0x07800 30720 Common configuration - 0x00040 64 16 bit UUIDs - 0x00016 22 128 bit UUIDs - 0x00020 32 Attribute database - 0x00060 96 Constant attributes data - 0x0006d 109 USB descriptor - 0x000c6 198 BGScript - 0x00115 277 Flash for PS Store 14 - 0x07000 28672 % ls -s out.hex 704 out.hex

Saturday, October 27, 12

Saturday, October 27, 12

cc-tool https://github.com/scott-42/cc-tool % cc-tool -e -w out.hex % cc-tool --read-mac-address

Saturday, October 27, 12

Saturday, October 27, 12

Saturday, October 27, 12

iOSHealthThermometer •

http://github.com/timburks/ iOSHealthThermometer



Demonstrates client implementation.



Requires Bluetooth LE-capable iOS device and a compatible Bluetooth LE Thermometer



Works with DKBLE112 running preloaded app.

Saturday, October 27, 12

Examples https://github.com/scott-42/BLE112Examples.git

Saturday, October 27, 12

Saturday, October 27, 12

CBSample • http://github.com/timburks/CBSample • Demonstrates client and server implementations. Follows WWDC “Advanced Core Bluetooth” talk.

• Requires two Bluetooth LE-capable iOS devices.

• Subject to a few iOS6 bugs. Saturday, October 27, 12

Thanks @timburks @scottg0 @bluegiga See us at http://renaissance.io for more.

Saturday, October 27, 12

for the Control Freak - GitHub

Oct 26, 2012 - Freelance iOS developer (part-time enterprise device management at. MobileIron, full-time fun at Radtastical Inc). • EE/Computer Engineer ...

10MB Sizes 6 Downloads 288 Views

Recommend Documents

Reactive DVFS Control for Multicore Processors - GitHub
quency domains of multicore processors at every stage. First, it is only replicated once ..... design/processor/manuals/253668.pdf. [3] AMD, “AMD Cool'n'Quiet.

Quantitative Quality Control - GitHub
Australian National Reference Stations: Sensor Data. E. B. Morello ... analysis. High temporal resolution observations of core variables are taken across the ...

Control Dynamics Pty. Ltd - GitHub
Any data required for the execution of the command. Response ..... *1,8,0,Wake up with Johnny Young's Big Breakfast - Weekdays from 5.30am. *2,4,0,1,7,ABC ...

pdf-0930\the-control-freak-by-les-parrott-iii.pdf
pdf-0930\the-control-freak-by-les-parrott-iii.pdf. pdf-0930\the-control-freak-by-les-parrott-iii.pdf. Open. Extract. Open with. Sign In. Main menu.

Nodel: A digital media control system for museums and ... - GitHub
Apr 2, 2014 - Development of MVMS ended in 2010 and the company ... makes them increasingly attractive venues for hosting commercial ... Museum Victoria staff to access it from any web-enabled device such as a computer, .... Museum Victoria was choos

HDL-BUS control and operate code - GitHub
Operate code. Function. Targets address. Additional data format(every 9 data) ..... x value of volume(79 small-----0 big). Return #Zz,ON,SRC1,VOL38.

MIDI FREAK schematic.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. MIDI FREAK schematic.pdf. MIDI FREAK schematic.pdf. Open.

split scenes freak show.pdf
... series freak show. Emmy. nominee sarah paulson plans to steal jessica lange 39 sacting. Video. first american horror story freak show extended trailer in hd.

she freak v4.pdf
Powerage 39 s savage dress fit to gnd4 athleticalizea3d the. Candice v4 charlizetheron. alizea3d the virtualtailor !. Jepes turn around poses for thefreak 4 3d ...

Freak The Mighty and StarGirl Deleted Scenes.pdf
Freak The Mighty and StarGirl Deleted Scenes.pdf. Freak The Mighty and StarGirl Deleted Scenes.pdf. Open. Extract. Open with. Sign In. Main menu.

Lodash for President - GitHub
Page 1. LODASH FOR PRESIDENT. Christian Ulbrich, CDO Zalari UG. Page 2. AGENDA PROPAGANDA. • Recap: LoDash. • Why? • Installation.

Uses for Modules - GitHub
In this article, I will walk you through several practical examples of what modules can be used for, ranging from ... that is not the case. Ruby would apply the definitions of Document one after the other, with whatever file was required last taking

For Developing Countries - GitHub
Adhere to perceived affordance of a mobile phone to avoid alienating the user. Target users are unfamiliar to banking terminology. Balance Check. Shows current balance in m-banking account. Top Up. Scratch card or merchant credit transfer. Credit Tra

Automatic Bug-Finding for the Blockchain - GitHub
37. The Yellow Paper http://gavwood.com/paper.pdf ..... address=contract_account, data=seth.SByte(16), #Symbolic buffer value=seth.SValue #Symbolic value. ) print "[+] There are %d reverted states now"% .... EVM is a good fit for Symbolic Execution.

Raspberry Pi for the .NET Developer - GitHub
Mar 19, 2015 - Page 10 ... Once you have an IP address, open your web browser and go to some website to test out your ... To connect to your Pi, enter a Remote Host of your IP address .... The program that I like the best is WinSCP. Go to.