pcDuino Presentation at SparkFun
-
Upload
jingfeng-liu -
Category
Technology
-
view
112 -
download
2
description
Transcript of pcDuino Presentation at SparkFun
![Page 1: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/1.jpg)
Overview of pcDuino
www.pcduino.comlearn.linksprite.com
![Page 2: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/2.jpg)
Agenda pcDuino: a platform open source software meets open
source hardware Programming under Ubuntu (linux)
Arduino style programming ( C ) for pcDuino Python programming for pcDuino Java programming for pcDuino Go Cloud 9 IDE
Scratch for pcDuino Project Showcase Programming under Android ICS
Command line programming QT GUI
![Page 3: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/3.jpg)
pcDuino: where open software meets open hardware
pcDuino = mini PC + Arduino pcDuino is a kind of super Arduino with the brain
power of a mini PC. Existing Arduino shield can work on pcDuino. pcDuino can run Ubuntu. The desktop outputs
from HDMI. User can remotely access its desktop via VNC (Network or OTG-USB).
pcDuino has built-in Arduino style IDE environment. It also supports programming in Python, Cloud 9 IDE, Java, Go-lang, Scratch, etc.
pcDuino can run full Android ICS, and support Arduino style hardware programming under Android.
pcDuino is a server, a WiFi router, a printer server, a IP-PBX, and more.
pcDuino is a platform where open software meets open hardware.
![Page 4: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/4.jpg)
pcDuino FamilypcDuino Lite pcDuino Lite WiFi pcDuino v1 pcDuino v2 pcDuino v3
CPU Allwinner A101GHz ARM Cortex A8
Allwinner A101GHz ARM Cortex A8
Allwinner A101GHz ARM Cortex A8
Allwinner A101GHz ARM Cortex A8
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
DRAM 512MB 256MB 1GB 1GB
Storage NO FlashmicroSD card (TF) slot for up to 32GB
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
Video HDMI HDMI HDMI HDMI
OS Support• Lbuntu 12.04•Android
•Lbuntu 12.04•Doesn’t support Android
•Lbuntu 12.04•Android
•Lbuntu 12.04•Android
ExtensionInterface 2.54mm headers Arduino (TM) Headers 2.54mm headers Arduino (TM) Headers
NetworkInterface•10/100Mbps RJ45•USB WiFi extension (not included)
WiFi, No Ethernet•10/100Mbps RJ45•USB WiFi extension (not included)
•10/100Mbps RJ45•WiFi
Power 5V, 2000mA 5V, 2000mA 5V, 2000mA 5V, 2000mA
![Page 5: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/5.jpg)
pcDuino hardware interfaces
![Page 6: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/6.jpg)
Frizting Files
http://www.github.com/pcduino/frizting
![Page 7: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/7.jpg)
![Page 8: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/8.jpg)
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 9: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/9.jpg)
Programming under Ubuntu (linux)
![Page 10: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/10.jpg)
VNC to pcDuino through its USB-OTG
![Page 11: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/11.jpg)
Two flavors Command line IDE
Arduino style programming ( C )
![Page 12: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/12.jpg)
Arduino IDE
![Page 13: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/13.jpg)
Arduino IDE
![Page 14: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/14.jpg)
Arduino IDE
![Page 15: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/15.jpg)
Arduino IDE
![Page 16: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/16.jpg)
Arduino IDE
![Page 17: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/17.jpg)
ArduBlock
![Page 18: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/18.jpg)
C Command lineSetup (one time) If not already done, set up git. Do this using the command: ubuntu@ubuntu:~$ sudo apt-get install git Make sure you’re in your home folder by typing ubuntu@ubuntu:~$ cdubuntu@ubuntu:~$ pwd/home/Ubuntu Now download the distribution from github by typingubuntu@ubuntu:~$ git clone https://github.com/pcduino/c_enviroment
![Page 19: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/19.jpg)
C Command line
![Page 20: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/20.jpg)
C Command lineChange into the c_enviroment folder: ubuntu@ubuntu:~$ cd c_enviromentubuntu@ubuntu:~/c_enviroment$ lsMakefile hardware libraries output sample Now run make to make the libraries and the examples with the following command: ubuntu@ubuntu:~/c_enviroment$ make
Make[1]: Leaving directory `/home/ubuntu/c_enviroment/sample'The resulting binary files are found in the output/test folderubuntu@ubuntu:~/c_enviroment$ cd output/testubuntu@ubuntu:~/c_enviroment/output/test$ lltotal 660drwxrwxr-x 2 ubuntu ubuntu 4096 Apr 27 06:59 ./drwxrwxr-x 3 ubuntu ubuntu 4096 Apr 27 06:49 ../-rwxrwxr-x 1 ubuntu ubuntu 13868 Apr 27 06:58 adc_test*-rwxrwxr-x 1 ubuntu ubuntu 28284 Apr 27 06:58 adxl345_test*-rwxrwxr-x 1 ubuntu ubuntu 14209 Apr 27 06:58 interrupt_test*-rwxrwxr-x 1 ubuntu ubuntu 13726 Apr 27 06:58 io_test*-rwxrwxr-x 1 ubuntu ubuntu 13712 Apr 27 06:59 linker_button_test*-rwxrwxr-x 1 ubuntu ubuntu 13907 Apr 27 06:59 linker_buzzer_test*-rwxrwxr-x 1 ubuntu ubuntu 13689 Apr 27 06:59 linker_hall_sensor_test*-rwxrwxr-x 1 ubuntu ubuntu 13760 Apr 27 06:59 linker_joystick_test*-rwxrwxr-x 1 ubuntu ubuntu 13769 Apr 27 06:59 linker_led_bar_test*-rwxrwxr-x 1 ubuntu ubuntu 13690 Apr 27 06:59 linker_led_test*-rwxrwxr-x 1 ubuntu ubuntu 14290 Apr 27 06:59 linker_light_sensor_test*……
![Page 21: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/21.jpg)
C Command lineTo view the contents of a sample sketch, (this example we’ll look at the contents of linker_led_test.c) type: ubuntu@ubuntu:~/c_enviroment/sample$ cat
linker_led_test.c/** LED test program*/#include <core.h>int led_pin = 1; void setup(){if(argc != 2){goto _help;}led_pin = atoi(argv[1]);if((led_pin < 0) || (led_pin > 13)){goto _help;}pinMode(led_pin, OUTPUT);return; _help:printf("Usage %s LED_PIN_NUM(0-13)n", argv[0]);exit(-1);}
void loop(){digitalWrite(led_pin, HIGH); // set the LED ondelay(1000); // wait for a seconddigitalWrite(led_pin, LOW); // set the LED offdelay(1000); // wait for a second}
![Page 22: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/22.jpg)
Creating Your Own Sketchubuntu@ubuntu:~/c_enviroment/sample$ nano button_led.c An empty nano screen should appear.Copy and paste the following code into it. (Remember to paste in nano at the cursor,
just right click the mouse button). #include <core.h> // Required first line to run on pcDuinoint ledPin = 8;int buttonPin = 7;// variables will change:int buttonState = 0; // variable for reading the pushbutton status void setup() {// initialize the LED pin as an output:pinMode(ledPin, OUTPUT);// initialize the pushbutton pin as an input:pinMode(buttonPin, INPUT);}
![Page 23: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/23.jpg)
Creating Your Own Sketchvoid loop(){// read the state of the pushbutton value:buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed.// if it is, the buttonState is HIGH:if (buttonState == HIGH) {// turn LED on:digitalWrite(ledPin, HIGH);}else {// turn LED off:digitalWrite(ledPin, LOW);}}
![Page 24: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/24.jpg)
Creating Your Own SketchModify the Makefile and Compileubuntu@ubuntu:~/c_enviroment/sample$ nano Makefile You will see a section that lists all the OBJS something like: OBJS = io_test adc_test pwm_test spi_test adxl345_test serial_test liquidcrystal_i2c liquidcrystal_spi
interrupt_test tone_testOBJS += linker_led_test linker_potentiometer_test linker_tilt_test linker_light_sensor_test
linker_button_testOBJS += linker_touch_sensor_test linker_magnetic_sensor_test linker_temperature_sensor_test
linker_joystick_testOBJS += linker_rtc_test linker_sound_sensor_test linker_buzzer_test linker_hall_sensor_test
linker_led_bar_test linker_relay_testOBJS += pn532_readAllMemoryBlocks pn532readMifareMemory pn532readMifareTargetID
pn532writeMifareMemory
![Page 25: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/25.jpg)
Creating Your Own SketchWe’re going to add a line to the end of this with the name of the scketch we just created: OBJS += button_led Save the file and exit nano using <CTRL>X with a y and <enter>. We now run make by typing: ubuntu@ubuntu:~/c_enviroment/sample$ make You should see a whole bunch of text with the end being: button_led.c -o ../output/test/button_led ../libarduino.a If all went well, you can go to the output/test folder and find your executable you have created: ubuntu@ubuntu:~/c_enviroment/sample$ cd ../output/test/ubuntu@ubuntu:~/c_enviroment/output/test$ lltotal 676drwxrwxr-x 2 ubuntu ubuntu 4096 Apr 27 07:51 ./drwxrwxr-x 3 ubuntu ubuntu 4096 Apr 27 06:49 ../-rwxrwxr-x 1 ubuntu ubuntu 13868 Apr 27 07:51 adc_test*-rwxrwxr-x 1 ubuntu ubuntu 28284 Apr 27 07:51 adxl345_test*-rwxrwxr-x 1 ubuntu ubuntu 13668 Apr 27 07:51 button_led*…..(not showing rest of listing here)
![Page 26: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/26.jpg)
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 .cRun makeRun the executable from the output/test folder.You can introduce command line arguments into your sketch to make it
more transportable.
![Page 27: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/27.jpg)
pcDuino Hardware Experiments
![Page 28: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/28.jpg)
Potentiometer
![Page 29: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/29.jpg)
LED Dimmer (PWM)
![Page 30: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/30.jpg)
7-seg LED
![Page 31: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/31.jpg)
8x8 LED Matrix
![Page 32: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/32.jpg)
Analog Temperature Sensor
![Page 33: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/33.jpg)
4 Digits 7-segment LEDs
![Page 34: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/34.jpg)
16x02 Character LCD
![Page 35: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/35.jpg)
Digital Humidity and Temperature Sensor
![Page 36: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/36.jpg)
LED controlled by LDR
![Page 37: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/37.jpg)
Serial Port of pcDuino
![Page 38: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/38.jpg)
Extends to 4 UARTS
http://jbvsblog.blogspot.com/2013/09/pcduino-extends-to-4-uarts.html
![Page 39: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/39.jpg)
Ultrasonic Sensor
![Page 40: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/40.jpg)
Stepper
![Page 41: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/41.jpg)
RF Servo
![Page 42: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/42.jpg)
Relay
![Page 43: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/43.jpg)
NFC Shield
![Page 44: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/44.jpg)
Cottonwood:UHF ultra-distance RFID Reader
![Page 45: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/45.jpg)
GPS Shield
![Page 46: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/46.jpg)
Cellular Shield
![Page 47: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/47.jpg)
Powerline Communication
![Page 48: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/48.jpg)
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 49: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/49.jpg)
pcDuino as Networked Device to feed data to Xively (Internet of Things)
![Page 50: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/50.jpg)
Smart Garage powered by pcDuino
![Page 51: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/51.jpg)
OpenCV
![Page 52: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/52.jpg)
OpenCVdef process(infile): image = cv.LoadImage(infile); if image: faces = detect_object(image) im = Image.open(infile) path = os.path.abspath(infile) save_path = os.path.splitext(path)[0]+"_face" try: os.mkdir(save_path) except: pass if faces: draw = ImageDraw.Draw(im) count = 0 for f in faces: count += 1 draw.rectangle(f, outline=(255, 0, 0)) a = im.crop(f) file_name = os.path.join(save_path,str(count)+".jpg") # print file_name a.save(file_name) drow_save_path = os.path.join(save_path,"out.jpg") im.save(drow_save_path, "JPEG", quality=80) else: print "Error: cannot detect faces on %s" % infile if __name__ == "__main__":process("./opencv_in.jpg")
![Page 53: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/53.jpg)
OpenCV#!/usr/bin/env python#coding=utf-8import osfrom PIL import Image, ImageDrawimport cv def detect_object(image): grayscale = cv.CreateImage((image.width, image.height), 8, 1) cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY) cascade = cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt_tree.xml") rect = cv.HaarDetectObjects(grayscale, cascade, cv.CreateMemStorage(), 1.1, 2, cv.CV_HAAR_DO_CANNY_PRUNING, (20,20)) result = [] for r in rect: result.append((r[0][0], r[0][1], r[0][0]+r[0][2], r[0][1]+r[0][3])) return result
![Page 54: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/54.jpg)
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 < n; i++ {g.SetState(true)time.Sleep(time.Duration(1000) * time.Millisecond)g.SetState(false)time.Sleep(time.Duration(1000) * time.Millisecond)}}
![Page 55: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/55.jpg)
Cloud 9 IDE Cloud9 IDE is an online development
environment for Javascript and Node.js applications as well as HTML, CSS, PHP, Java, Ruby and 23 other languages.
You're programming for the web, on the web. Teams can collaborate on projects and run them within the browser. When you're finished, deploy it—and you're done!
![Page 56: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/56.jpg)
Cloud 9 IDE
![Page 57: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/57.jpg)
QT on pcDuino
![Page 58: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/58.jpg)
QT on pcDuino
![Page 59: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/59.jpg)
Scratch for pcDuino
![Page 60: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/60.jpg)
Scratch
$sudo apt-get install pcduino-scratch
![Page 61: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/61.jpg)
![Page 62: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/62.jpg)
Run SNAP on pcDuino
![Page 63: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/63.jpg)
Blink LED (Scratch for pcDuino)
![Page 64: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/64.jpg)
Press Button to Turn on LED (Scratch for pcDuino)
![Page 65: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/65.jpg)
Touch the Finish Line (Scratch for pcDuino)
![Page 66: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/66.jpg)
Play Pong with Scratch for pcDuino
![Page 67: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/67.jpg)
pcDuino as banaba piano using Scratch for pcDuino
![Page 68: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/68.jpg)
Showcase
![Page 69: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/69.jpg)
Home Automation: IP controllable LED
Many users are asking if the hardware part can be programmed together with the Ubuntu linux?
Sure. This is the beauty of pcDuino. The Arduino compatible hardware is a native part of the OS.
pcDuino includes Ethernet port, USB Wifi dongle, so there is no need for Ethernet shield, Ethernet shield , USB host shield, MP3 shields and so on.
Now, we are going to implement a TCP/IP socket server on pcDuino to listen to the data coming from client.
When it receives character ’O', it will turn on the LED, and when it receives ‘F”, it will turn on the LED. No actions if receive something else.
![Page 70: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/70.jpg)
Home Automation: IP controllable LED
#include “sys/socket.h”#include “netinet/in.h”#include “arpa/inet.h”#include “sys/types.h” int led_pin = 2; int listenfd = 0, connfd = 0;int n;struct sockaddr_in serv_addr; char sendBuff[1025];time_t ticks;
void loop(){ n = read(connfd, sendBuff, strlen(sendBuff) ); if(n>0){if(sendBuff[0]=='O') digitalWrite(led_pin, HIGH); // set the LED onif(sendBuff[0]=='F') digitalWrite(led_pin,LOW); // set the LED off}}
void setup(){ led_pin = 2; pinMode(led_pin, OUTPUT); listenfd = socket(AF_INET, SOCK_STREAM, 0);memset(serv_addr, '0', sizeof(serv_addr));memset(sendBuff, '0', sizeof(sendBuff)); serv_addr.sin_family = AF_INET;serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);serv_addr.sin_port = htons(5000); bind(listenfd, (struct sockaddr*) serv_addr, sizeof(serv_addr)); listen(listenfd, 10); connfd = accept(listenfd, (struct sockaddr*)NULL, NULL); }
![Page 71: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/71.jpg)
Home Automation by Z-wave
![Page 72: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/72.jpg)
SDR on pcDuino
![Page 73: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/73.jpg)
pcDuino as 3D printer control console
![Page 74: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/74.jpg)
Programming under Android ICS
![Page 75: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/75.jpg)
Two flavors to program under Android There are two flavors to program under
Android: Command line QT5 GUI
![Page 76: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/76.jpg)
Command line
![Page 77: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/77.jpg)
QT5 GUI
We can copy the apk though pcDuino OTG or SD card to pcDunio and install it there.
![Page 78: pcDuino Presentation at SparkFun](https://reader036.fdocuments.in/reader036/viewer/2022062511/54c8565a4a79597a338b4570/html5/thumbnails/78.jpg)
Connect with pcDuino
Facebook.com/linksprite