www.DigitalSpirit.org

Politique d'accessiblité | Aller au contenu | Aller au menu | Aller à la recherche

Electronique

Electronique.png

Tout ce qui est en rapport avec l'électronique

Fil des billets - Fil des commentaires

RaspiO'Mix+ vs GrovePi+

Après le comparatif entre RaspiO'Mix et GrovePi, il était temps de faire un comparatif entre chaque évolution de ces cartes : RaspiO'Mix+ et GrovePi+.

RaspiO'Mix+ vs GrovePi+

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édiaire entre le Raspberry et le monde extérieur via une liaison I2C.

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 complexe interface.

oshw-logo-100-px.png

Dans les 2 cas, GrovePi+ et RaspiO'Mix+ sont des projets OpenSource / OpenHardware et vous pouvez retrouver toutes les sources sur GitHub : GitHub / GrovePi et GitHub / RaspiO'Mix


Fonctionnalité GrovePi+ RaspiO'Mix+
Entrées / Sorties 7 8
Entrées analogiques 3 8
Résolution CAN 10bits 18bits
Lignes I2C 4 3
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
Compatibilité Raspberry Pi A/B, A+/B+, Pi 2, Pi 3, Zero Raspberry Pi A+/B+, Pi 2, Pi 3, Zero
Respect du format HAT* Non Oui

* Le format HATs

Flag_of_France.svg.png
Autre chose importante, les RaspiO'Mix+ sont toujours fabriquées en France !

RaspiO'Mix+ est disponible à la vente sur le site www.raspiomix.org.

Les entrailles d'OpenAlarm : Une première interface PC en Python

Je vous ai présenté dans le précédent article le principe de fonctionnement d'un OpenAlarm Node, c'est parfaitement fonctionnel et utilisable mais nous pouvons simplifier grandement tout ça et c'est là qu'intervient l'interface que je vais vous présenter dans cet article.

Un programme en Python nommé simplement base.py permet les interactions avec les OpenAlarm Node, il s'utilise en ligne de commande :

$ python3 base.py --help
OpenAlarm Base
Usage:
base.py [options] nodeid <nodeid>
base.py [options] config write <config>
base.py [options] config set <key> <value>
base.py [options] profile write <profile_name> [<profile_id>]
base.py [options] profile set <profile_id>
base.py [options] node write <node_name>
base.py [options] node read
base.py [options] listen [--csv <csv_file>]
base.py [options] remote <node_name> --set <commands>...
base.py --version
Options:
-p            Serial port
-f            Force node write even when different nodeid
-h --help     Show this screen
-d --debug    Debug mode
-v --verbose  Verbose mode
$ 

Je vais passer en revue toutes les possibilités offertes par ce programme.

Lire la suite...

Les entrailles d'OpenAlarm : Le firmware

Il est temps de vous parler un peu de la partie logiciel du projet OpenAlarm qui est en 2 parties : le logiciel interne (firmware) aux OpenAlarm Node et la partie qui tourne sur l'ordinateur, dans cette première partie, je vais vous présenter uniquement le fonctionnement des OpenAlarm Node.

Cet article est volontairement technique et rentre dans des détails que l'utilisateur final n'aura pas à connaître mais si vous souhaitez participer au projet, vous aurez besoin de ces informations.

Principe de fonctionnement

Le fonctionnement des OpenAlarm Node est plutôt simple, le système est conçu pour être utilisable sans base, c'est à faire qu'avec juste 2 Node (et un ordinateur), vous avez un système pleinement utilisable, en effet, chaque Node embarque le code nécessaire pour la surveillance de grandeur issue de capteur (mouvement, température, luminosité, courrier dans la boite aux lettres, etc...) mais également celui pour servir de base réceptionnant les messages des autres capteurs.

Un Node à donc plusieurs modes de fonctionnement :

  • Le mode « écoute »  (lancé par la commande listen) qui permet de recevoir tous les messages des autres nodes, ce mode sera celui utilisé par la base pour réceptionner les messages de tous les Nodes
  • Le mode « surveillance » (lancé par la commande guard) permettant de rentrer en surveillance et d'envoyer à intervalle régulier les informations contenues dans les frames (voir plus bas)
  • Le mode « remote » (lancé par la commande remote) afin de se connecter à un Node distant (par radio) afin d'en modifier les paramètres

À la mise sous tension, un Node démarrera automatiquement en mode surveillance si ce dernier n'est pas branché à un ordinateur et ne reçoit pas de commande le lançant dans un autre mode.

Difficile de faire plus simple, non ?

Lire la suite...

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ée 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 !

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.

Lire la suite...

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

Lire la suite...

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 :

Lire la suite...

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édiaire 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 pas 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.

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...)

Lire la suite...

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.

Lire la suite...

- page 1 de 6