SlideShare une entreprise Scribd logo
1  sur  26
GOT PYTHON I/O
IOT DEVELOPMENT IN PYTHON VIA GPIO
HISTORICAL PERSPECTIVE
HOW I CAME UP WITH THE HAIR-BRAINED IDEA TO USE PYTHON FOR IOT
NODEBOTS DAY
Put on by Suz Hinton and Pawel
Szymczykowski
THE LEXICUTIONER
Designed a built using SumoBot Jr.
(Pawelbot) by Adam Englander and Lexi
Glazer
PHYSICAL ACCESS SYSTEM
Comprised of Raspberry Pi B, power
converter, electronic door latch, inline
switch. Software is Raspbian with Python
2.7 and Twisted.
PYTHON IOT STARTER KIT
RASPBERRY PI FOR THE WIN
STARTER KIT HARDWARE
• Raspberry Pi
• Micro USB with AC converter for power
• Cat 5 network cable
• USB Keyboard
• HDMI cable
• HDMI capable display – not shown
• 3.3V LED with (2) female to female connectors
STARTER KIT SOFTWARE
• Raspbian
• Pre-installed on SD card
• Download installer (requires SD card reader):
https://www.raspberrypi.org/downloads/
• Python 2.7
• Pre-installed on Raspbian
ACCESSING GPIO FROM LINUX BASED SYSTEMS
IT’S SO EASY YOU WON’T BELIEVE IT
GENERAL PURPOSE INPUT/OUTPUT (GPIO)
• A generic pin on an integrated circuit (IC) whose
behavior is controlled at runtime
• Use to control and transfer data to and from
external devices to the IC
• Available on all general purpose IC boards
IT’S ALL IN THE FILE SYSTEM
• Linux GPIO Sysfs Interface for Userspace
• Root directory is at /sys/class/gpio
• Control Interfaces
• Pin Interfaces
CONTROL INTERFACE
• “export” creates a node to expose a GPIO port
to the user space
• “echo 18 > /sys/class/gpio/export” will create a
gpio18 node at “/sys/class/gpio/gpio18”
• “unexport” removes the node for a GPIO port
from the user space
• “echo 18 > /sys/class/gpio/unexport” removes
the gpio18 node
GPIO SIGNALS
• “direction” determines the direction of a pin. Valid
values are “in” and “out”. “in” is used for interrupts
• “echo out > /sys/class/gpio/gpio18/direction” will
set GPIO pin 18 ’s direction as out
• “value” is the value of a pin. It reads a “0” or “1”.
Any on-zero value written will be interpreted as
“1”. When reading the value ”high” evaluates to ”1”
and “low” evaluates to “0” unless overridden by
“active_low”
• “echo 1 > /sys/class/gpio/gpio18/value” sets the
value of GPIO 18 to “1” and closes the circuit
• “cat /sys/class/gpio/gpio18/value” would return “1”
after the statement above
GPIO SIGNALS CONTINUED
• “edge” is used to tell the GPIO when to write to
”value” when “direction” is “in”. Valid values are
“none”, “rising”, ”falling”, and “both”.
• “echo both > sys/class/gpio/gpio18/edge” will
trigger an interrupt when voltage increases or
decreases
• “active_low” is used to invert the effect of
“edge” of “value”. Valid values are “1`” and “0”.
“1” inverts and “0” sets standard.
• “echo 1> sys/class/gpio/gpio18/active_low” will
invert the values of high and low
PYTHON ACCESS TO GPIO
CAT SKINNING 101
USE FILE SYSTEM ACCESS
• ”open”
• “read”
• “write”
TWISTED
• Event loop
• Single thread
• Asynchronous I/O
• HTTP server
• Websocket server
• File system I/O
• Real IoT
DEMO TIME
PLATFORM COMPARISON
HOW TO PICK THROUGH THE MYRIAD OF OPTIONS
RASPBERRY PI
Pros
• Moderately Inexpensive (~35 USD)
• Flexible platform
• Lots of guides and tutorials
• GUI interface for beginners
• Aptitude package manager
• Great starter platform
Cons
• Requires special cable to do away with keyboard
and monitor
• Under powered
• No built in Analog to Digital Converter (ADC)
• A bit on the large side
• ARM processor
INTEL EDISON
Pros
• X86 based Atom processor
• Ample power, RAM, and storage
• Multiple form factors
• Arduino developer board can use standard
Arduino backplanes
• Easy to setup Wi-Fi
• Arduino board has Analog to Digital Converter
and Python library
Cons
• Can be a bit pricy (~110 USD)
• Not as many guides and tutorials
• Documentation is a bit confusing at times
• Evolving platform
• Sysfs GPIO is flakey
DRONESMITH LUCI
Pros
• Easy to build unmanned vehicles
• No real electrical understanding needed
• Just uses some simple scripting
• Based on Intel Edison
Cons
• Expensive
• Still in early development phase
• No real direct development – just scripting
routes.
CHIP
Pros
• Super inexpensive (~10 USD)
• Wi-Fi
• Bluetooth
Cons
• Low power
• Pre-order only
BEAGLEBONE BLACK
Pros
• Inexpensive (~50 USD)
• Can be a full computer
• Has add-on ecosystem
• Lots of connectivity
• On-board Analog to Digital Converter (ADC)
Cons
• Low power
• ARM chipset
FURTHER READING
• Raspberry Pi: https://www.raspberrypi.org/
• Linux Kernel GPIO Sysfs: https://www.kernel.org/doc/Documentation/gpio/sysfs.txt
• Examples for GPIO in Bash and PHP: https://github.com/aenglander/iot-examples
• Twisted: http://twistedmatrix.com/
• Intel Edison: http://www.intel.com/content/www/us/en/do-it-yourself/edison.html
• CHIP: https://getchip.com/pages/chip
• Luci: http://www.dronesmith.io/luci/
CONTACT INFO
• @adam_englander on Twitter
• adam@launchkey.com
• aenglander on Freenode
• aenglander on GitHub
• adamenglander on Linkedn

Contenu connexe

Tendances

raspberry pi and robots
raspberry pi and robotsraspberry pi and robots
raspberry pi and robotschikkujacob
 
NXP i.MX6 Multi Media Processor & Peripherals
NXP i.MX6 Multi Media Processor & PeripheralsNXP i.MX6 Multi Media Processor & Peripherals
NXP i.MX6 Multi Media Processor & PeripheralsNEEVEE Technologies
 
Introduction to Hardware Design Using KiCAD
Introduction to Hardware Design Using KiCADIntroduction to Hardware Design Using KiCAD
Introduction to Hardware Design Using KiCADNEEVEE Technologies
 
Home Automation Using RPI
Home Automation Using  RPIHome Automation Using  RPI
Home Automation Using RPIAnkara JUG
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsSudar Muthu
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)Mirco Vanini
 
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCING
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCINGINTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCING
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCINGDevyani Chaudhari
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020Mirco Vanini
 
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
 
Apple II Floppy disk emulation explained by example
Apple II Floppy disk emulation explained by exampleApple II Floppy disk emulation explained by example
Apple II Floppy disk emulation explained by exampleAndrew Roughan
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARMAntonio Mondragon
 
Costruiamo un Rover in 60 minuti
Costruiamo un Rover in 60 minutiCostruiamo un Rover in 60 minuti
Costruiamo un Rover in 60 minutiCodemotion
 
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...Alwin Arrasyid
 
Micropython for the iot
Micropython for the iotMicropython for the iot
Micropython for the iotJacques Supcik
 

Tendances (20)

raspberry pi and robots
raspberry pi and robotsraspberry pi and robots
raspberry pi and robots
 
NXP i.MX6 Multi Media Processor & Peripherals
NXP i.MX6 Multi Media Processor & PeripheralsNXP i.MX6 Multi Media Processor & Peripherals
NXP i.MX6 Multi Media Processor & Peripherals
 
Introduction to Hardware Design Using KiCAD
Introduction to Hardware Design Using KiCADIntroduction to Hardware Design Using KiCAD
Introduction to Hardware Design Using KiCAD
 
Home Automation Using RPI
Home Automation Using  RPIHome Automation Using  RPI
Home Automation Using RPI
 
Meeting-Room-Alert-System
Meeting-Room-Alert-SystemMeeting-Room-Alert-System
Meeting-Room-Alert-System
 
GCC 4-1-16
GCC 4-1-16GCC 4-1-16
GCC 4-1-16
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of things
 
It's game time
It's game timeIt's game time
It's game time
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
 
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCING
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCINGINTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCING
INTRODUCTION TO ARDUINO & RASPBERRY, SENSOR AND TEMPERATURE INTERAFCING
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
 
Amity Raspberry Jam
Amity Raspberry JamAmity Raspberry Jam
Amity Raspberry Jam
 
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
 
Apple II Floppy disk emulation explained by example
Apple II Floppy disk emulation explained by exampleApple II Floppy disk emulation explained by example
Apple II Floppy disk emulation explained by example
 
2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM2nd ARM Developer Day - mbed Workshop - ARM
2nd ARM Developer Day - mbed Workshop - ARM
 
MarsBoard - NXP IMX6 Processor
MarsBoard - NXP IMX6 ProcessorMarsBoard - NXP IMX6 Processor
MarsBoard - NXP IMX6 Processor
 
BLE Talk
BLE TalkBLE Talk
BLE Talk
 
Costruiamo un Rover in 60 minuti
Costruiamo un Rover in 60 minutiCostruiamo un Rover in 60 minuti
Costruiamo un Rover in 60 minuti
 
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...
 
Micropython for the iot
Micropython for the iotMicropython for the iot
Micropython for the iot
 

En vedette

Connect all your customers on one multichannel platform!
Connect all your customers on one multichannel platform!Connect all your customers on one multichannel platform!
Connect all your customers on one multichannel platform!Slawomir Kluczewski
 
20 C programs
20 C programs20 C programs
20 C programsnavjoth
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry piSudar Muthu
 
C programming language tutorial
C programming language tutorial C programming language tutorial
C programming language tutorial javaTpoint s
 
Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Pythonprimeteacher32
 
Socket Programming In Python
Socket Programming In PythonSocket Programming In Python
Socket Programming In Pythondidip
 
Cloud Computing to Internet of Things
Cloud Computing to Internet of ThingsCloud Computing to Internet of Things
Cloud Computing to Internet of ThingsHermesDDS
 
Internet of Things for Libraries
Internet of Things for LibrariesInternet of Things for Libraries
Internet of Things for LibrariesNicole Baratta
 
C programs
C programsC programs
C programsMinu S
 
Building Applications with Eclipse IoT, Block by Block
Building Applications with Eclipse IoT, Block by BlockBuilding Applications with Eclipse IoT, Block by Block
Building Applications with Eclipse IoT, Block by BlockAnne Nevin
 
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT PlatformCreating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT PlatformValeria Naldi
 
Multidimensional array in C
Multidimensional array in CMultidimensional array in C
Multidimensional array in CSmit Parikh
 
Open source IoT
Open source IoTOpen source IoT
Open source IoTIoT613
 
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettIoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettParam Singh
 
Eclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for MicrocontrollersEclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for MicrocontrollersMicroEJ
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Benjamin Cabé
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summitMike Milinkovich
 

En vedette (20)

Connect all your customers on one multichannel platform!
Connect all your customers on one multichannel platform!Connect all your customers on one multichannel platform!
Connect all your customers on one multichannel platform!
 
20 C programs
20 C programs20 C programs
20 C programs
 
Computer Logic
Computer LogicComputer Logic
Computer Logic
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry pi
 
C programming language tutorial
C programming language tutorial C programming language tutorial
C programming language tutorial
 
Conditional Loops Python
Conditional Loops PythonConditional Loops Python
Conditional Loops Python
 
Loops in c
Loops in cLoops in c
Loops in c
 
Socket Programming In Python
Socket Programming In PythonSocket Programming In Python
Socket Programming In Python
 
Cloud Computing to Internet of Things
Cloud Computing to Internet of ThingsCloud Computing to Internet of Things
Cloud Computing to Internet of Things
 
CS2309 JAVA LAB MANUAL
CS2309 JAVA LAB MANUALCS2309 JAVA LAB MANUAL
CS2309 JAVA LAB MANUAL
 
Internet of Things for Libraries
Internet of Things for LibrariesInternet of Things for Libraries
Internet of Things for Libraries
 
C programs
C programsC programs
C programs
 
Building Applications with Eclipse IoT, Block by Block
Building Applications with Eclipse IoT, Block by BlockBuilding Applications with Eclipse IoT, Block by Block
Building Applications with Eclipse IoT, Block by Block
 
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT PlatformCreating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
 
Multidimensional array in C
Multidimensional array in CMultidimensional array in C
Multidimensional array in C
 
Open source IoT
Open source IoTOpen source IoT
Open source IoT
 
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettIoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
 
Eclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for MicrocontrollersEclipse Edje: A Java API for Microcontrollers
Eclipse Edje: A Java API for Microcontrollers
 
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016Examining the emergent open source IoT ecosystem - IoT World Europe 2016
Examining the emergent open source IoT ecosystem - IoT World Europe 2016
 
2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 

Similaire à Got Python I/O: IoT Develoment in Python via GPIO

Internet of Things With PHP
Internet of Things With PHPInternet of Things With PHP
Internet of Things With PHPAdam Englander
 
Democratizing the Internet of Things
Democratizing the Internet of ThingsDemocratizing the Internet of Things
Democratizing the Internet of ThingsAdam Englander
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1Felipe Belarmino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoRichard Rixham
 
IoT Physical Devices and End Points.pdf
IoT Physical Devices and End Points.pdfIoT Physical Devices and End Points.pdf
IoT Physical Devices and End Points.pdfGVNSK Sravya
 
Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptxBLACKSPAROW
 
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
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Piyeokm1
 
Intro to the raspberry pi board
Intro to the raspberry pi boardIntro to the raspberry pi board
Intro to the raspberry pi boardThierry Gayet
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry PiShahed Mehbub
 
Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Justin Mclean
 
ARDUINO AND RASPBERRYPI.pptx
ARDUINO AND RASPBERRYPI.pptxARDUINO AND RASPBERRYPI.pptx
ARDUINO AND RASPBERRYPI.pptxvennetikiran1
 
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”GlobalLogic Ukraine
 
IoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptxIoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptxMadhurimaDas52
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionIntel® Software
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdfRynefelElopre2
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityAhmed Magdy Farid
 

Similaire à Got Python I/O: IoT Develoment in Python via GPIO (20)

Internet of Things With PHP
Internet of Things With PHPInternet of Things With PHP
Internet of Things With PHP
 
Democratizing the Internet of Things
Democratizing the Internet of ThingsDemocratizing the Internet of Things
Democratizing the Internet of Things
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
IoT Physical Devices and End Points.pdf
IoT Physical Devices and End Points.pdfIoT Physical Devices and End Points.pdf
IoT Physical Devices and End Points.pdf
 
Unit 6 - PART2.pptx
Unit 6 - PART2.pptxUnit 6 - PART2.pptx
Unit 6 - PART2.pptx
 
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
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Pi
 
Intro to the raspberry pi board
Intro to the raspberry pi boardIntro to the raspberry pi board
Intro to the raspberry pi board
 
Up and running with Raspberry Pi
Up and running with Raspberry PiUp and running with Raspberry Pi
Up and running with Raspberry Pi
 
Introduction to Raspberry PI
Introduction to Raspberry PIIntroduction to Raspberry PI
Introduction to Raspberry PI
 
Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)Connecting Hardware to Flex (360MAX)
Connecting Hardware to Flex (360MAX)
 
ARDUINO AND RASPBERRYPI.pptx
ARDUINO AND RASPBERRYPI.pptxARDUINO AND RASPBERRYPI.pptx
ARDUINO AND RASPBERRYPI.pptx
 
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
Java Webinar #9: “Raspberry Pi Platform for Java Programmers”
 
IoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptxIoT for data science Module 5 - Raspberry Pi.pptx
IoT for data science Module 5 - Raspberry Pi.pptx
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA University
 
Arduino
ArduinoArduino
Arduino
 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
 

Plus de Adam Englander

Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxAdam Englander
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Adam Englander
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for DummiesAdam Englander
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityAdam Englander
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthAdam Englander
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Adam Englander
 
Dutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for BeginnersDutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for BeginnersAdam Englander
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2Adam Englander
 
php[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the futurephp[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the futureAdam Englander
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Adam Englander
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Adam Englander
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Adam Englander
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Adam Englander
 
Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018Adam Englander
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureAdam Englander
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTAdam Englander
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersAdam Englander
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingAdam Englander
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerAdam Englander
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatAdam Englander
 

Plus de Adam Englander (20)

Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for Dummies
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API Security
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in Depth
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018
 
Dutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for BeginnersDutch PHP 2018 - Cryptography for Beginners
Dutch PHP 2018 - Cryptography for Beginners
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2
 
php[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the futurephp[tek] 2018 - Biometrics, fantastic failure point of the future
php[tek] 2018 - Biometrics, fantastic failure point of the future
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018
 
Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018Cryptography for Beginners - Sunshine PHP 2018
Cryptography for Beginners - Sunshine PHP 2018
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for Beginners
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is Coming
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async Primer
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
 

Dernier

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Got Python I/O: IoT Develoment in Python via GPIO

  • 1. GOT PYTHON I/O IOT DEVELOPMENT IN PYTHON VIA GPIO
  • 2. HISTORICAL PERSPECTIVE HOW I CAME UP WITH THE HAIR-BRAINED IDEA TO USE PYTHON FOR IOT
  • 3. NODEBOTS DAY Put on by Suz Hinton and Pawel Szymczykowski
  • 4. THE LEXICUTIONER Designed a built using SumoBot Jr. (Pawelbot) by Adam Englander and Lexi Glazer
  • 5. PHYSICAL ACCESS SYSTEM Comprised of Raspberry Pi B, power converter, electronic door latch, inline switch. Software is Raspbian with Python 2.7 and Twisted.
  • 6. PYTHON IOT STARTER KIT RASPBERRY PI FOR THE WIN
  • 7. STARTER KIT HARDWARE • Raspberry Pi • Micro USB with AC converter for power • Cat 5 network cable • USB Keyboard • HDMI cable • HDMI capable display – not shown • 3.3V LED with (2) female to female connectors
  • 8. STARTER KIT SOFTWARE • Raspbian • Pre-installed on SD card • Download installer (requires SD card reader): https://www.raspberrypi.org/downloads/ • Python 2.7 • Pre-installed on Raspbian
  • 9. ACCESSING GPIO FROM LINUX BASED SYSTEMS IT’S SO EASY YOU WON’T BELIEVE IT
  • 10. GENERAL PURPOSE INPUT/OUTPUT (GPIO) • A generic pin on an integrated circuit (IC) whose behavior is controlled at runtime • Use to control and transfer data to and from external devices to the IC • Available on all general purpose IC boards
  • 11. IT’S ALL IN THE FILE SYSTEM • Linux GPIO Sysfs Interface for Userspace • Root directory is at /sys/class/gpio • Control Interfaces • Pin Interfaces
  • 12. CONTROL INTERFACE • “export” creates a node to expose a GPIO port to the user space • “echo 18 > /sys/class/gpio/export” will create a gpio18 node at “/sys/class/gpio/gpio18” • “unexport” removes the node for a GPIO port from the user space • “echo 18 > /sys/class/gpio/unexport” removes the gpio18 node
  • 13. GPIO SIGNALS • “direction” determines the direction of a pin. Valid values are “in” and “out”. “in” is used for interrupts • “echo out > /sys/class/gpio/gpio18/direction” will set GPIO pin 18 ’s direction as out • “value” is the value of a pin. It reads a “0” or “1”. Any on-zero value written will be interpreted as “1”. When reading the value ”high” evaluates to ”1” and “low” evaluates to “0” unless overridden by “active_low” • “echo 1 > /sys/class/gpio/gpio18/value” sets the value of GPIO 18 to “1” and closes the circuit • “cat /sys/class/gpio/gpio18/value” would return “1” after the statement above
  • 14. GPIO SIGNALS CONTINUED • “edge” is used to tell the GPIO when to write to ”value” when “direction” is “in”. Valid values are “none”, “rising”, ”falling”, and “both”. • “echo both > sys/class/gpio/gpio18/edge” will trigger an interrupt when voltage increases or decreases • “active_low” is used to invert the effect of “edge” of “value”. Valid values are “1`” and “0”. “1” inverts and “0” sets standard. • “echo 1> sys/class/gpio/gpio18/active_low” will invert the values of high and low
  • 15. PYTHON ACCESS TO GPIO CAT SKINNING 101
  • 16. USE FILE SYSTEM ACCESS • ”open” • “read” • “write”
  • 17. TWISTED • Event loop • Single thread • Asynchronous I/O • HTTP server • Websocket server • File system I/O • Real IoT
  • 19. PLATFORM COMPARISON HOW TO PICK THROUGH THE MYRIAD OF OPTIONS
  • 20. RASPBERRY PI Pros • Moderately Inexpensive (~35 USD) • Flexible platform • Lots of guides and tutorials • GUI interface for beginners • Aptitude package manager • Great starter platform Cons • Requires special cable to do away with keyboard and monitor • Under powered • No built in Analog to Digital Converter (ADC) • A bit on the large side • ARM processor
  • 21. INTEL EDISON Pros • X86 based Atom processor • Ample power, RAM, and storage • Multiple form factors • Arduino developer board can use standard Arduino backplanes • Easy to setup Wi-Fi • Arduino board has Analog to Digital Converter and Python library Cons • Can be a bit pricy (~110 USD) • Not as many guides and tutorials • Documentation is a bit confusing at times • Evolving platform • Sysfs GPIO is flakey
  • 22. DRONESMITH LUCI Pros • Easy to build unmanned vehicles • No real electrical understanding needed • Just uses some simple scripting • Based on Intel Edison Cons • Expensive • Still in early development phase • No real direct development – just scripting routes.
  • 23. CHIP Pros • Super inexpensive (~10 USD) • Wi-Fi • Bluetooth Cons • Low power • Pre-order only
  • 24. BEAGLEBONE BLACK Pros • Inexpensive (~50 USD) • Can be a full computer • Has add-on ecosystem • Lots of connectivity • On-board Analog to Digital Converter (ADC) Cons • Low power • ARM chipset
  • 25. FURTHER READING • Raspberry Pi: https://www.raspberrypi.org/ • Linux Kernel GPIO Sysfs: https://www.kernel.org/doc/Documentation/gpio/sysfs.txt • Examples for GPIO in Bash and PHP: https://github.com/aenglander/iot-examples • Twisted: http://twistedmatrix.com/ • Intel Edison: http://www.intel.com/content/www/us/en/do-it-yourself/edison.html • CHIP: https://getchip.com/pages/chip • Luci: http://www.dronesmith.io/luci/
  • 26. CONTACT INFO • @adam_englander on Twitter • adam@launchkey.com • aenglander on Freenode • aenglander on GitHub • adamenglander on Linkedn

Notes de l'éditeur

  1. curl -i -H "content-typeson" --data '{"value": 1}' localhost:8080/gpio/18