Upload
adele-sims
View
225
Download
0
Embed Size (px)
Citation preview
JavaScript, Linux and Open Hardware
Jason Kridner
Co-Founder
BeagleBoard.org
JavaScript
Linux
Open Source Hardware
A Recipe for Rapid Internet Devices
Add some physical to your computing
3http://www.adafruit.com/
Even fashion has electronics
4
http://www.materialise.com/press/3d-printing-rings-shines-at-cirque-du-soleilhttp://www.anoukwipprecht.nl/
Lighting
Sensing
Streaming
Getting started?
http://newcome.wordpress.com/2009/12/15/make-electronics-the-new-engineers-notebook/ http://www.sandywalsh.com/2012_07_01_archive.html
JavaScript: The duct tape of the Internet
6http://wiki.openrov.com/index.php/Software_Manual
Linux: Bazaar’s upstream
• Everywhere: server, desktop, mobile, embedded
• Handles dirty work of talking to hardware
• Makes embedded look like a server
7http://www.linuxfoundation.org
Open hardware: The bits are free
• Allows you to customize the design– Alter both form and function– Make the product your own
• Lots of peer review
8http://ninjablocks.com/
Getting started!
9
BoneScript• Arduino-like
software for easy module interactions
Browser-based interactive teaching environment• Zero-install• Runs directly
on BeagleBone Black
• Hides Linux complexity
Built on familiar programming environments• JavaScript • HTML5 • Node.js
Power of 1GHz computer on demand• Networking and
USB stacks • Open-source
frameworks available
• Accessible keyboard/mouse/monitor
• Accessible over SSH from PC
Examples run directly in browser• Click to run• Editable in
browser• Experiment to
learn• Copy and paste
Talks directly to the board• Programmatic
interface into the board
The role of BeagleBoard.org
11
demystifying technology
Numerous books available from getting started, to text books and on to project focused books
Collage volunteer programs and robotics platforms
Derek Molloy video training series
BeagleBoard.org is a mentor helping students write code for open source projects
Open source course curriculum
Transform ideas into usable, unique products• Do it together
• Tools are out there
• Learn just in time
12
Engineers
Students
Electroacoustic drawing board
Artists and Hobbyists
Electronic light sculpture
OpenROVNinja Blocks
BeagleBone Black 1 GHz performance ready to use for $45
15
Boot Button
Reset Button
LEDS
10/100 Ethernet
DC Power
USB Client
Serial Debug
USB Host
microHDMI
microSDExpansion slot for additional storage
2GB on-board storage using eMMC• Pre-loaded with
Ångström Linux Distribution
• 8-bit bus accelerates performance
• Frees the microSD slot to be used for additional storage for a less expensive solution than SD cards
1 GHz Sitara AM335x ARM® Cortex™-A8 processor
Easily connects to almost any everyday device such as mouse or keyboard
512MB DDR3Faster, lower power RAM for enhanced user-friendly experience
Provides a more advanced user interface and up to 150% better performance than ARM11
Connect directly to monitors and TVs
Development interface and directly powers board from PC
Expansionheaders
Enable cape hardware and include:• 65 digital I/O• 7 analog• 4 serial• 2 SPI• 2 I2C• 8 PWMs• 4 timers• And much much more!
Power Button
Not required:• Power supply ~ $10 (USB)• Network cable ~ $3 (USB)
• SD card ~ $5-$10 (on-board 2GB eMMC flash storage)• External MCU/FPGA for real-time I/F ~ $20 (2x 200MHz PRUs)
Capes easily expand BeagleBone capability
Breadboard Breakout LCD DVI-D CANBus
ProfibusRS232 RS485
7”, 4.3” or 3.5”
VGA Battery
CAN Proto RF-CC1101CC2500CC2530
Weather Camera
LVDSBeBoPr 3D Printer
RadarAudioDVI-D w/Audio
Wearable vision
17
http://beagleboard.org/project/stache
root@beaglebone:~# pkg-config --cflags --libs --modversion opencv2.4.2-I/usr/include/opencv -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_ts -lopencv_video -lopencv_videostab
Vision
Add-ons
CPU Speed
PRUs enable low-level performance without giving up high-level Linux
• 2-200MHz RISC CPUs
• Shared memory with ARM
• Enhanced GPIO with single cycle test and set
• Serial/parallel interfaces to external pins
• Example shown is sampling 8-bits at 32MHz
19
http://ow.ly/tOdLf
Choosing a small Linux board
BeagleBone Black Raspberry Pi
1GHz armv7 (3,319.96 DMIPS*) 700MHz armv6 (809.06 DMIPS*)
$45 MSRP from over 35 distributors $35/$25 from 2 distributors (+ resellers)
1 USB host + 1 USB client 2 USB host
Power via USB Power via USB connector with wall-wart
92-pin expansion (65 GPIO, 8 PWMs, 7 channel ADC, 2 SPI, 2 I2C, 4 UART, ...)
26-pin expansion (8 GPIO, 1 PWM, 1 SPI, 1 I2C, 1 UART)
2-200MHz programmable realtime units N/A
PowerVR 3D graphics Videocore IV GPU
Open hardware Closed hardware
Open source boot + optional 3D binary Closed 3D binary required to boot
Pre-programmed on-board 2GB flash N/A
Included USB cable N/A
20
* http://robotic-controls.com/learn/beaglebone/beaglebone-black-ubuntu
The Boards of BeagleBoard.org
BeagleBoard BeagleBoard-xM BeagleBone BeagleBone Black
Board
Quick summary
The original software developer focused board brings Linux desktop to
affordable BYO-peripherals platform that can run on batteries
All features of the original BeagleBoard with extra
MIPS and memory, plus USB ports and Ethernet
Bare bones maker focused board gets
lower-cost and focuses on low-level I/O
capabilities with “cape” plug-in board support
Next-generation BeagleBone featuring lower pr ice, 1-GHz processor and HDMI
Memory 256KB L2 cache 512MB DDR2 256MB DDR2 512MB DDR3
Special features
2D/3D graphics accelerator,HD video capable, USB
powered
BeagleBoard plus 1-GHz processing power, Four-
port hub with 10/100 Ethernet
USB-powered, 10/100 Ethernet, USB JTAG, 96
pin expansion header with real-time I/O
BeagleBone plus onboard 2GB eMMC flash storage
and HDMI interface, minus built-in JTAG/serial
MSRP(US $) $129 $149 $89 $45