2. 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
Marian
HackMan
Marinov
6. Why I'm talking about this?
● Because Toni made me!
● Because I'm a lazy ass :)
7. 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
8. 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
10. 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 :)
11. 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
20. 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
21.
22. SO What is there to help me?
● Micro-controllers (AVR, PIC etc.)
● SoC (Raspberry Pi, OlinuXino, BeagleBone)
23. ● 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
24. 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?
25. Possible project architectures
● Implement everything on the micro-controller
● Combine PC or SoC with a micro-controller
● Use only the SoC
26. 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
27. 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
28. 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