SlideShare a Scribd company logo
1 of 47
How to put a face on
your server
Knowit Developer Summit 2015
Peter Tollnes Flem
peter.tollnes.flem@knowit.no
Knowit Reaktor Oslo
Håvard Fjær
havard.fjaer@knowit.no
Knowit Reaktor Oslo
source
input
provider
router
output
provider
receiver
The pipeline of the system
source
input
provider
router
output
provider
receiver
As long as you write an input provider
that supports it, a source can be
whatever you need.
source
input
provider
router
output
provider
receiver
source
input
provider
router
output
provider
receiver
● TeamCity input provider
● Git input provider
● “Your own system” input provider
● ...
source
input
provider
router
output
provider
receiver
MESSAGE FROM
SOURCE TO INPUT
PROVIDER
● TeamCity input provider
● Git input provider
● “Your own system” input provider
● ...
source
input
provider
router
output
provider
receiver
Here we create an endpoint
source
input
provider
router
output
provider
receiver
Create an endpoint
Put the data received into the internal data format, and pass it to the router
source
input
provider
router
output
provider
receiver
Create an endpoint
Put the data received into the internal data format, and pass it to the router
For now I just respond with 200 OK
source
input
provider
router
output
provider
receiver
input provider
source
input
provider
router
output
provider
receiver
input provider
router mapping
source
input
provider
router
output
provider
receiver
input provider
router mapping
The “pi” output provider
{ title: ‘’, status: ‘’, message: ‘’, dato: ‘’, additional-data: ‘’ }
{ title: ‘’, status: ‘’, message: ‘’, dato: ‘’, additional-data: ‘’ }
source
input
provider
router
output
provider
receiver
The “pi” output provider The receiver
The output provider notifies the receiver
The receiver:
Split-flap
vs.
+
+
Programming of electronics
= Firmware
= Connectivity
= High-level drivers
Hardware and
software
USB Serial port - Arduino HW → Raspberry Pi
Device drivers - Arduino SW→ node.js
Web API - Raspberry Pi → Internet
packages.json
Loading
Libraries
Wait for Arduino
Set up hardware
Web API
http://<host>:3000/api/position/6
v1: HTTP
v2: Sockets to
Stepper motor
200 to 3200 steps
per rotation
Electronics are functions
Power
Arduino Nano
Prototyping boardStepper driver
Raspberry Pi
Electronics
LCD Display
Laser sensor
Prototyping
Soldering
v0.1 - Spaghetti
Avoid overlapping
v0.2 - Modularization
Assembly
Standard parts
Custom parts
Hardware
design
Traditional modelling
http://www.designcoding.net/parametric-design-of-a-cellular-canopy/
Parametric modelling
The Story of the
“Flap Mount”
Parametric modelling - 2D
Parametric 2D drawing
Extrude into 3D
2D drawing on top of 3D
Cut in 3D using 2D drawing
Parametric modelling - 3D
Center points
Dimensions
Plans
Drilling center points
Hardware
- Turning diameter
- Facing edge
Drilling shaft hole
Parting
Finished part
Assembly
Design Finished
Peter Tollnes Flem
peter.tollnes.flem@knowit.no
Knowit Reaktor Oslo
Håvard Fjær
havard.fjaer@knowit.no
Knowit Reaktor Oslo
Knowit Developer Summit 2015

More Related Content

Similar to KDS - How to put a face on a server

Ws08 R2 Itpro Session 3 New Server Deployment And Migration
Ws08 R2 Itpro Session 3 New Server Deployment And MigrationWs08 R2 Itpro Session 3 New Server Deployment And Migration
Ws08 R2 Itpro Session 3 New Server Deployment And Migrationchenley
 
Web Streaming a Radio Station
Web Streaming a Radio StationWeb Streaming a Radio Station
Web Streaming a Radio Stationsean
 
Introduciendo Wombat 2.0`
Introduciendo Wombat 2.0`Introduciendo Wombat 2.0`
Introduciendo Wombat 2.0`OpenDireito
 
Socket programming-tutorial-sk
Socket programming-tutorial-skSocket programming-tutorial-sk
Socket programming-tutorial-sksureshkarthick37
 
Socket programming in C
Socket programming in CSocket programming in C
Socket programming in CDeepak Swain
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming TutorialJignesh Patel
 
Socket Programming Tutorial 1227317798640739 8
Socket Programming Tutorial 1227317798640739 8Socket Programming Tutorial 1227317798640739 8
Socket Programming Tutorial 1227317798640739 8shanmuga priya
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Socket programming
Socket programmingSocket programming
Socket programmingharsh_bca06
 
Socket programming
Socket programmingSocket programming
Socket programmingharsh_bca06
 
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)SDNRG ITB
 
DEVNET-2009 Intercloud Fabric REST APIs for Providers
DEVNET-2009	Intercloud Fabric REST APIs for ProvidersDEVNET-2009	Intercloud Fabric REST APIs for Providers
DEVNET-2009 Intercloud Fabric REST APIs for ProvidersCisco DevNet
 
How To Send Twitch Notifications Using Courier
How To Send Twitch Notifications Using CourierHow To Send Twitch Notifications Using Courier
How To Send Twitch Notifications Using CourierLetterdrop
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityThomas Graf
 
[Test bash manchester] contract testing in practice
[Test bash manchester] contract testing in practice[Test bash manchester] contract testing in practice
[Test bash manchester] contract testing in practicePierre Vincent
 

Similar to KDS - How to put a face on a server (20)

Ws08 R2 Itpro Session 3 New Server Deployment And Migration
Ws08 R2 Itpro Session 3 New Server Deployment And MigrationWs08 R2 Itpro Session 3 New Server Deployment And Migration
Ws08 R2 Itpro Session 3 New Server Deployment And Migration
 
Web Streaming a Radio Station
Web Streaming a Radio StationWeb Streaming a Radio Station
Web Streaming a Radio Station
 
Introduciendo Wombat 2.0`
Introduciendo Wombat 2.0`Introduciendo Wombat 2.0`
Introduciendo Wombat 2.0`
 
Socket programming-tutorial-sk
Socket programming-tutorial-skSocket programming-tutorial-sk
Socket programming-tutorial-sk
 
Socket programming in C
Socket programming in CSocket programming in C
Socket programming in C
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 
Socket Programming Tutorial 1227317798640739 8
Socket Programming Tutorial 1227317798640739 8Socket Programming Tutorial 1227317798640739 8
Socket Programming Tutorial 1227317798640739 8
 
Eternity NE VoIP
Eternity NE VoIPEternity NE VoIP
Eternity NE VoIP
 
GitIndex e SourceServer
GitIndex e SourceServerGitIndex e SourceServer
GitIndex e SourceServer
 
IP and VoIP Fundamentals
IP and VoIP FundamentalsIP and VoIP Fundamentals
IP and VoIP Fundamentals
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
03 sockets
03 sockets03 sockets
03 sockets
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)Brocade Software Networking (SDN NFV Day ITB 2016)
Brocade Software Networking (SDN NFV Day ITB 2016)
 
DEVNET-2009 Intercloud Fabric REST APIs for Providers
DEVNET-2009	Intercloud Fabric REST APIs for ProvidersDEVNET-2009	Intercloud Fabric REST APIs for Providers
DEVNET-2009 Intercloud Fabric REST APIs for Providers
 
How To Send Twitch Notifications Using Courier
How To Send Twitch Notifications Using CourierHow To Send Twitch Notifications Using Courier
How To Send Twitch Notifications Using Courier
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network Security
 
Pycon - Python for ethical hackers
Pycon - Python for ethical hackers Pycon - Python for ethical hackers
Pycon - Python for ethical hackers
 
[Test bash manchester] contract testing in practice
[Test bash manchester] contract testing in practice[Test bash manchester] contract testing in practice
[Test bash manchester] contract testing in practice
 

KDS - How to put a face on a server

Editor's Notes

  1. Hvem er vi DISP: Hvem er vi Overordnet om hva vi har laget (Source → Router → Target → Hardware) / DEMO Peter: Source → Router → Target Håvard: Target → Hardware Demo Spørsmål
  2. overordnet flyt
  3. Eksempler: git tc arduino home automated systems (brødrister, dør, sensor … ) sende http pings til server for å sjekke om den er oppe
  4. snakke om hvordan den leser inn input moduler
  5. the internal data format enables the output providers to have to know only 1 data format status, tittel, message, dato, additional-data
  6. RUTER: Vurdere nivået av alvorlighet
  7. mange input til 1 output
  8. output-moduler som støtter gitte input-moduler
  9. Arduino simplifies electronics programming can be self-sufficient Johnny-Five abstracts and connects arduino and hardware to node.js node.js connects everything internet and high-level libraries
  10. Software works on arduino pins. Stepper driver provides power and simplicity Johny-five provides further simplicity
  11. When “programming” with electronics, you are forced to: create clean interfaces, thinking in terms of modules Otherwise: Spaghetti. Cables are parameters.