SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Raspberry Pi HW/SW 
Application Development 
Make your own shield and control peripheral using RPi 
Walter Dal Mut & Francesco Ficili
Intro to RPi 
● Basically a Microcomputer on a ‘Credit Card sized’ board 
● Based on a Broadcom SoC 
● Many different interfaces: USB, Ethernet, HDMI, SD, TFT 
Display... 
Model B Model B+
...And a Mysterious Thing 
● The RPi GPIO (General 
Purpose IO) Connector 
contains all low-level 
interface of the board. 
● Usually not known by high-level 
software programmers. 
● Well known by embedded 
software developers. 
● It’s the best choice to make 
board functionalities 
expansions.
Interface Options 
● GPIO: the General Purpose Input Output is the most simple interface of the 
board. It can writes or reads the status of a single pin. 
● UART: the Universal Asyncronous Receiver Transmitter is one of the most 
used serial standard in data communication. It’s the TTL level version of 
the old PC RS232 interface (tty under Linux). It is a full-duplex point-to-point 
standard. 
● I2C: the Inter Integrated Circuit (aka I square C) is a communication 
standard developed by Philips during ‘80. It’s a address oriented, half-duplex, 
master-slave multidrop standard. It also support a multi-master 
variant. 
● SPI: the Serial Peripheral Interface is a communication standard 
developed by Motorola. It is a master-slave multidrop full-duplex standard.
The ‘Shield’ Concept 
● Shield Definition (from Arduino Website): “Shields are boards that can be 
plugged on top of the Arduino PCB extending its capabilities” 
● So a Shiled is, basically, an application-oriented expansion board that is 
managed by the main board through one of its interfaces. 
Example of RPi Shield 
(GSM/GPRS Shield) Arduino ZigBee Shiled RPi to Arduino Shields 
Adapter
Build a Custom Shield 
● Many different type of shields available on the market. 
● Sometimes the range of available shields could not fit a particular 
application or you may have the idea of build your shield by your own. 
● To build a custom shield you need: 
○ An electronic CAD for design, 
○ A PCB maker, 
○ Shield components, 
○ Assembly operations. 
● Many PCB maker provide assembly 
service.
KiCAD EDAS 
● Many different type of EDAS (Electronic Design Automation Suite) 
available nowadays: ORCAD, Mentor, Allegro, Altium Designer… 
● Expensive Licensing, too complex for the task, too much tool inside the 
suite… Not suitable for RPi shields development. 
● Some free open source EDAS developed through years by electronic 
entusiasts are now reaching a good maturity level. 
● KiCAD is one of this tools!!!
Why KiCAD? 
● Completely free and open source, 
○ http://www.kicad-pcb.org/ 
● Cross-platform (Linux, MacOS and Win), 
● Simple to use (getting started is only 27 pages long), 
● Very large community of users that shares component libraries, 
● Examples: 
○ http://smisioto.no-ip.org/elettronica/kicad/kicad.htm (useful lid for 
hobbysts) 
○ http://kicad.rohrbacher.net/quicklib.php (component generator) 
○ http://www.kicadlib.org/ (libraries collection) 
○ … and many others
Suite Description 
● It comprises a schematic 
editor, layout editor, gerber 
visualization tools and provide 
a simple interface for output 
files generation, 
Kicad Project Manager
Kicad Development Process
Schematic Editor
From Schematic to Layout
Layout Editor 
Navigation Shield Layout
Examples 
● Navigation Shield 
○ GPS Unit (over UART link) 
○ IMU Unit (over I2C link) 
○ GP LEDs 
○ Possible application: rovers or drone 
navigation control 
● Smart I/O Shield 
○ 5 Analog Inputs, 
○ 8 Digital I/O (2 PWM), 
○ PIC18F2550 with I2C interface 
○ Possible application: I/O expander for 
RPI (acquisition, control…).
Build your prototype 
● PCB (need gerber files): 
○ Md srl: http://www.mdsrl.it/ (very professional service) 
○ PCBProto: http://www.pcb-proto.com/ (very large pool) 
○ JackAltac: http://www.jackaltac.com/ (cheaper one) 
● Components (need Bill of Material): 
○ Farnell, RS, Futura... 
● Assembly (in case of pick-and-place need module position files) 
○ Md srl is now providing an assembly service (quite expensive for 
small numbers) 
○ ...otherwise buy a solder station
Stairway to heaven
GPIO - General Purpose In/Out 
● GPIO strip provides different communication 
layers (board to board or on single board) 
○ Generic In/Out pins (different libraries) 
○ UART - Serial Communication 
○ I2C - InterIntegrated Circuit 
○ SPI - Serial Peripheral Interface
GPIO - Support Libraries 
● Not included by default 
○ http://www.airspayce.com/mikem/bcm2835/bcm2835-1.37.tar.gz 
./configure 
make 
sudo make check 
sudo make install
int main(void) 
{ 
if (!bcm2835_init()) { exit(1); } 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_11, BCM2835_GPIO_FSEL_OUTP); 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_13, BCM2835_GPIO_FSEL_OUTP); 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_15, BCM2835_GPIO_FSEL_OUTP); 
bcm2835_gpio_write(RPI_V2_GPIO_P1_11, HIGH); 
bcm2835_gpio_write(RPI_V2_GPIO_P1_13, HIGH); 
bcm2835_gpio_write(RPI_V2_GPIO_P1_15, HIGH); 
return 0; 
}
int main(void) 
{ 
if (!bcm2835_init()) { exit(1); } 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_11, BCM2835_GPIO_FSEL_OUTP); 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_13, BCM2835_GPIO_FSEL_OUTP); 
bcm2835_gpio_fsel(RPI_V2_GPIO_P1_15, BCM2835_GPIO_FSEL_OUTP); 
uint8_t c = 0; 
while (1) { 
bcm2835_gpio_write(RPI_V2_GPIO_P1_11, c); 
bcm2835_gpio_write(RPI_V2_GPIO_P1_13, c); 
bcm2835_gpio_write(RPI_V2_GPIO_P1_15, c); 
c = !c; 
sleep(1); 
} 
return 0; 
}
GPIO - BCM2835 - board versions 
● Model A 
○ RPI_GPIO_P1_03 
○ RPI_GPIO_P1_05 
○ RPI_GPIO_P1_07 
● Model B 
○ RPI_V2_GPIO_P1_03 
○ RPI_V2_GPIO_P1_05 
○ RPI_V2_GPIO_P1_07 
● Model B+ 
RPI_BPLUS_GPIO_J8_03 
RPI_BPLUS_GPIO_J8_05 
RPI_BPLUS_GPIO_J8_07 
http://www.airspayce.com/mikem/bcm2835/bcm2835_8h_source.html
GPIO in action 
Low-cost ultrasonic 
sensors turn on/off a 
pin in order to convert 
real distances 
HC-SR04 
https://github.com/wdalmut/libultrasonic
UART for Raspberry Pi 
● 2 functional modes 
○ TTY for terminal connections (serial console) 
○ For other micros and components 
● Peripheral mode need few configurations 
○ Appears as /dev/ttyAMA0 
○ http://elinux. 
org/RPi_Serial_Connection#Connection_to_a_micro 
controller_or_other_peripheral
Connect your Raspberry PI
Initialize your serial module 
void serial_init(void) 
{ 
uart0_filestream = open(“/dev/ttyAMA0”, O_RDWR | O_NOCTTY | 
O_NDELAY); 
if (uart0_filestream == -1) 
{ 
//TODO error handling... 
} 
}
Config your UART registry 
void serial_config(void) 
{ 
struct termios options; 
tcgetattr(uart0_filestream, &options); 
options.c_cflag = B9600 | CS8 | CLOCAL | CREAD; 
options.c_iflag = IGNPAR; 
options.c_oflag = 0; 
options.c_lflag = 0; 
tcflush(uart0_filestream, TCIFLUSH); 
tcsetattr(uart0_filestream, TCSANOW, &options); 
}
Send data to your peripheral 
int count = write(uart0_filestream, data, dataLen); 
Pay attention with strings (char vectors) because dataLen doesn’t 
include the termination byte (“0”)
Read data from your peripheral 
int rx_length = read(uart0_filestream, (void*)(&c), len);
A navigation shield for Raspberry Pi 
Adafruit Ultimate GPS 
Breakout v3 
UART GPS module 
https://github.com/wdalmut/libgps
I2C - Inter-Integrated Circuit 
● Multiple components uses I2C in order to 
communicate 
● Raspberry PI supports also this peripherals 
as a master node 
● On raspberry the I2C is disabled by default, 
you have to enable it! 
○ Enable it in your: /etc/modprobe.d/raspi-blacklist. 
conf
How to connect it?
I2C - Initialize it 
void mma7660fc_init(void) 
{ 
i2cdev = open(“/dev/i2c-1”, O_RDWR); 
if (i2cdev == -1) 
{ 
//TODO handle errors 
} 
}
I2C - Write and control your slaves! 
void mma7660fc_on(void) 
{ 
uint8_t buffer[2]; 
buffer[0] = MMA7660_MODE; 
buffer[1] = MMA7660_ACTIVE; 
ioctl(i2cdev, I2C_SLAVE, MMA7660_ADDR); 
write(i2cdev, buffer, 2); 
}
Read from your slaves 
void mma7660fc_get(accel_t *data) 
{ 
uint8_t buffer[11]; 
ioctl(i2cdev, I2C_SLAVE, MMA7660_ADDR); 
read(i2cdev, buffer, 3); //only x,y,z 
data->x = mma7660fc_convert(buffer[0]); 
data->y = mma7660fc_convert(buffer[1]); 
data->z = mma7660fc_convert(buffer[2]); 
}
i2c in action 
MMA7660 
● 3-axis accelerometer 
● Tilt detection 
● Movement detection 
https://github.com/wdalmut/libimu
Higher level with Golang 
package gps 
import( 
// #cgo LDFLAGS: -lgps -lm 
// #include <gps.h> 
"C" 
) 
func GpsLocation() (float64, float64) { 
var data C.loc_t 
var lat, lon float64 
C.gps_location(&data) 
lat = float64(data.latitude) 
lon = float64(data.longitude) 
return lat, lon 
}
Any question? 
Thanks for listening

Más contenido relacionado

La actualidad más candente

NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1Andy Gelme
 
Making wearables with NodeMCU - FOSDEM 2017
Making wearables with NodeMCU - FOSDEM 2017Making wearables with NodeMCU - FOSDEM 2017
Making wearables with NodeMCU - FOSDEM 2017Etiene Dalcol
 
Raspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateRaspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateKevin Hooke
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlPradip Bhandari
 
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Republic of IoT - Hackathon Hardware Kits Hands-on LabsRepublic of IoT - Hackathon Hardware Kits Hands-on Labs
Republic of IoT - Hackathon Hardware Kits Hands-on LabsAlwin Arrasyid
 
Programando o ESP8266 com Python
Programando o ESP8266 com PythonProgramando o ESP8266 com Python
Programando o ESP8266 com PythonRelsi Maron
 
Innovation with pcDuino
Innovation with pcDuinoInnovation with pcDuino
Innovation with pcDuinoJingfeng Liu
 
Micro Python で組み込み Python
Micro Python で組み込み PythonMicro Python で組み込み Python
Micro Python で組み込み PythonHirotaka Kawata
 
Esp8266 - Intro for dummies
Esp8266 - Intro for dummiesEsp8266 - Intro for dummies
Esp8266 - Intro for dummiesPavlos Isaris
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunJingfeng Liu
 
pcDuino tech talk at Carnegie Mellon University 10/14/2014
pcDuino tech talk at Carnegie Mellon University 10/14/2014pcDuino tech talk at Carnegie Mellon University 10/14/2014
pcDuino tech talk at Carnegie Mellon University 10/14/2014Jingfeng Liu
 
Espresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewEspresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewThe World Bank
 
Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64Leif Bloomquist
 
Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Alwin Arrasyid
 
lesson2 - Nodemcu course - NodeMCU dev Board
 lesson2 - Nodemcu course - NodeMCU dev Board lesson2 - Nodemcu course - NodeMCU dev Board
lesson2 - Nodemcu course - NodeMCU dev BoardElaf A.Saeed
 
IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019Jong-Hyun Kim
 
Raspberry Pi with Java
Raspberry Pi with JavaRaspberry Pi with Java
Raspberry Pi with Javakoji lin
 

La actualidad más candente (19)

NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1NodeMCU ESP8266 workshop 1
NodeMCU ESP8266 workshop 1
 
Making wearables with NodeMCU - FOSDEM 2017
Making wearables with NodeMCU - FOSDEM 2017Making wearables with NodeMCU - FOSDEM 2017
Making wearables with NodeMCU - FOSDEM 2017
 
Raspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateRaspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 update
 
Introduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin ControlIntroduction To Raspberry Pi with Simple GPIO pin Control
Introduction To Raspberry Pi with Simple GPIO pin Control
 
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
Republic of IoT - Hackathon Hardware Kits Hands-on LabsRepublic of IoT - Hackathon Hardware Kits Hands-on Labs
Republic of IoT - Hackathon Hardware Kits Hands-on Labs
 
Programando o ESP8266 com Python
Programando o ESP8266 com PythonProgramando o ESP8266 com Python
Programando o ESP8266 com Python
 
Innovation with pcDuino
Innovation with pcDuinoInnovation with pcDuino
Innovation with pcDuino
 
Micro Python で組み込み Python
Micro Python で組み込み PythonMicro Python で組み込み Python
Micro Python で組み込み Python
 
Esp8266 - Intro for dummies
Esp8266 - Intro for dummiesEsp8266 - Intro for dummies
Esp8266 - Intro for dummies
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFun
 
pcDuino tech talk at Carnegie Mellon University 10/14/2014
pcDuino tech talk at Carnegie Mellon University 10/14/2014pcDuino tech talk at Carnegie Mellon University 10/14/2014
pcDuino tech talk at Carnegie Mellon University 10/14/2014
 
Espresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 OverviewEspresso Lite v2 - ESP8266 Overview
Espresso Lite v2 - ESP8266 Overview
 
Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64Wi-Fi Modem For the Commodore 64
Wi-Fi Modem For the Commodore 64
 
Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]Introduction to ESP32 Programming [Road to RIoT 2017]
Introduction to ESP32 Programming [Road to RIoT 2017]
 
Scratch pcduino
Scratch pcduinoScratch pcduino
Scratch pcduino
 
lesson2 - Nodemcu course - NodeMCU dev Board
 lesson2 - Nodemcu course - NodeMCU dev Board lesson2 - Nodemcu course - NodeMCU dev Board
lesson2 - Nodemcu course - NodeMCU dev Board
 
Meng
MengMeng
Meng
 
IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019IoT Hands-On-Lab, KINGS, 2019
IoT Hands-On-Lab, KINGS, 2019
 
Raspberry Pi with Java
Raspberry Pi with JavaRaspberry Pi with Java
Raspberry Pi with Java
 

Destacado

Hoe structureel meer succes boeken als onderneming
Hoe structureel meer succes boeken als ondernemingHoe structureel meer succes boeken als onderneming
Hoe structureel meer succes boeken als ondernemingParticipium
 
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...CLICKNL
 
NLLGG Raspberry Pi Themadag 23-11-2013
NLLGG Raspberry Pi Themadag 23-11-2013NLLGG Raspberry Pi Themadag 23-11-2013
NLLGG Raspberry Pi Themadag 23-11-2013Marcel Hergaarden
 
Innovatieworkshop uitgebreide versie
Innovatieworkshop uitgebreide versieInnovatieworkshop uitgebreide versie
Innovatieworkshop uitgebreide versieJos van de Werken
 
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCorley S.r.l.
 
Social Media Monitor 6
Social Media Monitor 6Social Media Monitor 6
Social Media Monitor 6Social Embassy
 
Dock-to-bed strategie voor logistiek 4.0
Dock-to-bed strategie voor logistiek 4.0Dock-to-bed strategie voor logistiek 4.0
Dock-to-bed strategie voor logistiek 4.0Jeremy De Sy
 
Social Media Monitor 7
Social Media Monitor 7Social Media Monitor 7
Social Media Monitor 7Social Embassy
 
Raspberry pi based project abstracts
Raspberry pi based project abstractsRaspberry pi based project abstracts
Raspberry pi based project abstractsSoftroniics india
 
Prototyping for Interaction Design
Prototyping for Interaction DesignPrototyping for Interaction Design
Prototyping for Interaction DesignPhilip van Allen
 
Low Cost HD Surveillance Camera using Raspberry PI
Low Cost HD Surveillance Camera using Raspberry PILow Cost HD Surveillance Camera using Raspberry PI
Low Cost HD Surveillance Camera using Raspberry PIVarun A M
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and processDanish Musthafa
 
Are you ready for great business in Industry 4.0?
Are you ready for great business in Industry 4.0?Are you ready for great business in Industry 4.0?
Are you ready for great business in Industry 4.0?Participium
 
Prototype model
Prototype modelPrototype model
Prototype modelsadhana8
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
 
Prototype model
Prototype modelPrototype model
Prototype modelshuisharma
 

Destacado (20)

Raspberry pi
Raspberry pi Raspberry pi
Raspberry pi
 
Publiek16. Faalverhalen
Publiek16. FaalverhalenPubliek16. Faalverhalen
Publiek16. Faalverhalen
 
Hoe structureel meer succes boeken als onderneming
Hoe structureel meer succes boeken als ondernemingHoe structureel meer succes boeken als onderneming
Hoe structureel meer succes boeken als onderneming
 
De Ruzie-oplosser
De Ruzie-oplosserDe Ruzie-oplosser
De Ruzie-oplosser
 
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...
Ruben Verborgh - Creëren, aanbieden en gebruiken van Connected Data (CC BY-SA...
 
NLLGG Raspberry Pi Themadag 23-11-2013
NLLGG Raspberry Pi Themadag 23-11-2013NLLGG Raspberry Pi Themadag 23-11-2013
NLLGG Raspberry Pi Themadag 23-11-2013
 
Innovatieworkshop uitgebreide versie
Innovatieworkshop uitgebreide versieInnovatieworkshop uitgebreide versie
Innovatieworkshop uitgebreide versie
 
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
 
Social Media Monitor 6
Social Media Monitor 6Social Media Monitor 6
Social Media Monitor 6
 
Dock-to-bed strategie voor logistiek 4.0
Dock-to-bed strategie voor logistiek 4.0Dock-to-bed strategie voor logistiek 4.0
Dock-to-bed strategie voor logistiek 4.0
 
Social Media Monitor 7
Social Media Monitor 7Social Media Monitor 7
Social Media Monitor 7
 
Guiaproyecto
GuiaproyectoGuiaproyecto
Guiaproyecto
 
Raspberry pi based project abstracts
Raspberry pi based project abstractsRaspberry pi based project abstracts
Raspberry pi based project abstracts
 
Prototyping for Interaction Design
Prototyping for Interaction DesignPrototyping for Interaction Design
Prototyping for Interaction Design
 
Low Cost HD Surveillance Camera using Raspberry PI
Low Cost HD Surveillance Camera using Raspberry PILow Cost HD Surveillance Camera using Raspberry PI
Low Cost HD Surveillance Camera using Raspberry PI
 
Prototype model and process
Prototype model  and processPrototype model  and process
Prototype model and process
 
Are you ready for great business in Industry 4.0?
Are you ready for great business in Industry 4.0?Are you ready for great business in Industry 4.0?
Are you ready for great business in Industry 4.0?
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Smart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PISmart Wireless Surveillance Monitoring using RASPBERRY PI
Smart Wireless Surveillance Monitoring using RASPBERRY PI
 
Prototype model
Prototype modelPrototype model
Prototype model
 

Similar a Raspberry Pi - HW/SW Application Development

Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitSulamita Garcia
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things HardwareDaniel Eichhorn
 
I made some more expansion board for M5Stack
I made some more expansion  board for M5StackI made some more expansion  board for M5Stack
I made some more expansion board for M5StackMasawo Yamazaki
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PICliff Samuels Jr.
 
Raspberry pi technical documentation
Raspberry pi technical documentationRaspberry pi technical documentation
Raspberry pi technical documentationGR Techno Solutions
 
Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Dobrica Pavlinušić
 
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdf
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdfFPGA Board (Xilinx Arty A7 -35 T) User Guide.pdf
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdfssuser6a66ac2
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxTuynLCh
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdfRynefelElopre2
 
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRaspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRICELEEIO
 
Ins and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingIns and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingICS
 
Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Sanjay Kumar
 
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...Anne Nicolas
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Codemotion
 

Similar a Raspberry Pi - HW/SW Application Development (20)

Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer Kit
 
arduinoedit.pptx
arduinoedit.pptxarduinoedit.pptx
arduinoedit.pptx
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things Hardware
 
I made some more expansion board for M5Stack
I made some more expansion  board for M5StackI made some more expansion  board for M5Stack
I made some more expansion board for M5Stack
 
Arduino
ArduinoArduino
Arduino
 
Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
Raspberry pi technical documentation
Raspberry pi technical documentationRaspberry pi technical documentation
Raspberry pi technical documentation
 
Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !Linux+sensor+device-tree+shell=IoT !
Linux+sensor+device-tree+shell=IoT !
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdf
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdfFPGA Board (Xilinx Arty A7 -35 T) User Guide.pdf
FPGA Board (Xilinx Arty A7 -35 T) User Guide.pdf
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptx
 
Начало работы с Intel IoT Dev Kit
Начало работы с Intel IoT Dev KitНачало работы с Intel IoT Dev Kit
Начало работы с Intel IoT Dev Kit
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf
 
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRaspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
 
Ins and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingIns and Outs of GPIO Programming
Ins and Outs of GPIO Programming
 
Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522Attendance system using MYSQL with Raspberry pi and RFID-RC522
Attendance system using MYSQL with Raspberry pi and RFID-RC522
 
arduino.pdf
arduino.pdfarduino.pdf
arduino.pdf
 
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...
Kernel Recipes 2018 - New GPIO interface for linux user space - Bartosz Golas...
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 

Más de Corley S.r.l.

Aws rekognition - riconoscimento facciale
Aws rekognition  - riconoscimento faccialeAws rekognition  - riconoscimento facciale
Aws rekognition - riconoscimento faccialeCorley S.r.l.
 
AWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesAWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesCorley S.r.l.
 
AWSome day 2018 - API serverless with aws
AWSome day 2018  - API serverless with awsAWSome day 2018  - API serverless with aws
AWSome day 2018 - API serverless with awsCorley S.r.l.
 
AWSome day 2018 - database in cloud
AWSome day 2018 -  database in cloudAWSome day 2018 -  database in cloud
AWSome day 2018 - database in cloudCorley S.r.l.
 
Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Corley S.r.l.
 
Apiconf - The perfect REST solution
Apiconf - The perfect REST solutionApiconf - The perfect REST solution
Apiconf - The perfect REST solutionCorley S.r.l.
 
Apiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentApiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentCorley S.r.l.
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresCorley S.r.l.
 
Flexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresFlexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresCorley S.r.l.
 
A single language for backend and frontend from AngularJS to cloud with Clau...
A single language for backend and frontend  from AngularJS to cloud with Clau...A single language for backend and frontend  from AngularJS to cloud with Clau...
A single language for backend and frontend from AngularJS to cloud with Clau...Corley S.r.l.
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & providerAngularJS: Service, factory & provider
AngularJS: Service, factory & providerCorley S.r.l.
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript Corley S.r.l.
 
Angular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployAngular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployCorley S.r.l.
 
Corley cloud angular in cloud
Corley cloud   angular in cloudCorley cloud   angular in cloud
Corley cloud angular in cloudCorley S.r.l.
 
Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Corley S.r.l.
 
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaRead Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaCorley S.r.l.
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Corley S.r.l.
 
Middleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkMiddleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkCorley S.r.l.
 
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015Corley S.r.l.
 

Más de Corley S.r.l. (20)

Aws rekognition - riconoscimento facciale
Aws rekognition  - riconoscimento faccialeAws rekognition  - riconoscimento facciale
Aws rekognition - riconoscimento facciale
 
AWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesAWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container services
 
AWSome day 2018 - API serverless with aws
AWSome day 2018  - API serverless with awsAWSome day 2018  - API serverless with aws
AWSome day 2018 - API serverless with aws
 
AWSome day 2018 - database in cloud
AWSome day 2018 -  database in cloudAWSome day 2018 -  database in cloud
AWSome day 2018 - database in cloud
 
Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing
 
Apiconf - The perfect REST solution
Apiconf - The perfect REST solutionApiconf - The perfect REST solution
Apiconf - The perfect REST solution
 
Apiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentApiconf - Doc Driven Development
Apiconf - Doc Driven Development
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructures
 
Flexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresFlexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructures
 
React vs Angular2
React vs Angular2React vs Angular2
React vs Angular2
 
A single language for backend and frontend from AngularJS to cloud with Clau...
A single language for backend and frontend  from AngularJS to cloud with Clau...A single language for backend and frontend  from AngularJS to cloud with Clau...
A single language for backend and frontend from AngularJS to cloud with Clau...
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & providerAngularJS: Service, factory & provider
AngularJS: Service, factory & provider
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript
 
Angular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployAngular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deploy
 
Corley cloud angular in cloud
Corley cloud   angular in cloudCorley cloud   angular in cloud
Corley cloud angular in cloud
 
Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2
 
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaRead Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 
Middleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkMiddleware PHP - A simple micro-framework
Middleware PHP - A simple micro-framework
 
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
 

Último

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfsmsksolar
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 

Último (20)

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 

Raspberry Pi - HW/SW Application Development

  • 1. Raspberry Pi HW/SW Application Development Make your own shield and control peripheral using RPi Walter Dal Mut & Francesco Ficili
  • 2. Intro to RPi ● Basically a Microcomputer on a ‘Credit Card sized’ board ● Based on a Broadcom SoC ● Many different interfaces: USB, Ethernet, HDMI, SD, TFT Display... Model B Model B+
  • 3. ...And a Mysterious Thing ● The RPi GPIO (General Purpose IO) Connector contains all low-level interface of the board. ● Usually not known by high-level software programmers. ● Well known by embedded software developers. ● It’s the best choice to make board functionalities expansions.
  • 4. Interface Options ● GPIO: the General Purpose Input Output is the most simple interface of the board. It can writes or reads the status of a single pin. ● UART: the Universal Asyncronous Receiver Transmitter is one of the most used serial standard in data communication. It’s the TTL level version of the old PC RS232 interface (tty under Linux). It is a full-duplex point-to-point standard. ● I2C: the Inter Integrated Circuit (aka I square C) is a communication standard developed by Philips during ‘80. It’s a address oriented, half-duplex, master-slave multidrop standard. It also support a multi-master variant. ● SPI: the Serial Peripheral Interface is a communication standard developed by Motorola. It is a master-slave multidrop full-duplex standard.
  • 5. The ‘Shield’ Concept ● Shield Definition (from Arduino Website): “Shields are boards that can be plugged on top of the Arduino PCB extending its capabilities” ● So a Shiled is, basically, an application-oriented expansion board that is managed by the main board through one of its interfaces. Example of RPi Shield (GSM/GPRS Shield) Arduino ZigBee Shiled RPi to Arduino Shields Adapter
  • 6. Build a Custom Shield ● Many different type of shields available on the market. ● Sometimes the range of available shields could not fit a particular application or you may have the idea of build your shield by your own. ● To build a custom shield you need: ○ An electronic CAD for design, ○ A PCB maker, ○ Shield components, ○ Assembly operations. ● Many PCB maker provide assembly service.
  • 7. KiCAD EDAS ● Many different type of EDAS (Electronic Design Automation Suite) available nowadays: ORCAD, Mentor, Allegro, Altium Designer… ● Expensive Licensing, too complex for the task, too much tool inside the suite… Not suitable for RPi shields development. ● Some free open source EDAS developed through years by electronic entusiasts are now reaching a good maturity level. ● KiCAD is one of this tools!!!
  • 8. Why KiCAD? ● Completely free and open source, ○ http://www.kicad-pcb.org/ ● Cross-platform (Linux, MacOS and Win), ● Simple to use (getting started is only 27 pages long), ● Very large community of users that shares component libraries, ● Examples: ○ http://smisioto.no-ip.org/elettronica/kicad/kicad.htm (useful lid for hobbysts) ○ http://kicad.rohrbacher.net/quicklib.php (component generator) ○ http://www.kicadlib.org/ (libraries collection) ○ … and many others
  • 9. Suite Description ● It comprises a schematic editor, layout editor, gerber visualization tools and provide a simple interface for output files generation, Kicad Project Manager
  • 13. Layout Editor Navigation Shield Layout
  • 14. Examples ● Navigation Shield ○ GPS Unit (over UART link) ○ IMU Unit (over I2C link) ○ GP LEDs ○ Possible application: rovers or drone navigation control ● Smart I/O Shield ○ 5 Analog Inputs, ○ 8 Digital I/O (2 PWM), ○ PIC18F2550 with I2C interface ○ Possible application: I/O expander for RPI (acquisition, control…).
  • 15. Build your prototype ● PCB (need gerber files): ○ Md srl: http://www.mdsrl.it/ (very professional service) ○ PCBProto: http://www.pcb-proto.com/ (very large pool) ○ JackAltac: http://www.jackaltac.com/ (cheaper one) ● Components (need Bill of Material): ○ Farnell, RS, Futura... ● Assembly (in case of pick-and-place need module position files) ○ Md srl is now providing an assembly service (quite expensive for small numbers) ○ ...otherwise buy a solder station
  • 17. GPIO - General Purpose In/Out ● GPIO strip provides different communication layers (board to board or on single board) ○ Generic In/Out pins (different libraries) ○ UART - Serial Communication ○ I2C - InterIntegrated Circuit ○ SPI - Serial Peripheral Interface
  • 18. GPIO - Support Libraries ● Not included by default ○ http://www.airspayce.com/mikem/bcm2835/bcm2835-1.37.tar.gz ./configure make sudo make check sudo make install
  • 19. int main(void) { if (!bcm2835_init()) { exit(1); } bcm2835_gpio_fsel(RPI_V2_GPIO_P1_11, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(RPI_V2_GPIO_P1_13, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(RPI_V2_GPIO_P1_15, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_write(RPI_V2_GPIO_P1_11, HIGH); bcm2835_gpio_write(RPI_V2_GPIO_P1_13, HIGH); bcm2835_gpio_write(RPI_V2_GPIO_P1_15, HIGH); return 0; }
  • 20. int main(void) { if (!bcm2835_init()) { exit(1); } bcm2835_gpio_fsel(RPI_V2_GPIO_P1_11, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(RPI_V2_GPIO_P1_13, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(RPI_V2_GPIO_P1_15, BCM2835_GPIO_FSEL_OUTP); uint8_t c = 0; while (1) { bcm2835_gpio_write(RPI_V2_GPIO_P1_11, c); bcm2835_gpio_write(RPI_V2_GPIO_P1_13, c); bcm2835_gpio_write(RPI_V2_GPIO_P1_15, c); c = !c; sleep(1); } return 0; }
  • 21. GPIO - BCM2835 - board versions ● Model A ○ RPI_GPIO_P1_03 ○ RPI_GPIO_P1_05 ○ RPI_GPIO_P1_07 ● Model B ○ RPI_V2_GPIO_P1_03 ○ RPI_V2_GPIO_P1_05 ○ RPI_V2_GPIO_P1_07 ● Model B+ RPI_BPLUS_GPIO_J8_03 RPI_BPLUS_GPIO_J8_05 RPI_BPLUS_GPIO_J8_07 http://www.airspayce.com/mikem/bcm2835/bcm2835_8h_source.html
  • 22. GPIO in action Low-cost ultrasonic sensors turn on/off a pin in order to convert real distances HC-SR04 https://github.com/wdalmut/libultrasonic
  • 23. UART for Raspberry Pi ● 2 functional modes ○ TTY for terminal connections (serial console) ○ For other micros and components ● Peripheral mode need few configurations ○ Appears as /dev/ttyAMA0 ○ http://elinux. org/RPi_Serial_Connection#Connection_to_a_micro controller_or_other_peripheral
  • 25. Initialize your serial module void serial_init(void) { uart0_filestream = open(“/dev/ttyAMA0”, O_RDWR | O_NOCTTY | O_NDELAY); if (uart0_filestream == -1) { //TODO error handling... } }
  • 26. Config your UART registry void serial_config(void) { struct termios options; tcgetattr(uart0_filestream, &options); options.c_cflag = B9600 | CS8 | CLOCAL | CREAD; options.c_iflag = IGNPAR; options.c_oflag = 0; options.c_lflag = 0; tcflush(uart0_filestream, TCIFLUSH); tcsetattr(uart0_filestream, TCSANOW, &options); }
  • 27. Send data to your peripheral int count = write(uart0_filestream, data, dataLen); Pay attention with strings (char vectors) because dataLen doesn’t include the termination byte (“0”)
  • 28. Read data from your peripheral int rx_length = read(uart0_filestream, (void*)(&c), len);
  • 29. A navigation shield for Raspberry Pi Adafruit Ultimate GPS Breakout v3 UART GPS module https://github.com/wdalmut/libgps
  • 30. I2C - Inter-Integrated Circuit ● Multiple components uses I2C in order to communicate ● Raspberry PI supports also this peripherals as a master node ● On raspberry the I2C is disabled by default, you have to enable it! ○ Enable it in your: /etc/modprobe.d/raspi-blacklist. conf
  • 32. I2C - Initialize it void mma7660fc_init(void) { i2cdev = open(“/dev/i2c-1”, O_RDWR); if (i2cdev == -1) { //TODO handle errors } }
  • 33. I2C - Write and control your slaves! void mma7660fc_on(void) { uint8_t buffer[2]; buffer[0] = MMA7660_MODE; buffer[1] = MMA7660_ACTIVE; ioctl(i2cdev, I2C_SLAVE, MMA7660_ADDR); write(i2cdev, buffer, 2); }
  • 34. Read from your slaves void mma7660fc_get(accel_t *data) { uint8_t buffer[11]; ioctl(i2cdev, I2C_SLAVE, MMA7660_ADDR); read(i2cdev, buffer, 3); //only x,y,z data->x = mma7660fc_convert(buffer[0]); data->y = mma7660fc_convert(buffer[1]); data->z = mma7660fc_convert(buffer[2]); }
  • 35. i2c in action MMA7660 ● 3-axis accelerometer ● Tilt detection ● Movement detection https://github.com/wdalmut/libimu
  • 36. Higher level with Golang package gps import( // #cgo LDFLAGS: -lgps -lm // #include <gps.h> "C" ) func GpsLocation() (float64, float64) { var data C.loc_t var lat, lon float64 C.gps_location(&data) lat = float64(data.latitude) lon = float64(data.longitude) return lat, lon }
  • 37. Any question? Thanks for listening