SlideShare une entreprise Scribd logo
#DevoxxFR
Kit de survie pour l'IoT
façon DIY
Laurent HUET @lhuet35
#DevoxxFR
Qui suis-je ?
2
●
> 2 ans dans la robotique industrielle
●
15+ ans en SSII
●
4 ans de bâtiment ! @lhuet35
#DevoxxFR
Sommaire
●
Construire
●
Développer
●
Débugger
3
#DevoxxFR
Construire
4
#DevoxxFR
Cartes ARM ...
Odroid C2
Quad Core 64-bit @1.5 GHz
2 Go RAM
Gigabit Ethernet
Raspberry Pi 3
Quad Core 64-bit @1.2 GHz
1 Go RAM
10/100 Mbps Ethernet + WIFI + BT
5
#DevoxxFR
… pour tous les goûts
NanoPi Neo2
Quad Core (H5) 64-bit
512 Mo RAM
Gigabit Ethernet
Orange Pi Zero Plus 2
Quad Core (H5) 64-bit
512 Mo RAM
WIFI + BT 4.2
6
#DevoxxFR
Cartes micro-contrôleurs
Arduino & co
Plateforme ultra
populaire
ESP8266
Wifi inside !
ESP32
Dual Core !
Wifi + BT
7
#DevoxxFR
Alimentation puissante
2A mini
3A si possible
8
#DevoxxFR
Alimentation pour montages
Alim. Breadboard (YwRobot MB-V2)
Input → 6.5 à 12 V
Output → 3.3v & 5v (700 mA)
Convertisseur DC/DC (LM 2596)
Input → 4 à 35v (3A)
Output → 1,23v à 30v
9
#DevoxxFR
Kits divers
Cherchez “sensors kit”
→ Il y en a pour tous les goûts !
→ Idéal pour commencer
10
#DevoxxFR
Histoire de résistance ...
11
#DevoxxFR
Faut-il une résistance ?
●
A quoi ça sert ?
➔
Limiter le courant (intensité)
➔
Protection de la led et de la sortie
➔
Comment choisir ?
U = R.I
Exemple pour RPI:
Led = 1.7v
Tension GPIO = 3.3v
R = 220 Ω → I = 7mA
12
#DevoxxFR
Toujours avoir un kit !
13
#DevoxxFR
Cartes SD
MicroSD et convertisseurs
→ SD / µSD
→ USB / µSD
Généralement, beaucoup + rapide
14
#DevoxxFR
Fiabilité des cartes SD limitée
●
Technologie fragile
●
Écritures limitées
Solution → SD en READ ONLY
15
#DevoxxFR
SD Read Only sur RPi
●
Configuration variable selon la distribution
➔
Exemple avec une distribution Raspbian
●
Stratégie
➔
Utiliser un système de fichier mémoire (tmpfs)
➔
Limiter les fichiers à modifier
16
#DevoxxFR
Suppression du Swap
sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove
pi@raspberrypi:~$ free
total used free shared buffers cached
Mem: 882772 85844 796928 5916 11832 41132
-/+ buffers/cache: 32880 849892
Swap: 0 0 0
Vérification :
Suppression permanente du fichier de swap
17
#DevoxxFR
Préparation du filesystem
# Fichiers temporaires dans /var/tmp
sudo rm -rf /var/lib/dhcp/ /var/run /var/spool /var/lock /var/log
sudo ln -s /var/tmp /var/lib/dhcp
sudo ln -s /var/tmp /var/run
sudo ln -s /var/tmp /var/spool
sudo ln -s /var/tmp /var/lock
# Fichier DNS modifié par le client DHCP au boot
sudo rm -rf /etc/resolv.conf
sudo touch /tmp/dhcpcd.resolv.conf
sudo ln -s /tmp/dhcpcd.resolv.conf /etc/resolv.conf
18
#DevoxxFR
Modification de /etc/fstab
proc /proc proc defaults 0 0
# Passage en read-only des partitions de la carte SD
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime,ro 0 1
# Ajout des filesystems tmpfs
tmpfs /tmp tmpfs nodev,nosuid,size=32M 0 0
tmpfs /var/log tmpfs defaults,noatime,size=32M 0 0
tmpfs /var/tmp tmpfs defaults,noatime,size=32M 0 0
tmpfs /var/run tmpfs defaults,noatime,size=512K 0 0
19
#DevoxxFR
RW ←→ RO
sudo sudo mount -o remount,rw /
Revenir au Read-Only
Rendre le filesystem / modifiable
sudo sudo mount -o remount,ro /
20
#DevoxxFR
Développer
21
#DevoxxFR
IDE Arduino
22
#DevoxxFR
IDE Arduino
23
#DevoxxFR
PlatformIO → Arduino IDE Killer ?
Intégration possible dans
votre IDE !
“This is cross platform
code builder and
library manager”
http://platformio.org/
PlatformIO Core → CLI
PlatformIO IDE → Atom
24
#DevoxxFR
Firmware Arduino
→ Protocole “standard”
→ Dispo sur Arduino / Particle
→ Librairies clientes nombreuses
Java / JavaScript / go / …
→ Fwk JS comme Johnny-five
25
#DevoxxFR
Firmwares pour ESP8266
NodeMCU
→ permet de coder avec des scripts LUA
26
#DevoxxFR
Autres firmwares
27
#DevoxxFR
Et Java ?
●
JDK pour Linux ARM
➔
Build OpenJDK Azul : Zulu Embedded
➔
Build JavaSE Oracle
●
Device I/O
➔
Projet OpenJDK pour le hardware (UART, I2C, GPIO, SPI)
➔
Build Azul dispo : Zulu Device API Kit (DAK)
28
#DevoxxFR
Alternatives en Java
●
PI4J
➔
Basé sur WiringPi
➔
Dispo pour plusieurs plateformes (RPI, Odroid, ...)
●
JNI / JNA
➔
Interfacer une librairie native avec Java
●
Driver Linux
➔
Module Linux en C
➔
Expose une API sous forme de fichier virtuel
29
#DevoxxFR
Débugger
30
#DevoxxFR
Panne réseau ?
●
Lien série (UART) dispo partout !
31
#DevoxxFR
UART sur Raspberry
UART
32
#DevoxxFR
Convertisseurs USB / UART
33
#DevoxxFR
Moniteurs série
●
Screen / minicom (Linux & Mac)
●
Putty (Windows)
lhuet@laptop:~$ screen /dev/ttyUSB0 115200
lhuet@laptop:~$ minicom -b 115200 -D /dev/ttyUSB0
34
#DevoxxFR
Messages de boot
35
#DevoxxFR
Problème de montage ?
Multimètre à la rescousse ...
… mais il faut un signal fixe !
36
#DevoxxFR
Problème de montage ?
L’oscilloscope permet de voir les
signaux “dynamiques” ...
… mais il vaut très cher !
37
#DevoxxFR
Oscilloscope portatif
DSO Nano (< 100 €)
38
#DevoxxFR
Oscilloscope en DIY
DSO 138 en Kit à ~ 25 € !
39
#DevoxxFR
A vous de jouer bricoler
maintenant !
40
#DevoxxFR
Quelques liens 1/2
➔
Cartes Odroid : http://www.hardkernel.com
➔
Carte NanoPi : http://www.friendlyarm.com
➔
OrangePi Zero Plus 2 :
https://fr.aliexpress.com/store/product/Orange-Pi-Zero-Plus-2-H5-Quad-core-Bluetooth-mini-PC-Beyond-Raspberry-Pi-2-Wholesale/1553371_328012
49806.html
➔
Infos multiples sur Linux dans l’embarqué : http://elinux.org
➔
Site Espressif officiel : https://espressif.com/
➔
Site sur les ESP32 : http://esp32.net
➔
Firmata : https://github.com/firmata/protocol
➔
NodeMCU : http://nodemcu.com &
https://github.com/nodemcu/nodemcu-firmware &
https://nodemcu.readthedocs.io/
➔
Site de news : https://hackaday.io
➔
Tableaux de résistances :
http://www.positron-libre.com/electronique/tableaux/tableau-resistance-led.php
41
#DevoxxFR
➔
IDE Arduino : https://www.arduino.cc/en/main/software
➔
Integration ESP8266 dans IDE arduino : https://github.com/esp8266/Arduino
➔
PlatformIO : http://platformio.org/
➔
Zulu Embedded : http://www.azul.com/downloads/zulu-embedded/
➔
Zulu Device API Kit (Device I/O) :
http://www.azul.com/products/zulu-embedded/zdak-downloads/
➔
The Linux Kernel Module Progamming Guide :
https://github.com/bashrc/LKMPG
Quelques liens 2/2
42
#DevoxxFR
Merci / Thanks you
43

Contenu connexe

Tendances

Ch Ti Informatique
Ch Ti InformatiqueCh Ti Informatique
Ch Ti Informatique
guest4a3e86
 
Vocabulaire informatique
Vocabulaire informatiqueVocabulaire informatique
Vocabulaire informatique
henri davroux
 
Vocabulaire informatique
Vocabulaire informatiqueVocabulaire informatique
Vocabulaire informatique
jeanlouis1957
 
Vocabulaire Informatique Gf
Vocabulaire Informatique GfVocabulaire Informatique Gf
Vocabulaire Informatique Gf
guest9a4606
 
Informatique
InformatiqueInformatique
Informatique
toutpetit
 
Informatique Ch Ti
Informatique Ch TiInformatique Ch Ti
Informatique Ch Ti
guestee96c
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatique
Imhotep
 
Workshop ssh (OSSEC)
Workshop ssh (OSSEC)Workshop ssh (OSSEC)
Workshop ssh (OSSEC)
Akram Rekik
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatique
coffeecup
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
Alexandre LAHAYE
 
Vehotech Product Sheet Fr
Vehotech Product Sheet FrVehotech Product Sheet Fr
Vehotech Product Sheet Fr
hottierb
 
Networxx (intro et fin)
Networxx (intro et fin)Networxx (intro et fin)
Networxx (intro et fin)
Cyrille Dupuydauby
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
Christian Charreyre
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
Gaëtan Trellu
 
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
Pôle Systematic Paris-Region
 
Définir un cluster sous hadoop avec apache ambari
Définir un cluster sous hadoop avec apache ambariDéfinir un cluster sous hadoop avec apache ambari
Définir un cluster sous hadoop avec apache ambari
fabricemourlin
 
L'informatique et la_langue_belge
L'informatique et la_langue_belgeL'informatique et la_langue_belge
L'informatique et la_langue_belge
ourbothy
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
Publicis Sapient Engineering
 

Tendances (20)

Ch Ti Informatique
Ch Ti InformatiqueCh Ti Informatique
Ch Ti Informatique
 
Workshop ssh
Workshop sshWorkshop ssh
Workshop ssh
 
Vocabulaire informatique
Vocabulaire informatiqueVocabulaire informatique
Vocabulaire informatique
 
Vocabulaire informatique
Vocabulaire informatiqueVocabulaire informatique
Vocabulaire informatique
 
Vocabulaire Informatique Gf
Vocabulaire Informatique GfVocabulaire Informatique Gf
Vocabulaire Informatique Gf
 
Informatique
InformatiqueInformatique
Informatique
 
Informatique Ch Ti
Informatique Ch TiInformatique Ch Ti
Informatique Ch Ti
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatique
 
Workshop ssh (OSSEC)
Workshop ssh (OSSEC)Workshop ssh (OSSEC)
Workshop ssh (OSSEC)
 
Vocabulaire Informatique
Vocabulaire InformatiqueVocabulaire Informatique
Vocabulaire Informatique
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
 
Vehotech Product Sheet Fr
Vehotech Product Sheet FrVehotech Product Sheet Fr
Vehotech Product Sheet Fr
 
Networxx (intro et fin)
Networxx (intro et fin)Networxx (intro et fin)
Networxx (intro et fin)
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
 
Inforware
InforwareInforware
Inforware
 
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
OSIS18_IoT : RTEMS pour l'IoT professionnel, par Pierre Ficheux (Smile ECS)
 
Définir un cluster sous hadoop avec apache ambari
Définir un cluster sous hadoop avec apache ambariDéfinir un cluster sous hadoop avec apache ambari
Définir un cluster sous hadoop avec apache ambari
 
L'informatique et la_langue_belge
L'informatique et la_langue_belgeL'informatique et la_langue_belge
L'informatique et la_langue_belge
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
 

Similaire à Kit de survie pour l'IoT façon DIY

Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
Christophe Villeneuve
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
laurenthuet
 
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
Jl Salvat
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Fabien Arcellier
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
Johan Moreau
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3
Yannick Comte
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
pprem
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
Xavier MARIN
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
embedded-linux-bdx
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
IBM France Lab
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
PhilippeBrogi
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
AbdellahELMAMOUN
 
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
O10ée
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
gcatt
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
Christophe Catarina
 
Drupal dans l'internet des objets
Drupal dans l'internet des objetsDrupal dans l'internet des objets
Drupal dans l'internet des objets
Christophe Villeneuve
 

Similaire à Kit de survie pour l'IoT façon DIY (20)

Pentest bus pirate
Pentest bus piratePentest bus pirate
Pentest bus pirate
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
 
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
 
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
Présentation Système d’exploitation Open Source Lepton - MEITO Mai 2014
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
 
Drupal dans l'internet des objets
Drupal dans l'internet des objetsDrupal dans l'internet des objets
Drupal dans l'internet des objets
 

Kit de survie pour l'IoT façon DIY