POSTED BY ON 19 février 2013 | 0 comments
Dure journée pour Ma...
Tous les samedis soir, la chaîne W9 diffuse plusieurs épisodes de la série les Simpsons. Dimanche dernier, le 17 Février, elle a diffusé le cour...
POSTED BY ON 19 février 2013 | 2 comments
Music is everywhere....
Le voilà le monsieur vu dans le Zapping semaine dernière. Le percussioniste Jorge Perez joue de la musique avec les paires de fesses de quatre...
POSTED BY ON 20 novembre 2012 | 0 comments
Un jour, il n’...
Si nous étions en 1900 et que quelqu’un vous disait : un jour, nous pourrons marcher sur la lune ! Vous auriez certainement beaucoup ri. Et...
POSTED BY ON 14 novembre 2012 | 0 comments
Qui va garder les en...
Aujourd’hui seuls 10% des enfants de moins de trois ans ont une place en crèche. 63% d’entre eux sont gardés par un de leurs parents –...
POSTED BY ON 13 novembre 2012 | 0 comments
2 belles Fiat 500 po...
A l’occasion du salon du tuning de Las Vegas, le SEMA Show 2012, Fiat présentera différents modèles de la Fiat 500 aux américains. Pour rappel,...
POSTED BY ON 11 novembre 2012 | 0 comments
FRIENDLY LYON
Ensemble faisons de Lyon la ville la plus célèbre du web ! Le destin de Lyon n’est pas plus simple que celui du fleuve. Toute ville, sans doute,...
POSTED BY ON 3 novembre 2012 | 0 comments
Japan Touch
La Japan Touch, une des plus anciennes conventions japonaises de France, double sa surface pour sa 14e édition et s’installe sur 10 000 m2 et deux...
POSTED BY ON 2 novembre 2012 | 0 comments
#NSFW Seat Russie fa...
Un concessionnaire Seat russe vient de diffuser (certainement sans l’accord de la maison mère) une publicité très sexy, avec le...
POSTED BY ON 24 octobre 2012 | 0 comments
Von Follies by Dita ...
Dita Von Teese, icône glamour et star de l’effeuillage burlesque, lance sa ligne de lingerie. Soutiens-gorge, culottes et string,...
featured news
Prev NextRaspberry Pi
A voir, beaucoup de billets sur http://www.lo-geek.fr
Comment installer une Raspbian sur une framboise (raspberry pi), la configurer, la transformer en serveur web (install), et le sécuriser un minimum.
N’hésiter pas à suivre ce blog qui prend la relève de celui ci.
A très vite
C’est logique !!!
Ha lala… .Sacré blog.
Initialement Highlanders.org (il y a bien 16 ans de cela), changeant régulièrement pour devenir demain Lo-Geek.fr
La maison du Geek, sa loopback. Le serveur, le site, les articles, tout est migré et surtout, fonctionnel.
A très bientôt
Des nouvelles du blog
Comment ça, il n’y a plus d’articles depuis le 6 Mars 2013???? Et comment tu l’expliques, hein??!!
Tout simplement. Le 8 Mars 2013 est née ma fille Sarah, j’ai donc préféré passer ses 3 premières semaines à me consacrer entièrement à elle.
Elle a aussi droit à son blog privé et à 1 billet posté par jour, avec une photo. Cela lui fera de magnifiques souvenirs.
Sinon, dans mon panier, j’ai plein de nouvelles choses à écrire. J’ai bien avancé avec ma Framboise et ses capteurs. Le but étant de créer un boitier domotique relevant un certains nombre d’éléments (ouverture de la porte, luminosité, températures, détecteur de mouvements, commutation de prises électriques à distance, etc. …) le tout, administrable depuis une interface web. C’est bien sur ce dernier point que j’avance le moins rapidement (âme charitable pour participer au projet avec moi?).
Et en parlant de blog, la suite de ce blog sera sur www.lo-geek.fr
Ma framboise en digital
Nos framboises ne disposant pas d’entrées digitales, le seul moyen de faire des lectures analogiques est d’utiliser un ADC (ADC signifie « Analog to Digital Converter » autrement dit « Convertisseur Analogique vers Digital »).
Petit defaut du Raspberry, il est purement digital a contrario des Arduino, AVR ou microcontroleur qui eux disposent souvent d’au moins 6 entrées analogiques.
Les entrées analogiques sont pratiques parce que beaucoup de sondes utilisent des sorties analogiques (photorésistance, des senseurs de forces, des potentiomètres ou des résistances sensibles à la chaleur, etc…), il est donc important de faire en sorte que le Raspberry soit aussi capable de faire des lectures analogiques, même si celles-ci sont assez souvent moins précises.
Cela est donc possible en connectant une puce MCP3008 sur notre framboise comme je l’ai fait avec la sonde température LM35.
Le MCP3008 agit donc comme un « pont » entre le monde digital et analogique. Il dispose de 8 entrées analogiques que nos Raspberry peut « lire » en utilisant seulement 4 pins digitales.
![]() |
![]() |
Pour pouvoir lire des données analogiques nous devons utiliser les broches suivantes pour alimenter la puce MCP3008:
- VDD (alimentation),
- DGND (digital ground, masse digitale).
Nous avons aussi besoin de 4 broches/pins pour les données ‘SPI’:
- DOUT: broche « Data Out », sortie de donnée de la puce MCP3008,
- CLK : broche « Clock » pour le signal d’horloge,
- DIN : broche « Data In », entrée des données dans la puce MCP3008, données provenant du Raspberry Pi,
- /CS : broche « Chip Select », qui permet d’activer la puce.
Les sources de donnée analogiques sont quant à elles reliées au pin CHx.
Le MCP3008 a quelques broches complémentaires qui doivent aussi être connectées:
- AGND: (analog ground, masse analogique), broche quelque-fois utilisées dans les montages de précision.
- VREF: tension de référence. Utilisée pour changer l’échelle de mesure de la tension.
Comme nous désirons une mesure sur l’échelle complète, nous raccordons VREF à 3.3V
Un thermomètre pour ma framboise
Encore un autre morceau de PYTHON pour ne pas le perdre.
Cette fois ci, il s’agit d’une sonde température LM35.
En terme de sonde température, nous avons le choix entre de l’analogique (le cas du LM36, LM36…) et du digital (DS18B20, DS1621…).
Or, notre framboise ne fait que du digital… Pour exploiter l’analogique, il faut un MCP3008 qui permet d’ajouter 8 sondes analogiques en utilisant que 4 pin GPIO.
A terme, je conseille d’opter pour le digital, plus précis et plus simple, mais en attendant, rien ne nous empêche de faire mumuse, et surtout de se faire la main sur le MCP3008… Coté câblage, nous avons donc ceci :
Coté code, c’est la dessous :
#!/usr/bin/python
################################################################################
# PROJECT: Babyroom - FILE: sonde_temperature.py - CREATION: 2013/03/02
# Ce fichier est sous licence GPL.
# $Id$
################################################################################
"""
Sonde temperature sur le port 0 du MCP3008 avec enregistrement dans un fichier de log
Ce fichier de log est a destination de rrdtool.
U{http://www.antalgeek.fr/}.
@version: 1.0
@author: U{Mehdi HAMIDA (idem) <idem@highlanders.org>}
"""
# Import required Python libraries
import time
import os
import RPi.GPIO as GPIO
import glob
import datetime
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
#DEBUG = 1
DEBUG = 0
# read SPI data from MCP3008 chip, 8 possible adc's (0 thru 7)
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
if ((adcnum > 7) or (adcnum < 0)):
return -1
GPIO.output(cspin, True)
GPIO.output(clockpin, False) # start clock low
GPIO.output(cspin, False) # bring CS low
commandout = adcnum
commandout |= 0x18 # start bit + single-ended bit
commandout <<= 3 # we only need to send 5 bits here
for i in range(5):
if (commandout & 0x80):
GPIO.output(mosipin, True)
else:
GPIO.output(mosipin, False)
commandout <<= 1
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout = 0
# read in one empty bit, one null bit and 10 ADC bits
for i in range(12):
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout <<= 1
if (GPIO.input(misopin)):
adcout |= 0x1
GPIO.output(cspin, True)
adcout /= 2 # first bit is 'null' so drop it
return adcout
# change these as desired - they're the pins connected from the
# SPI port on the ADC to the Cobbler
SPICLK = 18
SPIMISO = 23
SPIMOSI = 24
SPICS = 25
# set up the SPI interface pins
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPICS, GPIO.OUT)
# temperature sensor connected channel 0 of mcp3008
lm35_adcnum = 0
try:
print "TEMPERATURE SENSOR (CTRL-C to exit)"
while True:
type_sonde = "sonde_temperature"
logfile = "/data/rrd/log/"+ type_sonde +".log"
# read the analog pin (temperature sensor LM35)
read_lm35 = readadc(lm35_adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS)
# convert analog reading to millivolts = ADC * ( 3300 / 1024 )
lm35mv = read_lm35 * ( 3300.00 / 1024.00)
# 10 mv per degree
lm35_C = (((lm35mv) / 10.00)-1.50) #LM35
# remove decimal point from millivolts
lm35mv = "%d" % lm35mv
# show two decimal place for temprature and voltage readings
lm35_C = "%.2f" % lm35_C
print "temp_C:\t\t", lm35_C
output_file = open(logfile, "w")
output_file.write(lm35_C)
output_file.close()
if DEBUG:
print "LM-35 :\t ADC:",read_lm35,"\t MV:",lm35mv,"\t C:",lm35_C
time.sleep(5)
except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()
bla
Ma framboise surveille la porte
Mon second code en PYTHON. Il s’agit de la mise en place d’un détecteur d’ouverture de porte.
Le montage est encore plus simple que celui du détecteur de mouvements :
#!/usr/bin/python
################################################################################
# PROJECT: Babyroom - FILE: detection_intrusion.py - CREATION: 2013/03/02
# Ce fichier est sous licence GPL.
# $Id$
################################################################################
"""
Detection d'intrusion sur le GPIO 17 avec enregistrement dans un fichier de log
Ce fichier de log est a destination de rrdtool.
U{http://www.antalgeek.fr/}.
@version: 1.0
@author: U{Mehdi HAMIDA (idem) <idem@highlanders.org>}
"""
# Import required Python libraries
import time
import RPi.GPIO as GPIO
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
DOOR_PIN = 17
print " INTRUSION DETECTEE (CTRL-C pour sortir)"
# Set pin as input
GPIO.setup(DOOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Echo
print " Pret"
try:
# Loop until users quits with CTRL-C
while True :
type_sonde = "detection_intrusion"
logfile = "/data/rrd/log/"+ type_sonde +".log"
if GPIO.input(DOOR_PIN):
print " Intrusion detectee!"
output_file = open(logfile, "w")
output_file.write("1")
output_file.close()
else:
output_file = open(logfile, "w")
output_file.write("0")
output_file.close()
time.sleep(0.5)
except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()
Fait risette ma framboise, suite
Aussitôt dit, aussitôt fait, voici donc une framboise qui fait risette.
![]() |
![]() |
Vous remarquez ces jolis petits dissipateurs que j’ai ajouté afin de protéger ma Raspberry, c’est vraiment pratique et je gagne 15°C simplement.
Ma framboise suit vos mouvements
Objets principaux de mon blog : ne pas oublier et partager…
L’un des premiers fichiers en PYTHON que j’ai fait. Il s’agit de la mise en place d’un détecteur de mouvement (PIR).
Le montage est le suivant (extrêmement simple hein):
Mon PIR est sur 3,3V, mais la plupart sont sur du 5V, tout dépend de votre modèle.
Le code est le suivant (on pourra ensuite le compléter avec des actions sur la détection de mouvements):
#!/usr/bin/python
################################################################################
# PROJECT: Babyroom - FILE: detection_mouvements.py - CREATION: 2013/03/04
# Ce fichier est sous licence GPL.
# $Id$
################################################################################
"""
Detection de mouvements sur le GPIO 4 avec enregistrement dans un fichier de log
Ce fichier de log est a destination de rrdtool.
U{http://www.antalgeek.fr/}.
@version: 1.0
@author: U{Mehdi HAMIDA (idem) }
"""
# Import required Python libraries
import time
import RPi.GPIO as GPIO
################################################################################
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi (mon PIR est sur la Pin 4)
GPIO_PIR = 4
print " MOUVEMENT DETECTE (CTRL-C pour sortir)"
# Set pin as input
GPIO.setup(GPIO_PIR,GPIO.IN) # Echo
print " Pret"
try:
# Loop until users quits with CTRL-C
while True :
type_sonde = "detection_mouvements"
logfile = "/data/rrd/log/"+ type_sonde +".log"
if GPIO.input(GPIO_PIR):
print " Mouvement detecte!"
output_file = open(logfile, "w")
output_file.write("1")
output_file.close()
else:
output_file = open(logfile, "w")
output_file.write("0")
output_file.close()
time.sleep(1) # every 1 sec
except KeyboardInterrupt:
print " Quit"
# Reset GPIO settings
GPIO.cleanup()
Adaruit et la belle Limor FRIED
Article NON sponsorisé
Je voulais faire un billet pour LadyAda (Limor FRIED), créatrice d’Adafruit , et élue entrepreneur de l’année 2012 par la revue The Entrepreneur. C’est pour cette raison qu’elle a fait, le mois dernier, la couverture du MagPi N°9 (PDF).
Ça se passait sur le site http://www.themagpi.com/, et au sommaire pour le numéro de février 2013 :
(N’hésitez pas, le numéro de mars fête l’anniversaire de MagPi)
Pour quoi ce billet? Parce que j’achète la plupart de mon électronique chez eux, parce que les prix sont très attractifs, le SAV est génial, et le support au top.
C’est sur http://learn.adafruit.com/category/raspberry-pi que vous trouverez tout ce que fait la force de Adafruit, les tutoriels. Un vraie mine d’informations qui valent de l’or.
Fait risette ma framboise
En me baladant du coté des réf de ma Raspberry Pi, je suis tombé sur cette page. Ma première framboise ayant eu des soucis (Made in China), j’en ai commandé 2 nouvelles..made in UK (Sony & Farnel). Il me manquait 2 choses : une alimentation stabilisée, et un bouton On/Off. Une fois la Raspberry arrêtée pour la redémarrer je devais débrancher puis rebrancher le câble USB. Je suis tombé sur ce paragraphe :
En voila une nouvelle qu’elle est bonne. Regarder bien, en bas, entre le régulateur et le port HDMI… 2 petits trous spécialement conçu pour souder un joli bouton RESET. Mais si, regardé mieux, la communauté le sait depuis 2 mois et je ne le savais pas :
Elle est pas belle la vie?













