Mot-clé - Electronique

Fil des billets - Fil des commentaires

Mardi, juin 16 2015

Mise à jour de RaspiO'Mix : RaspiO'Mix+

RaspiO'Mix est, comme son nom l'indique, l'évolution logique de RaspiO'Mix pour les RaspberryPi dit « Plus » et Raspberry 2.

RaspiO'Mix est une carte fille (également appelé hats) pour RaspberryPi qui vous permet de connecter vos capteurs / actionneurs Grove (le système Grove chez Lextronic) au Raspberry simplement, sans connaissance en électronique.
RaspiO'Mix est un projet libre et ouvert, tous les plans sont disponibles en ligne.

product-plus.png

Caractéristiques

  • Compatible Raspberry A+, Raspberry B+, Raspberry 2
  • 8 entrées / sorties tolérantes 5V
  • 8 entrées analogiques, 0-5V, 18 bits de résolution
  • 2 entrées numériques via DIP switch
  • Horloge temps réel avec batterie de sauvegarde
  • 3 connecteurs pour I2C
  • 1 connecteur pour communication série
  • Alimentation 5V via jack ou bornier à vis

Utilisation en Python

Des exemples en Python sont présents sur GitHub et vous montreront à quel point il est simple de dialoguer avec les capteurs / actionneurs Grove.

Par exemple, pour faire clignoter une LED présente sur le port IO0 et afficher la valeur analogiques lue sur le port AN0.

# On importe les librairies qui nous seront utiles
from raspiomix import Raspiomix import RPi.GPIO as GPIO import time
r = Raspiomix()
GPIO.setmode(GPIO.BOARD)
# On configure le port IO0 de RaspiO'Mix en sortie GPIO.setup(r.IO0, GPIO.OUT)
# Et on boucle ! while True: GPIO.output(r.IO0, not GPIO.input(r.IO0))
print("%f Volt !" % r.readAdc(0))
time.sleep(1)

Difficile de faire plus simple ! Non ?

Plus d'informations

Tout ce dont vous avez besoin pour avancer avec RaspiO'Mix+ est disponible sur le site www.raspiomix.org :

Et bien entendu, pour commander votre RaspiO'Mix+, cela se passe sur www.raspiomix.org !

Lundi, juin 15 2015

Présentation des OpenAlarm Node

Voilà enfin des nouvelles de OpenAlarm, mais le projet n'est pas mort, loin de là mais ce n'est pas mon seul projet et ça ne permet pas vraiment de payer mes factures, soyez donc patient, ou mieux, participez !

Funky v3

Pour le développement des modules capteurs que j’appellerai maintenant OpenAlarm Node ou pour faire plus court, « Node », je me suis basé sur l'excellent travail de Martin au sujet de module autonome basé sur des RFM12 : les Funky (en version 3), ces derniers sont très petits (un des premiers critères de choix) et consomme très peu (autre critère important) et pour finir, ils sont architecturés autour de microcontrôleurs ATMega, on peut donc bénéficier de la simplicité de développement de l'environnement Arduino...

funky_v3.jpg
Source de la photo

Caractéristiques (source) :

  • Poids de 3gr
  • Compatible avec Arduino
  • Microcontrôleur ATMega32U4, le même que celui utilisé sur l'Arduino Leonardo
  • Pas besoin de programmateur externe, programmation directe via USB
  • Utilisation des modules radios 433/868Mhz RFM12B
  • Peu être utilisé avec le nouveau module RFM69CW
  • Fonctionne à 8Mhz, et peut être alimenté via 2.7V - 3.3V, dont les piles boutons
  • Mode faible consommation
  • La version "step-up" inclu la version 3.3V du LTC3525 boost regulator.

Les Funky v3 étant libre, j'ai donc fabriqué mes propres modules afin de les tester et faire quelques mesures avec.

2015-06-15_10.53.06.jpg
Un de mes modules Funky v3 fait maison

J'ai effectué de multiples tests logiciel, notamment, afin d'obtenir au moins les même résultats annoncé de Martin concernant la faible consommation de ces modules.

La course à la consommation moindre

À quoi bon avoir un module autonome capable de détecter l'ouverture d'une porte si ce dernier demande à être rechargé toutes les semaines et donc retiré momentanément de son service ?

Il est donc essentiel que les modules capteurs de OpenAlarm soit très peu gourmand en énergie.

Le microcontrôleur central des OpenAlarm Node dispose d'un BOD (Brown-out Detection permettant de détecter une tension d'alimentation faible, très utile pour éviter les erreurs d'exécution du micrologiciel embarqué), sans BOD activé, il est possible de descendre la consommation à 5µA, en l'activant, on perd 20 µA mais avec une sécurité supplémentaire, si la tension descend en dessous du seuil configuré, l'AVR entre en veille, garantissant le bon fonctionnement général du programme.

Une solution intéressante aurait été de pouvoir désactiver le BOD durant les périodes de veille via un appel de fonction (sleep_bod_disable()), malheureusement, c'est uniquement possible sur les AVR suffixés d'un P comme Picopower et aucun AVR Mega intégrant un contrôleur USB ne fait parti de cette famille...

Une vue de la consommation pendant une phase d'émission, on remarque un pic de consommation à gauche au moment de la sortie de veille et les pics de conso lors de l'émission du module radio à droite :
TEK00000.PNG

LDO

Un régulateur LDO (Low DropOut) permet de travailler avec une tension d'entrée proche de celle en sortie, il permet dans la node OpenAlarm l'alimentation du montage en convertissant le 5V du port USB en 3.3V.

Dans le design de Martin, au choix, il est possible d'intégrer un MCP170X ou un XC2606 (même brochage) mais dans les 2 cas, j'ai eu quelques soucis...

Le MCP1700 / MCP1703 induit un courant de fuite et la consommation monte en flèche (voir les articles de Martin à ce sujet : High sleep current issue with Funky v2 sorted out, Funky v2’s LDO to blame for high sleep current. Now fixed et Every μA counts).

Le XC6206 est le plus intéressant car il induit une perte de seulement 10µA, ainsi, à 4V, sans LDO, l'AVR en veille, la carte ne consomme que 5.5µA, avec le LDO, on passe à 15µA...

Afin d'éviter un courant de fuite s'échappant via le LDO lors de l'utilisation sur batterie, une idée serait de mettre une diode Schottky (diode à faible chute de tension) en sortie du régulateur, mais il faut qu'elle est des caractéristiques qui nous conviennent bien, c'est à dire une tension directe la plus faible possible et un courant de fuite le plus faible possible (un article à ce sujet Reverse diode current), une diode ayant des caractéristiques intéressantes est la RB751S40 avec vf ~ 300mV et un courant de fuite de 300nA.

Les tests avec cette diode se sont montrés concluants, elle est donc embauchée pour cette tâche !

Mosfet

Le Mosfet est uniquement utilisé pour réduire le courant au démarrage en désactivant le RFM, il est activé une fois l'AVR démarré via logiciel.

Article de Martin à ce sujet : Funky v2 rev 1

Ma version

Basé sur mes tests, j'ai décidé de faire une version légèrement différente pour les OpenAlarm Node :

  • Réduire au maximum la taille
  • Intégrer le port USB dans le PCB afin de gagner en taille / épaisseur / cout (on verra ce que ça donne au niveau solidité mais ayant déjà cassé un port physique sur un Funky, je doute que cela soit pire)
  • Dissocier la partie alimentation du Node en lui même, selon moi, le type d'alimentation dépend avant tout de l'utilisation finale qui va en être fait, exemple :
    • Un Node situé à proximité immédiate d'une source de courant n'a pas besoin d'emmener avec lui des régulateurs ("step-up" comme dans le Funky).
    • Je souhaite alimenter mon module avec une batterie au plomb de 12V, idem, pas besoin de composant en plus
    Au final, les OpenAlarm Node sont conçu afin de pouvoir supporter des cartes filles qui pourront intégrer une partie pour la gestion de l'alimentation.
  • Ajouter une LED afin d'en avoir 2 (rouge et verte), pratique pour indiquer des états sur nos capteurs
  • Des points d'accroches sécables
  • Les broches des ports accessibles facilement en périphérie de la carte au pas de 2.54mm

Voici le schéma de principe qui diffère assez peu de celui des Funky v3 (ajout d'une diode après le régulateur LDO et d'une LED) :
schema.png

Et le PCB, recto / verso :
pcb.png

Une vue 3D à l'échelle avec une pièce de 1 euro :
gerber.png

On remarque le port microUSB réalisé directement dans le PCB, ce dernier faisant 0.8mm d'épaisseur.

Le circuit est légèrement plus petit que le Funky v3 et il est simple d'accéder au broches des ports qui sont matérialisés par les 14 pads à droite et à gauche de la carte.

Le bouton de reset est placé sur la gauche, les leds sont à droite du connecteur USB.

Et la base ?

Oui, c'est bien beau d'avoir des modules autonomes de détection mais où est la base recevant les informations des Nodes ? Et bien, pour le moment, il n'y en a pas ! Il suffit d'utiliser un Node branché directement sur le port USB d'un PC (RaspberryPi par exemple) et voilà, nous avons notre base...

Cette solution à beaucoup d'avantages (cout, facilité, etc...) et n'empêche en rien de créer une base par la suite, elle permet surtout d'avoir quelque chose de fonctionnel malgré le temps dont je ne dispose pas toujours pour avancer sur le projet.

Où en est-on ?

Les PCB sont en cours de fabrication, puis, viendra la phase d'assemblage des cartes, de tests et enfin, un nouvel article...

En attendant, tout est disponible sur GitHub !

Compléments d'informations

Mercredi, mai 27 2015

Piloter des prises électriques via un Raspberry

Comment piloter des appareils branchés sur le secteur simplement et surtout sans risque directement via un Raspberry (bien entendu, ça marche avec n'importe quoi d'autre, Arduino, etc...) ?

On pourrait utiliser un relais, un triac, mais ça ne me plait guère, on doit pouvoir faire plus simple et plus sécuritaire... Et si nous utilisions tout simplement des prises commutables à distance du commerce, nous n'aurions plus à nous soucier de l'aspect isolation vu que l'appareil se pilote à distance et est censé avoir passé des tests de conformité CE...

D'autant plus que ces prises télécommandées ne valent pas grand chose, il est facile de trouver un lot de 3 pour moins de 15€ comme celle ci-dessous :

blister.jpg

Une fois les prises télécommandées en notre possession, 3 solutions s'offrent à nous :

  1. Ouvrir les prises et les piloter directement via un signal logique : Mauvaise idée, on perd l'avantage de l'isolation
  2. Sniffer le signal radio lors de l'appui sur une touche et le reproduire
  3. Piloter directement la télécommande en simulant des touches

N'ayant pas de quoi reproduire le signal sniffé sur le moment, j'ai choisi la dernière solution qui implique un démontage de la télécommande.

L'intérieur de la télécommande :
Recto de la carte électronique Verso de la carte électronique

Le coeur de la carte est un HT46R01T3 de Holtek, un microcontrôleur embarquant une partie radio, avec ce dernier, nous trouvons un peu de composant passif, un quartz, des boutons et voilà, vous avez une télécommande « qui fait le job » pour 2 kopeck.

Le schéma de la carte :
schema.png

Nous avons 6 boutons, 3 boutons à gauche pour allumer la prise correspondante et 3 autres boutons à droite pour les éteindre.
Les boutons sont reliés aux broches 2, 3, 4 et 5 via les diodes (D1 à D6) correspondant aux pin PA0 à PA3 du circuit intégré, 6 boutons présents mais seulement 4 entrées utilisées sur le microcontrôleur, cette ruse est possible grâce du diodes: 3 entrées servent à connaitre la prise sélectionnée et une autre indiquent s'il s'agit du bouton OFF.

État des broches en fonction de appuis sur les touches :

Boutons Pin 2 Pin 3 Pin 4 Pin 5
ON1 1 1 0 0
OFF1 1 1 0 1
ON2 1 0 1 0
OFF2 1 0 1 1
ON3 0 1 1 0
OFF3 0 1 1 1

Afin de simuler des appuis sur les touches tout en gardant possible l'utilisation des boutons de la télécommande, nous allons court-circuiter brièvement les boutons, pour cela, je vais utiliser un circuit intégré très pratique, le 4066, un quadruple switch analogique dont voici le schéma :
Contenu du 4066

Il contient donc 4 interrupteurs pilotable via des broches directement via des signaux logiques, la technologie CMOS du 4066 nous permet une connexion direct à notre Raspberry.

Connexion entre le 4066 et le Raspberry

En rouge, on retrouve les points vu plus haut dans le schéma de la télécommande, en vert, il s'agit des liaisons avec le port GPIO (P1) du Raspberry, concernant l'alimentation, c'est assez simple, la télécommande étant alimentée via une pile bouton de 3V, on va utiliser directement les 3V issu du Raspberry.

Un petit bout de code Python (outlet.py) et vous pouvez piloter vos télécommandes :

$ python
>>> from outlet import Power_Outlet
>>> po = Power_Outlet()
>>> po.on(0)
>>> po.off(1)
>>> 

Le tout sur une plaque d'expérimentation :
final.jpg

Dimanche, mars 22 2015

Réduire une caméra IP Foscam FI9803P

J’ai acheté une caméra IP pour mettre à l’extérieur de la maison. Elle dispose d’une excellente définition et elle est étanche. Parfait. Bon par contre, je la trouve un peu trop imposante.

La caméra, mais ça c'était avant..
La caméra, mais ça c’était avant..

Au moment de l’installer, un problème se présente. Les câbles sortant de la caméra font environ 20cm. On se retrouve donc avec une prise de courant basse tension, une prise RJ45 et un bouton de reset qui pendouille derrière la caméra. Pour faire quelque chose de propre, il faudrait mettre un boitier électrique pour protéger la connectique. C’est nul :(

Une autre alternative, c’est d’ouvrir sa caméra pour voir ce que l’on peut faire pour rallonger les connecteurs.

Bye bye la garantie
Bye bye la garantie

 

Oh, tient c’est amusant, l’électronique tient dans la tête de la caméra, le reste, c’est … vide… Surement une astuce marketing pour faire croire que c’est un « gros » produit, pro ! Et bien moi je veux une petite caméra discrète avec des câbles plus longs pour traverser un mur.

Problème 1: Boitier trop gros

Solution 1: Scie à métaux

Coupez !
Coupez !

Ensuite on recolle les morceaux restant avec du mastic epoxy chargé de fibres, on ponce et on peint. J’ai conservé le fond de la caméra et les 22 premiers millimètres derrière la tête. Sacré cure d’amaigrissement !

La nouvelle boite mise en peinture
La nouvelle boite mise en peinture

 

Le reste est devenu inutile

ça ne sert à rien
ça ne sert à rien

 

Seules ces pièces sont utiles

 

Les restes
Les restes

 

On peint tout, même le pied de fixation

En peinture
En peinture

 

Ensuite on découpe et recolle l’ancienne fixation

Collage
Collage

Problème 2: La longueur des fils

Solution 2: 1m de câble RJ45, un peu de soudure et hop…

Rallonge ton câble
Rallonge ton câble

 

On remonte le tout pour tester. Tout est OK

On teste
On teste

 

 

Voilà, ma caméra est terminée. Elle n’est pas mimi ma mini foscam :-)

L'ensemble
L’ensemble

 

Finie
Finie

 

Comme quoi un peu de DIY peut venir à bout de stupidités marketing. Hey Foscam ! au lieu de faire des gros boitiers inutiles, rallonge tes connecteurs…

Vendredi, février 20 2015

Des nouvelles de RaspiO'Mix

J'ai peu donné de nouvelle récemment, notamment au sujet de RaspiO'Mix et pourtant, il y a à dire...

Un site dédié

Un site dédié permet de commander directement les RaspiO'Mix : www.raspiomix.org, tant qu'il y a du stock, vous recevrez votre RaspiO'Mix en 48h.

Je n'exclus pas de proposer les RaspiO'Mix aux revendeurs intéressés, merci de me contacter directement.

Librairie Python

La librairie Python à quelque peu évoluée et est devenue encore plus simple.

Pour lire une tension sur une des entrées analogiques suivi d'une lecture des 4 entrées analogiques :

$ python
>>> from raspiomix import Raspiomix
>>> r = Raspiomix()
>>> r.readRtc()
2014-11-12T20:41:26
>>> print(r.readAdc(0))
[4.0669732000000005]
>>> print(r.readAdc((0, 1, 2, 3)))
[4.066934600000001, 0.010923800000000001, 0.08515160000000001, 0.2866822]
>>> 

Cette librairie est disponible sur GitHub : GitHub / RaspiOMix / raspiomix.py

RaspiO'Mix+

Présentation

RaspiO'Mix poursuit son évolution avec la RaspiO'Mix+ créés pour être utilisée comme vous pouvez vous en douter avec un Raspberry+.

J'ai repris le tableau d'un précédent article sur RaspiO'Mix comparant cette dernière avec la carte GrovePi :

Fonctionnalité GrovePi RaspiO'Mix RaspiO'Mix+
Entrées / Sorties 7 4 8
Entrées analogiques 3 4 8
Résolution CAN 10bits 18bits 18bits
Lignes I2C 4 2 3
Lignes série 1 1 1
Horloge Non Oui (via DS1307) avec batterie de sauvegarde Oui (via DS1307) avec batterie de sauvegarde
Interrupteur 0 2 2
Alimentation via le Raspberry via le Raspberry ou une prise jack / bornier via le Raspberry ou une prise jack / bornier
Option - - Capteur I2C TMP10

Note: GrovePi+, l'évolution pour RaspberryPi+ possède les même caractéristiques que GrovePi.

RaspiO'Mix+ est au format Raspberry HATs+ et donc bien plus petite que la version originale, la densité de composants est donc plus forte.

RaspiO'Mix comparée à RaspiO'Mix+ :
Comparatif de taille RaspiO'Mix vs RaspiO'Mix+

Une carte RaspiO'Mix+ sur un RasberryPi :
RaspiO'Mix+ sur un RaspberryPi+

En détail

Le schéma de principe :
schema.png

J'ai ajouté un deuxième MCP3424 afin de doubler le nombre d'entrées analogiques, un second convertisseur de niveau à 4 entrées / sorties (TXB0104PWR) rejoint le TXS0108PWR et sera utilisé pour les entrées sorties de type Push / Pull (le TXS0108PWR ayant un mode haute impédance).

Une EEPROM série rejoint la carte afin de répondre à la spécification HAT mais je ne sais pas si elle sera montée sur les cartes (quoiqu'il arrive, son emplacement sera laissé sur le pcb).

J'ai également ajouté un capteur de température I2C (TMP10x) sous la carte permettant la mesure de la température rayonnée par le Raspberry mais le circuit intégré ne sera pas disponible de série, ou alors, uniquement en option (sauf si j'arrive à les obtenir par quantité à un coût intéressant).

La suite

Pour le moment, la carte RaspiO'Mix est fonctionnelle mais non disponible à la vente, quelques modifications sur l'emplacement des composants sur le pcb doivent encore être faite (merci Seeedstudio de proposer des librairies Eagle légèrement foireuse).

Vendredi, août 1 2014

RaspiO'Mix ou GrovePi ?

On m'a demandé par courriel quelles étaient les différences entre le RaspiO'Mix et la carte GrovePi et j'ai pensé qu'il serait intéressant d'en faire un article...et je vais tâcher de faire un effort pour rester objectif, promis !

raspiomixvsgrovepi.png

Tout comme RaspiO'Mix, GrovePi vous permet de connecter vos modules Grove à votre Raspberry, même finalité mais choix technique différent : là ou RaspiO'Mix utilise directement les entrées / sorties du Raspberry, GrovePi utilise en fait un ATMega jouant le rôle d'intermédaire entre le Raspberry et le monde extérieur via une liaison I2C.

L'avantage pour l'un, c'est que GrovePi utilise moins d'entrées / sorties et du coup, vous pouvez les utiliser pour autre chose, l'inconvénient, c'est qu'on ne les pilote par directement, supprimant certaines fonctionnalités des IO du PI.

RaspiO'Mix fait office d'interface direct entre le Raspberry et le monde extérieur, vous pouvez donc utiliser des lignes de commandes, du Python, ce que vous voulez sans avoir à passer par une librairie spécialisée, en gros, pour faire cours, vous n'avez pas besoin d'utiliser un drivers contrairement à GrovePi.

Détails sur le mapping des ports : RaspiO'Mix et GrovePi.

Fonctionnalité GrovePi RaspiO'Mix
Entrées / Sorties 7 4
Entrées analogiques 3 4
Résolution CAN 10bits 18bits
Lignes I2C 4 2
Lignes série 1 1
Horloge Non Oui (via DS1307) avec batterie de sauvegarde
Interrupteur 0 2
Alimentation via le Raspberry via le Raspberry ou une prise jack / bornier

Flag_of_France.svg.png
Autre chose importante, les RaspiO'Mix sont fabriquées en France !
oshw-logo-100-px.png
Dans les 2 cas, GrovePi et RaspiO'Mix sont des projets OpenSource et OpenHardware et vous pouvez retrouver toutes les sources sur GitHub : GitHub / GrovePi et GitHub / RaspiO'Mix

Les cartes RaspiO'Mix sont disponibles à la vente sur le site www.raspiomix.org.

Vendredi, janvier 10 2014

OpenAlarm : Un système d'alarme libre

Après de multiples recherches sur Internet, je m'avoue vaincu : pas moyen de trouver un système d'alarme libre suffisamment avancé et les systèmes propriétaires sont beaucoup trop chères, même d'occasion...

Bien sûr, il reste les systèmes d'alarmes bas de gamme mais que valent t'ils vraiment face à des pros du vol qui connaissent bien les parades...

J'ai donc décidé de développer mon propre système libre, les toutes premières briques ont été posées sur le wiki SystèmeDAlarmeLibre et dans cet article, je vais détailler mes choix.

Cahier des charges

  • Multi-zones sans fil, hors de question de tirer des cables partout, il faudra donc prévoir des capteurs autonomes en énergie et capable de communiquer avec la base par radio
  • Système d'avertissement local sonore et lumineux ainsi qu'un envoi de SMS avec détail sur l'incident (zone, type d’évènement, horodatage)
  • Type de capteurs : Infra rouge (PIR), ouverture (reed switch), vibration, sonore, lumière, fumée, fuite d'eau et pourquoi pas la température et l'humidité
  • Communications sécurisées : Multi-bandes et il ne doit pas être possible de brouiller la bande de fréquences utilisée sans déclencher d'alerte, on ne doit pas pouvoir forger de faux messages de « tout va bien »
  • Alarmes techniques en cas de batterie faible des capteurs autonomes ou perte du signal d'un capteur
  • Watchdog : La centrale doit être capable de se sortir elle même d'un plantage inopiné
  • Autonomie électrique de la centrale : en cas de coupure d'alimentation, elle doit tenir suffisamment longtemps pour avoir le temps de lancer ces alertes
  • Les boitiers des capteurs et de la centrale devront être autant que possible réalisables grâce aux outils d'un fablab (impression 3d, découpe laser, etc...)

Choix techniques

Centrale

La centrale devra donc gérer la communication avec les capteurs, être capable de déclencher des alertes en rapport avec l'incident reporté (effraction supposée : signal sonore et lumineux, envoi de SMS), gérer l'interface utilisateur par le biais d'un serveur web embarqué et d'un clavier déporté.

Le coeur

Le coeur du système sera un RaspberryPi, tout simplement car je connais bien cette carte, elle est peu onéreuse et ces capacités seront largement suffisantes pour ce qu'on va lui demander de faire... La faible consommation du RaspberryPi facilitera son alimentation en cas de perte de la tension du secteur.

Raspberry_Pi_-_Model_A.jpg

En terme de logiciel, Python sera employé et le système sera donc adaptable à toute carte ou PC...

python.png

La communication

La communication avec les capteurs sera effectuée à l'aide d'un nRF905 (http://www.nordicsemi.com/eng/Products/Sub-1-GHz-RF/nRF905), un circuit intégré spécialisé ayant la particularité de pouvoir émettre au choix sur 3 bandes (433, 868 et 915MHz), d'avoir une très faible consommation et d'être très simple à mettre en oeuvre.

Le module GSM pour l'envoi de SMS sera un SIM900.

nrf905.jpg sim900.jpg

Module capteurs

Une des partie les plus critiques du système est la capture des événements par le biais de capteurs (infra-rouge, etc...), ces modules doivent être totalement autonome, alimenté par batterie, voici les parties communes :

  • La partie radio basé sur un nRF905
  • Le coeur : Un Avr (tinyAvr) d'Atmel se chargera de lire l'état du capteur, de communiquer avec la base, de vérifier l'état de la batterie
  • Des entrées / sorties pour y brancher le ou les capteurs
  • Une batterie

L'autonomie étant critique, l'AVR pourra se mettre en veille et en sortir soit au bout d'un temps déterminé pour vérifier l'état du capteur et avertir la base que tout va bien (ou que tout va mal), ou il pourra également sortir de veille par le biais d'un changement d'état du capteur.

Je pense faire une carte électronique générique pour tous les capteurs afin de gagner en coût et en facilité.

La suite

Dans un premier temps, je veux m'assurer de la bonne portée pratique des modules radios ainsi que de leur consommation car il s'agit DES parties critiques du système.

Ayant d'autres projets sur le feu (dont certain qui trainent depuis bien trop longtemps), j'essaierai d'avancer sur OpenAlarm au mieux...En attendant, j'attends vos retours / avis / conseils / idées, etc...

Un dépôt GitHub OpenAlarm à été ouvert oû je mettrai toutes les informations utiles au développement, le wiki sur GitHub sera aussi tenu à jour.

Mercredi, décembre 11 2013

RaspberryPi + Grove = RaspiO'Mix

RaspiO'Mix est une carte fille pour Raspberry Pi développée par mes soins sur une idée de Michel d'Erasme qui va vous permettre de connecter facilement et rapidement tout un tas de modules de type Grove initialement prévus pour Arduino.

Caractéristiques

  • Aux dimensions du RaspberryPi
  • 4 entrées / sorties tolérantes 5V (basée sur un TXS0108PWR)
  • 4 entrées analogiques, 0-5V, 18 bits de résolution
  • 2 entrées numériques via DIP switch
  • Horloge temps réel avec batterie de sauvegarde
  • 2 connecteurs pour I2C
  • 1 connecteur pour communication série
  • Alimentation 5V via jack

Connecteurs

Bien entendu, cette carte est entièrement libre, toutes les informations nécessaires pour la fabriquer sont disponibles sur GitHub / RaspiO'Mix.

Fonctionnement

Voici le schéma de principe :
schema.png

La conversion analogique / numérique est assurée par un MCP3424, un CAN I2C de 18 bits de résolution, une horloge temps réel DS1307 est présente sur le même bus.

Une librairie Python est disponible et vous permet d'accéder simplement aux différentes fonctions d'entrées / sorties, I2C, série et ainsi d'intéragir avec un monde 5V bien au chaud dans l'environnement 3V3 du RaspberryPi...

La carte en action

Je veux mon propre RaspiO'Mix

2 solutions s'offre alors à vous :
  1. DIY : Tout est à votre disposition pour le faire vous même, sur GitHub, vous trouverez la liste des composants, des informations techniques, les fichiers Eagle, les fichier gerber, bref, TOUT est disponible pour le faire vous même !
  2. Les cartes RaspiO'Mix sont disponibles à la vente sur le site [www.raspiomix.org|http://raspiomix.org/|fr].

- page 1 de 13