Articles


  • USB Powersupply ( lang: en )

    More and more devices are powered with an USB plug. They require more and more power but some USB sockets are designed to deliver 500mA or 1A max. It would be danregous to plug such devices to USB HUBs or to computers. I am tired of looking for a matching power supply and to have tons of them. Thus I designed a very simple power supply to plug up to 5 devices, deliver up to 10A and to individually switch them. I’ll connect my light LED panels (10W) on this PSU and my phone.

  • Multiprotocol IoT infrastructure ( lang: en )

    I made my first home automation system 6 years ago, in 2014 and had little choices in terms of hardware and software. Now, things changed and I can redesign it to better suit my needs with about 100 connected sensors and actuators, domoticz as the user interface, MQTT to centralize MySensors and Zwave meshed network events, NodeRED as an MQTT ETL, Redis Streams, Redis Timeseries and Redis PubSub as a storage… Everything on a Raspberry Pi 3. Lets have a look at the prototype.

  • FC007 - Alimentation de labo linéaire 30V 3A ( lang: en fr )

    Voici la conception, réalisation et test d’une alimentation linéaire de laboratoire 30V 3A sans ventilateur, basée sur un LM723, deux 2N3055, un module chinois multi-metre et deux galvanomètres. Elle dispose d’une régulation de tension 0-30V et d’une limitation de courant 0-3A.

  • Redis 06 - Distribution et flexibilité du stockage des données ( lang: en fr )

    Cette partie décrit comment distribuer les données pour obtenir un redimensionnement horizontal avec des performances linéaires et comment ce redimensionnement est implémenté dans Redis et Redis Entreprise. La distribution des requêtes sera traitée dans la partie suivante.

  • FC006 - Mur virtuel pour iRobot Roomba ( lang: en fr )

    iRobot vend des robot autonomes aspirateurs Roomba. Ils disposent de recepteurs IR pour détecter les obstacles et pour reçevoir des commandes d’une télécommande. iRobot vend un mur virtuel à 40€ pour créer une frontière et contraindre le robot dans une partie de la pièce à nettoyer. Les composants coûtent moins de 10€ ! J’ai décidé de créer le mien, basé sur un microcontroleur AVR ATTiny.

  • Redis 05 - Origines, buts et défis du NoSQL ( lang: en fr )

    Cette partie décrit quelques concepts généraux et défis du NoSQL : scalabilité, haute-disponibilité, cohérence et performances. Elle est nécessaire pour rendre les prochaines parties plus compréhensibles.

  • Redis 04 - Introduction aux modules Redis ( lang: en fr )

    J’ai déjà listé les structures de données natives de Redis. Redis peut charger dynamiquement des modules pour implémenter n’importe quelle structure ou fonctionnalité dans son cœur, bénéficiant de son architecture. Maintenant, je donne un aperçu de cette extensibilité illimitée.

  • Redis 03b - Structures de données natives (2nde partie) ( lang: en fr )

    Bienvenue dans cette série « 5 minutes pour apprendre Redis » Je vais faire un survol des structures de données natives de Redis, ce à quoi elles peuvent servir, ce que l’on peut y stocker, comment les utiliser. Dans la précédente partie, je décrivais les structures basiques.

  • Redis 03a - Structures de données natives (1ère partie) ( lang: en fr )

    Dans cette première partie, je vais faire un court survol des structures de données natives dans Redis les plus communément utilisées, à quoi elle peuvent servir, ce qui peut y être enregistré, comment les utiliser. Je décrirai les autres structures dans les prochaines parties.

  • Redis 02 - un entrepôt clé-structure ( lang: en fr )

    Dans ce contenu, j’explique les différences entre un schéma relationel, un schéma clé-valeur et un schéma clé-structure de données.

  • Redis 01 - Introduction ( lang: en fr )

    J’essaye de présenter un aperçu de Redis, son histoire, ce qu’il peut faire, comment il travaille, au cours d’une introduction rapide. J’en présente brièvement les performances, optimisations et les avantages.

  • Gestion des IPs d'un cluster Redis Enterprise ( lang: en fr )

    Les nœuds d’un cluster RedisLabs (RLEC1) peuvent séparer les traffic réseau en deux catégories : interne utilisant une et une seule interface réseau pour communiquer entre les nœuds pour la réplication et la gestion du cluster, et externe utilisant une ou plusieurs interfaces pour les connexions des applications. Voici comment changer ces réglages après avoir effectué la configuration initiale, en utilisant l’API REST ou les outils en ligne de commande.

    1. RLEC, RedisLabs Enterprise Cluster, désormais connu sous le nom de Redis^e pour Redis Enterprise. 

  • Distributeur de fil à wrapper imprimé en 3D ( lang: en fr )

    J’utilise souvent du fil à wrapper pour mes projets électoniques. Soit je wrappe les fils pour un prototypage rapide et je peux déwrapper, soit je les soude quand je souhaite un prototype plus durable. Banggood vends 8 couleurs de bobine de 300m de fil à wrapper à 8€ pièce, j’en ai acheté une de chaque et j’avais besoin d’un distributeur pratique.

  • Envoyer des valeurs dans Redis depuis un capteur IoT sur ESP8266 ( lang: en fr )

    Créer un capteur de luminosité en utilisant un ESP8266 et une photoresistance pour 5€, envoyer directement les mesures dans une base de données Redis via la pile Wifi/TCP/IP et publier un message « push » pour notifier votre interface utilisateur (décrite dans un futur article) qu’il y a une nouvelle valeur à afficher en temps réel. Redis est une base clé-valeur en mémoire avec la persistence sur le disque, la haute-disponibilité et la distribution des données en cluster. Il est tellement facile à utiliser qu’un simple micro-controleur, tel qu’un Arduino ou un ESP8266, avec une pile TCP/IP peut s’y connecter et l’utiliser.

  • Jouer avec Redis et les requêtes géographiques ( lang: en fr )

    Alors que je recherchair un jeu de données pour jouer avec Redis, j’ai non-seulement découvert un bon jeu de données mais aussi une fonctionnalité ludique. Le jeu de données comtient des valeurs de latitude, longitude et altitude et Redis dispose d’opérations géographiques puissantes et intéressantes. Cet article décrit un moyen de charger massivement les données des aéroports, des lignes aériennes et des routes avec des indexes dans Redis^e Pack (édition pour les entreprises anciennement connue sous le nom de RLEC) et comment les requêter par distance.

  • Drone safe arming with Taranis (OpenTX) ( lang: en )

    Zero throttle and yaw right is the standard for arming a drone. It is fine, but I wanted to add security with a switch, without wasting an extra channel or introducing a security breach. The idea is to add an easy but improbable step to arm the drone, to change nothing to disarm the drone, and to not add a security issue during flight. When I was young(er), I was told that security needs to ne non-invasive to be efficient… This is my solution, maybe not the best one, but better in my opinion to all that I found on the net.

  • Comment configurer le DNS Route53 d'Amazon pour RedisLabs Enterprise Cluster ( lang: en fr )

    RedisLabs Enterprise Cluster (RLEC1) nécessite une configuration DNS particulière pour offrir la haute-disponibilité (HA). Cet article décrit comment configurer le DNS Route53 d’Amazon Web Services (AWS) correctement.

    1. RedisLabs Enterprise Cluster 

  • Configurer JDBC pour Couchbase ( lang: en fr )

    Nous allons voir comment télécharger, installer, configurer et utiliser le pilote JDBC de Simba pour Couchbase. Nous testerons la connection avec SQuirreLSQL, et le pilote sera configuré pour servir toutes les nouvelles connexions entrantes.

  • Introduction aux rapports NoSQL ( lang: en fr )

    Quelque soit la technologie de base de données, il y a une application métier qui l’utilise et il y a, le plus souvent, un besoin de rapports sur les données métier. Je vais tenter de présenter la manière de concevoir une architecture de rapports, les concepts sont applicables à des bases de données SQL relationnelles et aussi à des bases de données non-relationnelles NOSQL. Il existe deux besoins de rapport différents : les rapports opérationels qui se font sur les données vivantes (ou chaudes) pour créer des rapports opérationels tels que des factures, des bons de commande, des inventaires, etc. et les rapports décisionnels, avec un niveau d’abstraction plus élevé, pour donner des tendances et pour aider les dirigeants à prendre des décisions. Dans ce premier billet, je vais tenter d’expliquer les concepts généraux.

  • Créer un graphique D3 avec CEAN et N1QL sur Couchbase ( lang: en fr )

    Couchbase, dispose d’une pile complète CEAN(Couchbase Express Angular NodeJS) permettant de développer rapidement une application NodeJS. Nous allons voir dans ce tutoriel comment initialiser le développement d’une nouvelle application NodeJS utilisant CEAN avec Yeoman, créer un service côté serveur, un controlleur et des vues côté client pour obtenir une représentation graphique et moderne des données.

  • Charger des données dans Couchbase avec RxJava ( lang: en fr )

    Ce petit tutoriel explique comment trouver un jeu de données intéressant (quantitativement et qualitativement) et le charger dans CouchBase pour pouvoir le manipuler ensuite. Il s’agit d’une application de type preuve de concept, elle pourrait être très largement améliorée et optimisée. Je l’ai écrite pour charger rapidement mes données dans mon cluster, sans gérer tous les cas et sans optimisation. J’ai ensuite voulu la documenter et la partager dans ce blog, je l’ai un peu nettoyée, mais ce n’est en aucun cas une application à déployer en production ! ;)

  • Connexion JDBC depuis JasperReports Server à Couchbase ( lang: en fr )

    Couchbase, une base BigData NoSQL, propose désormais un nouveau langage, N1QL, pour effectuer des requêtes. L’idée de cet article est de montrer comment utiliser le nouveau pilote JDBC de Couchbase dans JasperReports Server (Nous utiliserons l’abréviation JRS dans la suite de cet article), de manière à exécuter des requêtes SQL(92) sur la base Couchbase.

S'abonner au flux RSS