Projets Connectés

Contruire sa Framboise 1/2

Framboise Ok, vous avez fait le tour de la Raspbian, elle vous plait bien, vous avez vos repères, mais il y a un petit problème..il y a beaucoup trop de chose d’installer. Pas de panique, nous allons construire une image de Raspbain minimale, et en mode CLI c’est-à-dire en mode interface de ligne de commande (Command Line Interface). 1. Carte SD 1.1. Choix On commence par se procurer une carte micro-SD de 2Go minimum…et maximum aussi en fait. On crée une partition que l’on formatera en type FAT32 (+/- 50 Mo). 1.2. Préparation On récupère la dernière version du raspBianInstaller, qui correspond à une NetInstall Debian classique basée sur une version Wheezy. On decompresse et copie le contenu sur cette partion FAT32. Nous avons donc 6  fichiers sur notre carte (bootcode.bin – cmdline.txt – kernel.img – loader.bin – README.txt – start.elf). 2. Installation Voici ce moment mémorable où pendant 2 heures vous guettez l’état d’avancement sur votre écran. Inserer la …

Lire la suite »

Toujours plus avec ma Framboise #RaspberryPi

Un détecteur d’ouverture de portes, de mouvements, une sonde température, humidité, un moteur pas à pas, et voilà, il ne reste plus de GPIO de libre. Et si je veux ajouter un LCD, je fais comment? Si comme moi, le nombre de GPIO disponibles sur le Raspberry Pi ne vous convient pas, il est possible d’en rajouter. La puce MCP23017 permet d’ajouter 16 GPIO. Quant à la puce MCP23008, elle permet d’en rajouter 8. Ces puces se connectent au Raspberry Pi en utilisant des GPIO “spéciaux”, dédiés au protocole I²C. Ces deux puces coûtent $1.95 pour le MCP23008, et $2.95 pour le MCP23017 (chez Adafruit, mais on peut trouver encore moins cher).  Seule différence, le MCP23008 se présente sous forme d’une puce à 16 broches, en 2*8, alors que le MCP23017 est une puce à 28 broches, en 2*14. Donc je vous conseillerais le MCP23017. Coté câblage, c’est assez simple. J’ai utilisé le tutoriel d’Adafruit sur l’utilisation du MCP23017. Le MCP23017 est alimenté par du 3.3V : VDD (9) sur la puce et 3V3 sur …

Lire la suite »

Ma framboise en digital

Framboise 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 notre Raspberry peut « lire » en utilisant seulement 4 pins digitales.   …

Lire la suite »

Un thermomètre pour ma framboise

Thermomètre 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{https://www.hamida.info/}. …

Lire la suite »

Ma framboise surveille la porte

Framboise 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{https://www.hamida.info/}. @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 …

Lire la suite »

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. À lire aussi : Fait risette ma framboise

Lire la suite »

Ma framboise suit vos mouvements

Framboise 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{https://www.hamida.info/}. @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 …

Lire la suite »

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 : Reset A reset circuit has been implemented, although in the standard build the required header is not fitted. Users wishing to use this circuit should fit an appropriate header to P6. Shorting P6 pin 1 to P6 pin 2 will cause the BCM2835 to reset. 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 …

Lire la suite »

RaspBerry, mon espion Webcam

Prochaine étape, tout aussi rapide que les précédentes, l’installation de la Webcam sur la RaspBerry. Pour cela, nous utiliserons Motion et ffmpeg. Je dispose d’une Webcam Logitech Pro 5000, bien reconnue par ma Raspbian. # lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter Bus 001 Device 005: ID 046d:08c5 Logitech, Inc. QuickCam Pro 5000 Ma webcam est bien détectée, avec aucune erreur. On installe ensuite les packages nécessaires : #aptitude install motion ffmpeg L’installation terminée, nous nous attaquons au fichier de configuration /etc/motion/motion.conf . En gros, voici ce que j’ai modifié : daemon on # demarrage en mode démon videodevice /dev/video0 v4l2_palette 8 input 8 width 1024 height 768 framerate 10 auto_brightness on threshold 1500 quality 75 ffmpeg_cap_new on ffmpeg_cap_motion off ffmpeg_timelapse 0 ffmpeg_bps 500000 ffmpeg_variable_bitrate …

Lire la suite »

Raspberry Pi, ma nouvelle amie

Après le Arduino, le beaglebone, c’est au tour du RaspBerry Pi de passer sur le banc de test. Tout d’abord, pourquoi cette bestiole là ? Parce que c’est mini pc low cost du moment et que j’avais besoin (pour un projet perso qui arrive et aussi pour garder mes neurones en état) d’un projet domotique. Le Raspberry Pi est donc un mini pc basé sur un processeur ARM. Ce petit ordinateur a été créé afin d’encourager l’apprentissage de la programmation informatique. Il s’agit à l’origine d’un ordinateur basique très peu cher destiné à rendre la pratique de l’informatique accessible à tous. Cependant il s’est révélé être suffisamment ouvert (ports USB voire réseau) et puissant (ARM 700 MHz, 256 Mo de mémoire vive pour le modèle d’origine, 512 Mio sur les dernières versions) pour permettre une grande palette d’utilisations. De plus, sa puce graphique BMC Videocore 4 permet de décoder des flux Blu-ray full HD (1080p 30 images par seconde), d’émuler d’anciennes …

Lire la suite »

BeagleBone : mettre son noyau à jour

Pour ceux qui ont installé une Ubuntu toute fraiche sur leur BeagleBone, quelle surprise de se rendre compte qu’il manque certains »devices » necessaires ( Analogic Input,etc…). Alors voilà, le noyau fourni avec la version Ubuntu est trop vieux, et les mise à jour se font pas fréquentes. Du coup, hopla, un petit script pour faire la mise à jour : ############################################################################ ## This is a script obtained from http://elinux.org/BeagleBoardUbuntu ## ## It updates the kernel on the BeagleBone using Robert C Nelsons Sources ## ## https://github.com/RobertCNelson/stable-kernel ## ############################################################################ #export DIST=precise #(options are lucid/maverick/natty/oneiric/precise/squeeze/wheezy) export DIST=oneiric #export ARCH=armhf #(options are armel/armhf (armhf only for precise)) export ARCH=armel #(options are armel/armhf (armhf only for precise)) #Beagle/Panda #export BOARD=omap #BeagleBone export BOARD=omap-psp wget {DIST}-${ARCH}/LATEST-${BOARD} wget $(cat ./LATEST-${BOARD} | grep STABLE | awk '{print $3}') /bin/bash install-me.sh Executé juste ce script…jusqu’au message « Please Reboot ». Et voilà, votre BeagleBone est à jour. À lire aussi : BeagleBone et debian

Lire la suite »

BeagleBone Ubuntu Firstboot

BeagleBone Et voilà… La carte vient d’arriver dans sa jolie boite. Je la pensais plus grosse et en fait…elle est toute petite, bien plus petite que mon arduino Mega. Le bon côté des choses, ben c’est que ca marche comme prévu. J’avais préparé ma carte SD, lu un peu de doc. Je remplace la carte livrée de base par ma carte, je connecte un terminal dessus (driver windows ici) et magie…. U-Boot SPL 2011.09-dirty (Feb 27 2012 - 10:01:37) Texas Instruments Revision detection unimplemented No AC power, disabling frequency switch OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot 2011.09-dirty (Feb 27 2012 - 10:01:37) I2C: ready DRAM: 256 MiB No daughter card present Conformément à mon précédent billet, les sésames sont bien les bons (ubuntu/temppwd). Hopla, j’y met ma petite carte wifi pour faire un premier test : [ 7.864898] usb 1-1: reset high-speed USB device number 2 using musb-hdrc [ 8.058258] cfg80211: Updating information on frequency 2412 MHz for …

Lire la suite »

BeagleBone et debian

Le BeagleBone est livré avec la distribution linux Ångström installée sur la carte micro-SD de 4Go fournie. Afin de bénéficier d’une distribution plus complète en terme de fonctionnalités, nous avons décidé de changer cette distribution. Après quelques recherches sur les différentes distributions proposées pour l’architecture ARM du BeagleBone, nous vous laissons choisir d’utiliser la distribution basée sur Debian que vous voulez. Quant à nous, nous installerons une Ubuntu. Pour installer Ubuntu sur le BeagleBone, nous avons suivi les instructions de cette page. Les drivers graphiques n’étaient pas disponibles pour la dernière version (12.04, Precise), donc nous avons choisi d’installer la version précédente (11.10, Oneiric). 1. Télécharger la dernière image de la distribution ici. Pour ma part, je prend la dernière version (r9 au 29 Mai 2012): $ wget --2012-05-29 00:20:03-- Résolution de rcn-ee.net (rcn-ee.net)... 69.163.149.169 Connexion vers rcn-ee.net (rcn-ee.net)|69.163.149.169|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 121973032 (116M) [application/x-tar] Sauvegarde en : «ubuntu-11.10-r9-minimal-armel.tar.xz+ 100%[==========================================================================================>] 121 973 032 …

Lire la suite »

BeagleBone

BeagleBone Petit dernier des inventeurs du Beagle Board, à coup sûr le Beagle Bone remplacera notre Arduino! Beagle Bone est une carte plus petite et plus légère tout en restant un puissant ordinateur linux embarqué! Cette carte de developpement dispose d’une interface Ethernet intégré, d’un port host USB, et d’une interface client USB  (un circuit FTDI pour les accès de type shell). Il est même fourni avec une version « préchargée » de Linux Angstrom (sur une carte micro SD de 4 GB), mais on peut y mettre Ubuntu! Cette interface est disponible sur Amazon, chez Adafruit, mais aussi chez Mouser (mon choix). Avec plus d’ 1.5 billion d’opérations Dhrystone et d’opérations vectorielles à  virgules flottantes à la seconde, BeagleBone n’est pas seulement capable de s’interfacer avec tous vos contrôleurs robotiques, vos différents capteurs, système de localisation, ou encore d’appareils photos. Il est aussi capable d’exécuter du code Python, C/C++, OpenCV, OpenNI et autres logiciels de capture et d’analyse d’image permettant de reconnaître les objets autour …

Lire la suite »

Automate pour Aquarium

Voilà, je démarre un projet d’automate pour aquarium à base de carte Velleman. Caractéristiques de l’Aquarium : – Dimensions aquarium : L121 x P51 x H71 cm – Dimensions meuble : L121 x P51 x H74 cm – Volume utile : 346 L – Épaisseur de verre : 10 mm – Poids : 80 kg – Filtre extérieur RENA Filstar xP3 – 1350 L/h – Filtre extérieur EHEIM 2073 Professionnel III – 1050L/h – 1 chauffage RENA SmartHeater 200 W – 2 rampes d’éclairage 4×30 W Caractéristiques de l’Électronique : [download id= »59″] Une sonde Température LM35 (10 mV/°C) + Thermo-couple Une sonde PH PH7 (0,6MV/niveau) 2 Capteurs de niveau Caractéristiques de l’Informatique : – Un simple Asus EEE-PC qui trainait – Ubuntu À lire aussi : BeagleBone

Lire la suite »