Choose your dev platform

Post on 22-Jan-2018

1.251 views 0 download

Transcript of Choose your dev platform

Choose YOUR

Dev Platform

Marian HackMan Marinov <mm@1h.com>

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: <mm@yuhu.biz>IRC: hackman at irc.freenode.net #softuni

ICQ: 7556201Jabber: hackman@jabber.org