choose your dev platform
TRANSCRIPT
Who am I?Who am I?● System Administrator since 1998● System Architect since 2004● CEO of 1H Ltd.● CTO of Kyup Ltd.● Head of DevOps at Siteground.com● Teaching Linux System Administration and
Network Security in Sofia University and SoftUni● Hardware hacker● Helping with the organization of OpenFest, BG
Perl Workshops and IT Tour
MarianHackMan
Marinov
Why I'm talking about this?
Why I'm talking about this?
Why I'm talking about this?
● Because Toni made me!
Why I'm talking about this?
● Because Toni made me!● Because I'm a lazy ass :)
Why I'm talking about this?
● Because Toni made me!● Because I'm a lazy ass :)● Because I have done some shits that have IPs
Disclaimer
● I'm not an Electrical Engineer● I don't know the laws of Ohm and Kirchhoff● Do not take everything I say for granted.
– CHALLENGE IT!!!
● This SHOULD be a discussion
ICMP PING
2004
How did I do it?
● A small daemon written in Perl● Some libs :)
– Net::ICQ::On
– Device::ParallelPort
– Device::SerialPort
● Aaaand... I stole the hardware from my brother :)
What we will be talking about?
● A bit of basic electronics... if you really want● The differences between the most prominent
hardware development platforms● The difference between the actual form factors● What is offered
Electronics...
+__
Diode
Fuse
Battery
Lamp
Switch
Capacitor
Transistor
● For more:– http://dtzone.com/electronics/theory_circuit_symbol
s.htm– OR
Ohm's Law
The things you are AFRAID
Things that scare you...
GPIO and Arduino
● WTF is GPIO?– Configurable pin, which can either receive or send
electrical current
● What is the difference between Analog and Digital?– Digital can only read presence of current or emit
current
– Analog can read or emit a range of currents with predetermined step
SO What is there to help me?
● Micro-controllers (AVR, PIC etc.)● SoC (Raspberry Pi, OlinuXino, BeagleBone)
● The hard decisions:– Micro controller
● Arduino based– Arduino UNO 46lv (the basic models)– Arduino Mega 81lv– Olimexino 44lv*– TinyDuino 20$– DigiSpark 9$
● ESP8266 11lv
– Systems-on-Chip (SoC)– OlinuXino 110lv*– Raspberry Pi 84lv– BeagleBone 117lv– Intel Edisson 186lv– Arduino YUN 146lv– VoCore 20$– UDOO 65$*
* - the most expensive one
First decisions
● Do you need the responsiveness of a micro-controller?– YES -> micro-controller
– NO -> consider SoC
● Does it need to be very power efficient?– YES -> micro-controller
– NO -> consider SoC
● How complex your project will be?● Does the micro-controller have enough resources for
your task?● Does the board you have chosen have enough GPIOs
for your project?
Possible project architectures
● Implement everything on the micro-controller● Combine PC or SoC with a micro-controller● Use only the SoC
everything on a micro-controller
● Pros:– Very small footprint
– Very efficient in terms of power and work
– Very fast access to the GPIOs
● Cons– Not enough RAM and storage
– Not enough CPU power
– Very easy to be DoS-ed
– Complex protocols
– Unreliable authentication and crypto
Use only the SoC
● Pros– A lot more resources
– Real OS
– Can write in any language
● Cons– Slow access to GPIOs
– Some systems do not have GPIO interrupts
– Most systems lack analog GPIOs
– Low number of GPIO pins
Combination of both
● Pros– You can move the fast, critical tasks to the micro-
controller
– The controllers should be working in trusted network environment
– Clear separation of tasks
● Cons– more complex system, based on micro-services
– you need a SoC or real PC in order to do the job
– power inefficient
Arduino UNO
Olimexino
TinyDuino
TinyDuino SIZE
ESP8266
Kudos to Olimex for making these!Kudos to Olimex for making these!
Raspberry Pi 2 B+
OlimeXino A20 LIME
VoCore
Spark I/O
IoT peripherals
● Sensors● Communication
– WiFi– Bluetooth– Xbee– RF 315MHz 433 MHz– RFID & NFC
● 3D Printing for case prototypes
● Number of GPIOs● Number of Analog GPIOs● Power input● GPIO power output● Smaller the form factors lack some protective
circuits
Arduino Flo
GeogramOne
● Arduino● SIM900● GPS● Accelerometer● LiPo Fuel Gauge
GSMGPRSBLEWiFiSD Card slotArduino compatible
Where to buy stuff?
● In Bulgaria– http://olimex.com
– http://www.robotev.com
– http://erelement.com
– http://www.comet.bg
● China– http://banggood.com
– http:dx.com
Thank you...Thank you...
E-Mail: <[email protected]>IRC: hackman at irc.freenode.net #softuni
ICQ: 7556201Jabber: [email protected]