Choose your dev platform

46
Choose YOUR Dev Platform Marian HackMan Marinov <[email protected]>

Transcript of Choose your dev platform

Page 1: Choose your dev platform

Choose YOUR

Dev Platform

Marian HackMan Marinov <[email protected]>

Page 2: Choose your dev platform

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

Page 3: Choose your dev platform

Why I'm talking about this?

Page 4: Choose your dev platform

Why I'm talking about this?

Page 5: Choose your dev platform

Why I'm talking about this?

● Because Toni made me!

Page 6: Choose your dev platform

Why I'm talking about this?

● Because Toni made me!● Because I'm a lazy ass :)

Page 7: Choose your dev platform

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

Page 8: Choose your dev platform

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

Page 9: Choose your dev platform

ICMP PING

2004

Page 10: Choose your dev platform

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 :)

Page 11: Choose your dev platform

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

Page 12: Choose your dev platform

Electronics...

Page 13: Choose your dev platform

+__

Diode

Fuse

Battery

Lamp

Switch

Page 14: Choose your dev platform
Page 15: Choose your dev platform

Capacitor

Page 16: Choose your dev platform

Transistor

Page 17: Choose your dev platform

● For more:– http://dtzone.com/electronics/theory_circuit_symbol

s.htm– OR

Page 18: Choose your dev platform

Ohm's Law

The things you are AFRAID

Page 19: Choose your dev platform

Things that scare you...

Page 20: Choose your dev platform

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

Page 21: Choose your dev platform
Page 22: Choose your dev platform

SO What is there to help me?

● Micro-controllers (AVR, PIC etc.)● SoC (Raspberry Pi, OlinuXino, BeagleBone)

Page 23: Choose your dev platform

● 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

Page 24: Choose your dev platform

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?

Page 25: Choose your dev platform

Possible project architectures

● Implement everything on the micro-controller● Combine PC or SoC with a micro-controller● Use only the SoC

Page 26: Choose your dev platform

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

Page 27: Choose your dev platform

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

Page 28: Choose your dev platform

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

Page 29: Choose your dev platform

Arduino UNO

Page 30: Choose your dev platform

Olimexino

Page 31: Choose your dev platform

TinyDuino

Page 32: Choose your dev platform

TinyDuino SIZE

Page 33: Choose your dev platform

ESP8266

Kudos to Olimex for making these!Kudos to Olimex for making these!

Page 34: Choose your dev platform

Raspberry Pi 2 B+

Page 35: Choose your dev platform

OlimeXino A20 LIME

Page 36: Choose your dev platform

VoCore

Page 37: Choose your dev platform

Spark I/O

Page 38: Choose your dev platform

IoT peripherals

● Sensors● Communication

– WiFi– Bluetooth– Xbee– RF 315MHz 433 MHz– RFID & NFC

● 3D Printing for case prototypes

Page 39: Choose your dev platform

● Number of GPIOs● Number of Analog GPIOs● Power input● GPIO power output● Smaller the form factors lack some protective

circuits

Page 40: Choose your dev platform
Page 41: Choose your dev platform
Page 42: Choose your dev platform

Arduino Flo

Page 43: Choose your dev platform

GeogramOne

● Arduino● SIM900● GPS● Accelerometer● LiPo Fuel Gauge

Page 44: Choose your dev platform

GSMGPRSBLEWiFiSD Card slotArduino compatible

Page 45: Choose your dev platform

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

Page 46: Choose your dev platform

Thank you...Thank you...

E-Mail: <[email protected]>IRC: hackman at irc.freenode.net #softuni

ICQ: 7556201Jabber: [email protected]