pcduino tech talk at carnegie mellon university 10/14/2014

76
Innovate with pcDuino www.pcduino.com learn.linksprite.com

Upload: jingfeng-liu

Post on 04-Jul-2015

554 views

Category:

Technology


0 download

DESCRIPTION

pcDuino tech talk at Carnegie Mellon University 10/14/2014

TRANSCRIPT

Page 1: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Innovate with pcDuino

www.pcduino.comlearn.linksprite.com

Page 2: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Traditional Mass Production/Distribution

Mass production encourages the culture of celebrity.

Focus to predict what kinds of product will be popular.

We, as human, are each different, of different needs.

C. Anderson, The long tail

Page 3: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Tools in Digital world

• Consumers of bits -> Makers of bits

Page 4: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Sales of Bits

C. Anderson, The long tail

Page 5: pcDuino tech talk at Carnegie Mellon University 10/14/2014

How tails emerge

C. Anderson, The long tail

Page 6: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Tools in Atom world

3D printerCNC

3D Scanner

Page 7: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Makerspace

Page 8: pcDuino tech talk at Carnegie Mellon University 10/14/2014
Page 9: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino

pcDuino is a $39 single board computer that has 1G RAM, 4G Flash, Gbit ethernet, and is compatible with Arduino ecosystem

Page 10: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino FamilypcDuino Lite WiFi pcDuino v1 pcDuino v2 pcDuino v3 pcDuino 8

CPU

Allwinner A10

1GHz ARM Cortex

A8

Allwinner A10

1GHz ARM Cortex

A8

Allwinner A101

GHz ARM Cortex

A8

Allwinner A20,

1GHz, ARM Cortex

A7 Dual Core

UltraOctaA80

GPU

OpenGL

ES2.0OpenVG 1.1

Mali 400 core

OpenGL

ES2.0OpenVG 1.1

Mali 400 core

OpenGL

ES2.0OpenVG 1.1

Mali 400 core

OpenGL

ES2.0OpenVG 1.1

Mali 400 core

PowerVR 64-core

G6230 GPU

DRAM 256MB 1GB 1GB 1GB 4GB

Storage

2GB FlashmicroSD

card (TF) slot for up

to 32GB

2GB Flash (4GB

after

2/1/2014)microSD

card (TF) slot for up

to 32GB

2GB Flash (4GB

after 2/1/2014)

microSD card (TF)

slot for up to 32GB

4GB Flash

microSD card (TF)

slot for up to 32GB8GB

Video HDMI HDMI HDMI HDMI HDMI

OS Support

•Lbuntu 12.04

•Doesn’t support

Android

•Lbuntu 12.04

•Android

•Lbuntu 12.04

•Android

•Lbuntu 12.04

•AndroidLinux (on-going)

Android

ExtensionInterfaceArduino (TM)

Headers2.54mm headers

Arduino (TM)

Headers

Arduino (TM)

Headers

NetworkInterface WiFi, No Ethernet

•10/100Mbps RJ45

•USB WiFi

extension (not

included)

•10/100Mbps RJ45

•WiFi

•10/100Mbps RJ45

•WiFi

•Gbits RJ45

•WiFi

•Bluetooth

Power 5V, 2000mA 5V, 2000mA 5V, 2000mA 5V, 2000mA 5V, 2000nA

Page 11: pcDuino tech talk at Carnegie Mellon University 10/14/2014
Page 12: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino3 hardware interfaces

Page 13: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino boot modes Default to boot from SD

If there is no bootable image in SD, it will try to boot from NAND.

For Ubuntu OS, the system and data in NAND can be copied to SD seamlessly.

Page 14: pcDuino tech talk at Carnegie Mellon University 10/14/2014

VNC to pcDuino through its USB-OTG

Page 15: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Scratch for pcDuino

Page 16: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Scratch

$sudo apt-get install pcduino-scratch

Page 17: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Blink LED (Scratch for pcDuino)

Page 18: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Press Button to Turn on LED (Scratch for pcDuino)

Page 19: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Touch the Finish Line (Scratch for pcDuino)

Page 20: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Play Pong with Scratch for pcDuino

Page 21: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino as banana piano using Scratch for pcDuino

Page 22: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Showcase

Page 23: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino as Networked Device to feed data to Xively (Internet of Things)

Page 24: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Smart Garage powered by pcDuino

Page 25: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Home Automation by Z-wave

Page 26: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Time Lapse Video

Page 27: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino as 3D printer control console

Page 28: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Gavon: Chess Programming with pcDuino

Page 29: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Rotary Vending

Page 30: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino Displaying Car Diagnostic (OBD-II) Data

Page 31: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Home Automation System

Page 32: pcDuino tech talk at Carnegie Mellon University 10/14/2014

First High School Classroom powered by pcDuino in China

Page 33: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Two pcDuinos communicating to each other through audio jack

Page 34: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Grass GIS

Page 35: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Laser Show

Page 36: pcDuino tech talk at Carnegie Mellon University 10/14/2014

UV index meter

Page 37: pcDuino tech talk at Carnegie Mellon University 10/14/2014

SDR on pcDuino

Page 38: pcDuino tech talk at Carnegie Mellon University 10/14/2014
Page 39: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Gesture Control

Page 40: pcDuino tech talk at Carnegie Mellon University 10/14/2014

NFC Shield

Page 41: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Cottonwood:UHF ultra-distance RFID Reader

Page 42: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Astroprint

Slice, Store, and Print from the browser of any web enabled device. In addition, you can monitor your prints, organize designs in the cloud, and even print straight from Sketchupor Blender. Astropintsoftware runs on pcDuino.

Page 43: pcDuino tech talk at Carnegie Mellon University 10/14/2014

uniDap Thin Cloud

Page 44: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Programming under Ubuntu (linux)

Page 45: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Two flavors

Command line

IDE

Arduino style programming ( C )

Page 46: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Arduino IDE

Page 47: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Arduino IDE

Page 48: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Arduino IDE

Page 49: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Arduino IDE

Page 50: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Arduino IDE

Page 51: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Creating Your Own SketchRun Your Sketch

To run it, once you have wired up a switch and led to the right pins, type:

ubuntu@ubuntu:~/c_enviroment/output/test$ ./button_led

To stop the program, <Ctrl>C

A Quick Re-Cap

Add #include <core.h> to the top of your sketch.

Create your sketch in the samples folder (if your familiar with linux, makefiles, and compiling code, you could set up your own)

Add the filename to the Makefile in the samples folder in the OBJS section without the .c

Run make

Run the executable from the output/test folder.

You can introduce command line arguments into your sketch to make it more transportable.

Page 52: pcDuino tech talk at Carnegie Mellon University 10/14/2014

pcDuino

Hardware Experiments

Page 53: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Potentiometer and Dimmer

Page 54: pcDuino tech talk at Carnegie Mellon University 10/14/2014

7-seg LED

Page 55: pcDuino tech talk at Carnegie Mellon University 10/14/2014

16x02 Character LCD

Page 56: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Analog Temperature Sensor

Page 57: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Digital Humidity and Temperature Sensor

Page 58: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Serial Port of pcDuino

Page 59: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Extends to 4 UARTS

http://jbvsblog.blogspot.com/2013/09/pcduino-extends-to-4-uarts.html

Page 60: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Ultrasonic Sensor

Page 61: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Stepper

Page 62: pcDuino tech talk at Carnegie Mellon University 10/14/2014

RF Servo

Page 63: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Relay

Page 64: pcDuino tech talk at Carnegie Mellon University 10/14/2014

GPS Shield

Page 65: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Cellular Shield

Page 66: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Powerline Communication

Page 67: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Python

ubuntu@ubuntu:~/python-pcduino/Samples/blink_led$ more blink_led.py #!/usr/bin/env python# blink_led.py# gpio test code for pcduino ( http://www.pcduino.com )#import gpioimport timeled_pin = "gpio2"def delay(ms):

time.sleep(1.0*ms/1000)def setup():

gpio.pinMode(led_pin, gpio.OUTPUT)def loop():

while(1):gpio.digitalWrite(led_pin, gpio.HIGH)delay(200)

Page 68: pcDuino tech talk at Carnegie Mellon University 10/14/2014

OpenCV

Page 69: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Go Langpackage main

import ("fmt""./gpio""time")

func main() {

g, err := gpio.NewGPIOLine(7,gpio.OUT)if err != nil {fmt.Printf("Error setting up GPIO %v: %v", 18, err)return}

blink(g, 100)g.Close()}

func blink(g *gpio.GPIOLine, n uint) {fmt.Printf("blinking %v time(s)\n", n)for i := uint(0); i &lt; n; i++ {g.SetState(true)time.Sleep(time.Duration(1000) * time.Millisecond)g.SetState(false)time.Sleep(time.Duration(1000) * time.Millisecond)}}

Page 70: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Cloud 9 IDE

Page 71: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Programming under Android ICS

Page 72: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Two flavors to program under Android

There are two flavors to program under Android:

Command line

QT5 GUI

Page 73: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Command line

Page 74: pcDuino tech talk at Carnegie Mellon University 10/14/2014

QT5 GUI

We can copy the apk though pcDuino OTG or SD card to pcDunio and install it there.

Page 75: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Produce together with pcDuino

Page 76: pcDuino tech talk at Carnegie Mellon University 10/14/2014

Connect with pcDuino

Facebook.com/linksprite