Quantcast
Channel: MaMaquette
Viewing all 610 articles
Browse latest View live

Rockchip présente au CES 2018 le RK3399Pro, un SoC avec unité de calcul neuronal dédié aux applications d’Intelligence Artificielle

$
0
0

Le processeur Rockchip RK3399pro est une version améliorée du RK3399 qui propose des fonctions d’intelligence artificielle. Le RK3399  a été lancé en 2016 par la société chinoise du même nom. C’est un processeur Hexa Core basé sur l’architecture ARM Cortex A72/A53. La partie graphique est prise en charge par le GPU Mali-T860MP4 qui supporte le décodage vidéo 4K. Le Mali-T860MP4 apporte également le support de l’USB 3, du PCIe, ainsi que Gigabit Ethernet. On trouve ce processeur dans les Chromebooks, les box TV, les cartes de développement et autres périphériques informatiques

Rockchip RK3399Pro, un SoC avec unité de calcul neuronal au CES 2018

Le Rockchip RK3399Pro qui sera dévoilé lors du CES 2018 semble avoir la plupart des mêmes caractéristiques que son prédécesseur. Une unité de traitement à réseau neuronal (NPU – Neural Network Processing Unit) offrant une puissance de calcul de 2.4TOPs a été ajoutée. Elle permettra de renforcer les applications qui nécessitent de l’apprentissage (box à reconnaissance vocale par exemple, authentification de personnes par reconnaissance d’image…) ou pour ajouter des capacité d’intelligence artificielle (AI).

La société affirme que par rapport à la solution traditionnelle, les performances de calcul des modèles Inception V3, ResNet34 et VGG16 de réseau de neurones profonds typiques sur RK3399Pro sont améliorées de près de cent fois, et la consommation d’énergie est inférieure à 1% par rapport à A.I. solutions implémentées en utilisant l’accélération GPU. C’est d’ailleurs ce que semble montrer eLDee qui vient de publier sur Tweeter un Benchmark montrant des performances bien plus élevées que les nouveaux SoC Apple A11, Nvidia TX2 et Huawei Kirin 970. Il faudra attendre la confirmation de ces très bonnes performances sur des cas d’application. Apple obtient toujours d’excellentes performances avec des puces plus modestes en optimisant son code.

La NPU du RK3399Pro prend en charge les opérations 8 bits et 16 bits. Le développement d’application devrait être très facile car l’unité de calcul est compatible avec les principaux frameworks disponibles actuellement. Rockchip annonce que sa puce est déjà compatible avec OpenVX, TensorFlow Lite et l’API AndroidNN. Une très bonne nouvelle pour le développement de projets de reconnaissance vocale sur box TV. Le développement devrait être facilité car tous ces logiciels sont capables de gérer les modèles Caffe / TensorFlow dédiés à l’intelligence artificielle.

Le Rockchip RK3399pro est (déjà) vulnérable aux failles Spectre et Meltdown

Comble de malchance, le Rockchip RK3399pro étant basé sur l’architecture ARM A72, le SoC est donc vulnérable aux failles Spectre et Meltdown d’après la note technique publiée par ARM.

 

Source : http://ces.vporoom.com/2018-01-07-Rockchip-Released-Its-First-AI-Processor-RK3399Pro-NPU-Performance-up-to-2-

Cet article Rockchip présente au CES 2018 le RK3399Pro, un SoC avec unité de calcul neuronal dédié aux applications d’Intelligence Artificielle est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.


Nouveau Orange Pi One Plus Allwinner H6 1GB à moins de 20€

$
0
0
orange pi one plus top

Le nouveau Orange Pi One Plus est construit autour du SoC Allwinner H6 (Cortex-A53). C’est un processeur 64-bits qui est habituellement utilisé dans les box TV car il prend en charge les écrans 4K. Le Allwinner H6 prend également en charge l’USB 3.0, l’Ethernet Gigabit et le PCIe. Bonne nouvelle, Le SoC Allwinner H6 est basé sur le Core ARM Cortex-A53, il n’est donc pas vulnérable (d’après ARM) aux failles de sécurité Spectre et Meltdown qui touchent actuellement les processeurs Intel, Nvida et ARM.

Shenzhen Xunlong aurait gagné à choisir un nom différent pour sa nouvelle carte. Il avait portant bien commencé en donnant des noms différents pour sa nouvelle génération de carte (Orange Pi Prime et OPI Win). A la place, on devra se contenter d’un nom à rallonge. Cela dit, c’est un détail car comme d’habitude, Shenzhen Xunlong  nous propose sa nouvelle carte à un prix très abordable. Le nouveau Orange Pi One Plus est proposé à 19,51€ (plus 2,51€ de frais de port dans mon cas).

orange pi one plus top

Caractéristiques de l’Orange Pi One Plus:

  • SoC : processeur Cortex A53 à quad core Allwinner H6 V200 avec GPU Arm Mali-T720MP2
  • Mémoire système : 1 Go LPDDR3
  • Stockage : lecteur de carte micro SD jusqu’à 32 Go (au lieu de 64 Go sur les anciens modèles)
  • Sortie vidéo et audio : HDMI 2.0a jusqu’à 4K @ 60 H. Support HDR, HDCP, CEC
  • Connectivité : Ethernet gigabit (Realtek RTL8211)
  • USB : 1x port hôte USB 2.0, 1x port micro USB OTG
  • Connecteur d’extension : 26 broches
  • Débogage, installation du système par communication série (tutoriel) : connecteur à 3 broches
  • Divers : voyants d’alimentation et d’état, bouton d’alimentation, récepteur IR, microphone
  • Alimentation : 5V / 2A via le port micro USB.  Gestionnaire d’alimentation avec prise en charge de la recharge pour batterie AXP805 PMIC (documentation technique)
  • Dimensions : 68 x 48 mm
  • Poids : 50 grammes

Pour le moment, il faudra se contenter de la distribution Android 7.0 proposée par Orange Pi sur le site du fabricant (lien de téléchargement). Le SoC Allwinner H6 étant relativement nouveau, l’adaptation de la distribution Armbian pour cette nouvelle carte de développement risque de prendre un peu de temps.

Par rapport à l’Orange Pi Prime et à l’Orange Pi Win, cette carte est un peu décevante. Tout d’abord, elle ne tire pas pleinement parti des possibilités offertes par le SoC Allwinner H6. La carte embarque un seul connecteur USB au standard 2.0 alors que le H6 prend en charge l’USB 3.0. En l’absence de mémoire eMMC et de connecteur pour une carte fille, il aurait été très pertinent de pouvoir installer le système sur un disque dur externe USB 3.0. En l’absence de Wifi (et de Bluetooth) et de connecteur pour batterie LiPo (portant géré par le circuitAXP805 PMIC), il aurait été judicieux de disposer d’un port Ethernet gigabit POEShenzhen Xunlong semble abandonner l’idée d’intégrer un connecteur pour caméra CSI sur ces nouvelles cartes, probablement pour réduire l’encombrement et les coûts de production. Espérons que le prochain Orange Pi 3 fera la synthèse et sera plus riche en fonctionnalités avec des interfaces GbE POE, USB 3.0, connecteur pour batterie LiPo, connecteur pour caméra CSI compatible Raspberry Pi.

Cet article Nouveau Orange Pi One Plus Allwinner H6 1GB à moins de 20€ est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

🔥 Soldes d’hivers 2018 sur les accessoires, objets connectés et box domotiques sur Amazon, Cdiscount, Gearbest, Fnac, Banggood

$
0
0

Les soldes sont l’occasion de réduire significativement votre budget sur vos équipements domotiques. Dans cet article, vous trouverez une sélection des plus fortes baisses de prix sur les box domotique eedomus. Vous trouverez également des promos sur les équipements Fibaro, Nest, Netatmo, les ampoules connectées Philips Hue, les accessoires Xiaomi Smart Home. Si vous avez le projet de fabriquer une box domotique 100% DIY, vous trouverez également de nombreuses promos sur le Raspberry Pi 3, boitier et cartes micro SD.

Les prix seront actualisés deux fois par jour durant toute la période des soldes. Vous pourrez profiter des démarques et des ventes flashs organisées par les marchands en ligne.

Soldes sur les box et accessoires domotiques sur Amazon

Box domotique eedomus

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Equipements domotiques Fibaro

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Thermostat, caméra et détecteur d’incendie Nest

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Thermostat, caméra, station météo Netatmo

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Ampoules connectées et pont Philips Hue

C’est le moment de vous équiper en ampoules connectés Philips Hue. Un pont est nécessaire pour pouvoir piloter les ampoules et les rubans de LED depuis un smartphone ou un serveur domotique. Le pont Hue est compatible Home Kit d’Apple. Un plugin est disponible pour Jeedom.

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Station météo et sondes Oregon Scientific

Les informations des accessoires Oregon Scientific peuvent être intégrés à un serveur domotique à l’aide d’une passerelle radio RFXCom ou RFLink.

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Contacteur de porte, interrupteur radio, module luminaire On/Off DiO de Chacon

Les modules DIO de Chacon communiquent par ondes radio à 433Mhz. Ils peuvent être intégrés à un serveur domotique à l’aide d’une passerelle radio RFXCom ou RFLink.

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Autres modules et clés Z-Wave compatibles Raspberry Pi

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Sélection de livres pour débuter en domotique et en programmation

Voici une sélection de livres pour bien débuter en domotique. Si vous voulez vous lancer dans la fabrication de vos propres objets connectés et pourquoi pas dans l’assemblage d’un serveur domotique 100% DIY, cet article devrait vous intéresser. Les éditions ENI viennent de lancer une nouvelle collection appelée la fabrique destinée aux Makers en herbe. Elle regroupe déjà 3 livres dont Scratch et Raspberry Pi : S’initier à l’électronique et à la robotique par le jeu co-signé par François Mocq, l’auteur du blog framboise314.fr

Dernière mise à jour des prix le 10 janvier 2018 2 h 57 min

Si vous débutez en domotique DIY, voici quelques tutoriels sur les serveurs Open Source Jeedom, Domoticz et Home Assistant pour vous aider à démarrer.

Soldes sur les équipements Z-Wave Fibaro

Sur Cdiscount et Rue Du Commerce

Dernière mise à jour des prix le 9 janvier 2018 14 h 40 min

A la FNAC

Dernière mise à jour des prix le 9 janvier 2018 14 h 40 min

Soldes sur le Raspberry Pi 3, cartes micro SD et accessoires chez Gearbest

Voici une sélection d’offres pour fabriquer votre box domotique DIY à moindre coût.

DIY Raspberry Pi Model 3 B Motherboard - ENGLISH VERSION GREEN

Coupon vérifié le 9 janv. 2018. Quantité limitée à 250 pièces

25,38€ 30,91€
Afficher le coupon
12 jours restants

Raspberry Pi 3 Model B Motherboard Chinoise Version

Coupon vérifié le 9 janv. 2018. Quantité limitée à 80 pièces

25,37€ 30,91€
Afficher le coupon
12 jours restants

DC 5V 2.5A Power Supply Charger Adapter for Raspberry Pi 3 - WHITE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 20 pièces

3,41€ 4,45€
Afficher le coupon
12 jours restants

Starter Kit for Raspberry Pi 3 Model B - COLORMIX

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

8,55€ 13,54€
Afficher le coupon
12 jours restants

Protective ABS Enclosure Case for Raspberry Pi 3 - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

0,84€ 2,53€
Afficher le coupon
12 jours restants

Cooling Kit for Raspberry Pi 3 / 2 / B+ - COLORMIX

Coupon vérifié le 9 janv. 2018. Quantité limitée à 60 pièces

2,39€ 3,26€
Afficher le coupon
12 jours restants

Raspberry Pi Protective Shell Box Kit for Version 3 2 B+ - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

3,41€ 4,72€
Afficher le coupon
12 jours restants

Promos sur les cartes micro SD et les disques SSD

SanDisk A1 Ultra Micro SDHC UHS-1 Professional Memory Card - 16G RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

5,06€ 6,69€
Afficher le coupon
12 jours restants

SanDisk A1 Ultra Micro SDHC UHS-1 Professional Memory Card - 64G RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

16,06€ 20,18€
Afficher le coupon
12 jours restants

Samsung UHS-1 Class10 Micro SDHC Memory Card - 32GB RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 200 pièces

8,08€ 11,07€
Afficher le coupon
12 jours restants

Samsung UHS-3 64GB Micro SDXC Memory Card - 64GB ORANGE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 160 pièces

13,89€ 19,75€
Afficher le coupon
12 jours restants

Carte Mémoire Micro SDHC Samsung UHS-1 Class10 - 128G Rouge

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

32,98€ 52,68€
Afficher le coupon
12 jours restants

Samsung 128GB EVO Class 10 Micro SDXC Memory Card

Coupon vérifié le 9 janv. 2018. Quantité limitée à 70 pièces

35,53€ 39,5€
Afficher le coupon
12 jours restants

Soldes sur les commutateur WiFi (y compris avec fonction POW) Sonoff chez Banggood

Les modules Sonoff sont idéaux pour se lancer dans la construction d’une installation domotique DIY. Les modules qui disposent de la fonction POW (POWer Consumption Measurement) permettent de mesurer la consommation électrique des appareils pilotés ceux-ci. Il est très facile de remplacer le firmware d’origine développé par Itead (le fabricant des modules Sonoff) par une version Open Source. Vous pourrez par exemple installer le firmware ESP Easy, Tasmota ou Espurna qui ne nécessitent aucune programmation.

  • Modèle
  • Alimentation
  • Relais
  • WiFi
  • 433MHz ou GPRS
  • Mesure (l'achat d'une sonde séparée peut être nécessaire)
  • Puissance max.
  • Certifié CE/FC
  • Compatible (avec firmware d'origine)
  • Meilleur prix
Tous les modules n’ont pas une certification CE ou FCC. Ils sont réservés au marché Chinois. Il n’est pas recommandé d’utiliser ces appareils. Les modules certifiés CE et FCC sont indiqués dans le tableau comparatif ci-dessus. Caractéristiques techniques indicatives susceptibles d’être modifiées par le fabricant à tout moment sans préavis.

Soldes sur le kit de démarrage Xiaomi Smart Home 5 en 1

Attention, un adaptateur électrique est nécessaire pour faire fonctionner la gateway Xiaomi dans votre pays.

Soldes sur les accessoires Xiaomi Smart Home

La solution domotique Xiaomi Smart Home peut être très facilement complétée par de nombreux accessoires :

Accéder directement aux soldes chez les marchands en ligne

Cet article 🔥 Soldes d’hivers 2018 sur les accessoires, objets connectés et box domotiques sur Amazon, Cdiscount, Gearbest, Fnac, Banggood est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

🔥 Soldes d’hivers 2018 sur les imprimantes 3D sur Amazon, Gearbest, Fnac, Banggood et AliExpress

$
0
0

Comme toujours, Gearbest fait les meilleurs prix sur une sélection très réduite d’imprimantes 3D très populaires. L’Anet A8, une imprimante 3D d’entrée de gamme idéale pour débuter est proposée à 101,51€ (au lieu de 159,55€). Pensez à ajouter un capteur d’Auto Leveling pour environ 11€. Si vous avez un budget moins limité, la Creality3D est une imprimante fiable et silencieuse à partir de 385,77€. Il reste encore quelques pièces de la version 500 x 500 x 500mm à 752,93€ au lieu de 910,41€. C’est très rare de trouver un tel volume d’impression à ce prix.

Promos sur les imprimantes 3D chez Gearbest

Anet A8 Desktop 3D Printer - EU PLUG BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 300 pièces

101,51€ 159,55€
Afficher le coupon
12 jours restants
Tevo Tarantula 3D Printer DIY Kit - EU PLUG BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

245,33€ 257,66€
Afficher le coupon
12 jours restants

Creality3D CR - 10S 3D Desktop DIY Printer - EU PLUG UPGRADE VERSION COFFEE AND BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

363,77€ 395,08€
Afficher le coupon
12 jours restants

Creality3D CR - 10 Enlarged 3D DIY Desktop Printer Kit - EU COFFEE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

541,43€ 687,1€
Afficher le coupon
12 jours restants

Anycubic I3 MEGA Full Metal Frame FDM 3D Printer - EU PLUG WHITE AND BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

253,79€ 292,01€
Afficher le coupon
12 jours restants

Creality3D CR - 10 500 x 500 x 500mm 3D Printer DIY Kit - EU BLUE AND BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

752,93€ 910,41€
Afficher le coupon
12 jours restants

TEVO Tornado Most Assembled Full Aluminum Frame 3D Printer - EU PLUG 220V / 110V

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

270,71€ 353,04€
Afficher le coupon
12 jours restants

Creality CR10S(EU)

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

385,77€ 395,08€
Afficher le coupon
12 jours restants

Soldes sur les imprimantes 3D sur Amazon

Amazon n’est pas un grand spécialiste des imprimantes 3D mais on trouve de bonnes affaires durant cette période de soldes. La Dagoma Discoeasy200 est enfin disponible sur Amazon, une bonne nouvelle pour les clients Prime.

Dernière mise à jour des prix le 10 janvier 2018 4 h 58 min

Soldes sur les imprimantes 3D à la Fnac

DiscoEasy200 en Kit Imprimante 3D Dagoma
299,00
Voir l'offre
AffilinetProducts FNAC.COM - Marketplace_Informatique
Imprimante 3D BQ Prusa i3 Hephestos Rouge
339,00
Voir l'offre
AffilinetProducts FNAC.COM - Marketplace_Occasions_Informatique
Imprimante 3D XYZprinting Da Vinci Junior
365,66
Voir l'offre
AffilinetProducts FNAC.COM - Marketplace_Informatique
-7% Imprimante 3D XYZprinting Da Vinci Junior
369,99 399,99
Voir l'offre
AffilinetProducts FNAC.COM - Fnac_Informatique
Dernière mise à jour des prix le 9 janvier 2018 15 h 17 min

Soldes sur les imprimantes 3D sur AliExpress

Dernière mise à jour des prix le 9 janvier 2018 15 h 33 min

Promos sur les imprimantes 3D chez Banggood

Dernière mise à jour des prix le 9 janvier 2018 15 h 17 min

Accessoires et pièces de rechange pour les imprimantes 3D Anet A6 ou A8

 

Accéder directement aux soldes chez les marchands en ligne

 

Cet article 🔥 Soldes d’hivers 2018 sur les imprimantes 3D sur Amazon, Gearbest, Fnac, Banggood et AliExpress est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

🔥 Soldes hivers 2018, composants et matériels pour IoT et montage électronique DIY

$
0
0

C’est le moment de vous équiper pour vos bricolages et vos montages électroniques. Vous avez des projets d’objets connectés, vous avez repéré un projet intéressant, voici une sélection de matériel en promo durant les soldes d’hivers 2018.

Kits d’apprentissage Arduino, Raspberry Pi

Vous débutez en électronique et en programmation, voici une sélection de kits pour bien débuter

Kits débutant Arduino

Kits débutant Arduino Mega 2560

Starter Kit Raspberry Pi

Toutes les offres

Promos sur le Raspberry Pi 3

DIY Raspberry Pi Model 3 B Motherboard - Version anglaise

Coupon vérifié le 9 janv. 2018. Quantité limitée à 250 pièces

25,38€ 30,91€
Afficher le coupon
12 jours restants

Raspberry Pi 3 Model B Motherboard version chinoise

Coupon vérifié le 9 janv. 2018. Quantité limitée à 80 pièces

25,37€ 30,91€
Afficher le coupon
12 jours restants

Cartes de développement

Kit officiel Arduino Uno

Cartes compatibles Arduino Uno

Toutes les offres

Cartes compatibles Arduino micro ou nano v3

Toutes les offres

ESP8266 Wemos d1 mini

La carte de développement à base du module ESP8266. Toutes les offres. Ou la version Pro avec 16MB de mémoire flash.

Il est très facile de développer des objets connectés à l’aide des cartes d’extension (voir tous les shields disponibles) pour la Wemos d1 mini.

ESP32 Wemos LoLin32 Lite, la référence

La Wemos LoLin32 Lite est une carte de développement à base du module ESP32 (présentée en détail ici) qui conviendra dans la plupart des applications. Elle est compacte et parfaitement reconnue par l’IDE Arduino, platformIO. Elle est compatible avec le firmware ESP Easy Mega (version 2 en cours de test). Le firmware ESP Easy vous permet de développer des objets connectés sans aucune programmation. Toutes les offres

ESP32 au format Arduino Uno

ESP32 avec compartiment pour batterie Li-Ion 18650

Batteries Li-Ion grande capacité pour objets connectés sur batterie. Toutes les offres

ESP32 avec écran OLED SSD1306 0.96” intégré

C’est une carte idéale pour développer rapidement des objets connectés avec un mini affichage. Vous pourrez afficher l’adresse IP du module, des états, les mesures réalisées avec les capteurs connectés à l’ESP32, réaliser un menu de sélection… Attention toutefois, il semble y avoir une erreur de conception qui empêche le bon fonctionnement du bus I2C. Le problème venait peut être de la carte que j’ai acheté pour écrire le tutorielToutes les offres

ESP32 compacte

Idéale si vous avez des projets nécessitant un très faible encombrement. Toutes les offres

Capteurs, actionneurs, entrées analogiques ou numériques pour projets DIY

Cette sélection de composants est également compatible avec le firmware ESP Easy.

-5% Intelligent Électronique broches Flamme Capteur De Détection D'incendie Module D'allumage Source Détecte...
0,37 0,39
Voir l'offre
AE__banggood AliExpress
-15% 10 pcs Tactile Push Button Switch Tact Commutateur pour Arduino 4 P...
0,39 0,46
Voir l'offre
AE__banggood AliExpress
Ultrasons Module HC-SR04 de Mesure De Distance Capteur Capteur
0,85
Voir l'offre
AE__banggood AliExpress
1 PCS GY-302 BH1750 BH1750FVI intensité de la lumière éclairage module 3...
0,90
Voir l'offre
AE__banggood AliExpress
Nouveau 1 PCS Importé DALLAS DS18B20 18B20 18S20 TO-92 IC PUCE Thermomètre...
0,93
Voir l'offre
AE__banggood AliExpress
-4% 1B1 Nouvelle Température et Humidité Relative Capteur DHT11 Module avec Câble
0,98 1,03
Voir l'offre
AE__banggood AliExpress
-15% Micro SD TF Card Memory Shield Module SPI Micro SD Adapter For...
1,06 1,26
Luminosité Capteur GY-2561 TSL2561 Module D'éclairage
1,28
Voir l'offre
AE__banggood AliExpress
1 PCS TENSTAR ROBOT GY-68 BMP180 Remplacer BMP085 Barométrique Numérique Capteur de...
1,29
Voir l'offre
AE__banggood AliExpress
-5% 1 Pcs Paquet En Acier Inoxydable DS18b20 Étanche DS18b20 Sonde de Température...
1,31 1,38
Voir l'offre
AE__banggood AliExpress
C302 Livraison gratuite Zéro dérive CJMCU-219 INA219 I2C interface Bi-directionnel courant/puissance surveillance...
1,58
Voir l'offre
AE__banggood AliExpress
5 PCS PCF8574P PCF8574 DIP16 DIP nouveau et original IC livraison gratuite
1,58
Voir l'offre
AE__banggood AliExpress
-5% Nouvelle Interface Série Module IIC I2C MCP23017 SPI MCP23S17 Bidirectionnel 16-Bit I/O...
1,69 1,78
Voir l'offre
AE__banggood AliExpress
-4% PCA9685 16 Canal 12 bits PWM Servo Pilote I2C Interface pour Raspberry...
1,78 1,87
Voir l'offre
AE__banggood AliExpress
Hrph Capteur BMP280 Pression Module De Haute PréCision AtmosphéRique Arduino Remplacer BMP180
2,00
Voir l'offre
AE__banggood Amazon.fr
TENSTAR ROBOT DHT22 Température Numérique et Capteur D'humidité AM2302 Module + PCB...
2,58
Voir l'offre
AE__banggood AliExpress
-7% Industrielle De Haute Précision Si7021 Capteur D'humidité avec Interface I2C
2,68 2,91
Voir l'offre
AE__banggood AliExpress
-4% BME280 Capteur Numérique Température Humidité Capteur de Pression Barométrique Module I2C SPI...
3,06 3,22
Voir l'offre
AE__banggood AliExpress
-10% 0.96 pouce IIC Série Blanc OLED Module D'affichage 128X64 I2C SSD1306 12864...
3,39 3,77
Voir l'offre
AE__banggood AliExpress
5 Couleur Dessus de Touche 25 Pcs Tactile Bouton-Poussoir Momentané 12*12*7.3 MM...
3,60
Voir l'offre
AE__banggood AliExpress
1 PCS écran LCD2004 + I2C 2004 20x4 2004A bleu HD44780 Caractère...
4,10
Voir l'offre
AE__banggood AliExpress
Sharp GP2Y1010AU0F Compact des poussières du capteur capteur optique de fumée de...
5,88
Voir l'offre
AE__banggood AliExpress
GY-63 MS5611-01BA03 Haute-résolution Atmosphérique Hauteur Capteur Module IIC/SPI Communication MS5611
6,85
Voir l'offre
AE__banggood AliExpress
Module convertisseur Bingo-uk Pcf8591 AD/DA analogique vers numérique Conversion Arduino + câble
Voir l'offre
AE__banggood Amazon.fr
MLX90614 Sans Contact Module De Capteur De Température Infrarouge Ir 3-5V Pour...
Voir l'offre
AE__banggood Amazon.fr

Kits et assortiments de composants électroniques

C’est beaucoup plus avantageux d’acheter vos composants en assortiment. LED, résistance, condensateur, boutons… Impossible de lister tous les composants, rendez-vous sur Banggood pour rechercher l’assortiment dont vous avez besoin. Pour commencer, voici une sélection de matériel économique pour la soudure.

Dernière mise à jour des prix le 10 janvier 2018 8 h 42 min

Kit breadboard (platine de prototypage sans soudure) 830 points + jumper + alimentation 5V/3.3V

Toutes les offres

Assortiment de résistances

Toutes les offres

Assortiment de LED, 3 et 5mm

Toutes les offres

Assortiment de condensateurs

Toutes les offres

Autres assortiments

Dernière mise à jour des prix le 10 janvier 2018 8 h 43 min

Fraiseuse CNC 3 axes EleksMill

Une fraiseuse CNC 3 axes vous permettra de réaliser de petit usinage dans du bois ou des matériaux polymères. Vous pourrez également réaliser des perçages de précision si vous souhaité réaliser votre propre circuits imprimés (PCB). La EleksMill de EleksMaker est une petite fraiseuse CNC robuste 3 axes (X-Y-Z). Elle est disponible en deux versions. La version de base est livrée avec une électro-broche d’une puissance de 30W (disponible ici en promo également en cas de panne). Elle pourra recevoir un outil de gravure ou une fraise 2 tailles. La puissance est suffisante pour usiner des matériaux polymères (acrylique, nylon, bakelite…), du bois ou des métaux tendres (cuivre, aluminium).

Pour réaliser vos usinages, la mini fraiseuse CNC EleksMill est compatible avec le logiciel Open Source GRBL disponible sur GitHub ici. Pour la gravure laser, il faudra se contenter du logiciel chinois BenBox disponible ici. Vous trouverez tout ce qu’il vous faut pour installer et réaliser votre première gravure sur le blog Siine ici. Il est adapté à la version v3.7.99 de Benbox.

eleksmaker cnc laser graver banggood discount

La version complète intègre en plus de l’électro-broche un laser de gravure (445-450nm) d’une puissance de 500mW. Le changement d’outil se fait très simplement (voir à la fin de la vidéo) en quelques secondes. Durant les promos, la version avec module laser est 10€ moins chère que la version de base. Dommage de s’en priver !

Attention. Le kit n’intègre pas de lunettes de protection Laser. Il faudra l’acheter séparément celle-ci par exemple.

Cette petite CNC est essentiellement destinée à réaliser de la gravure, découpe ou petit usinage plan. La EleksMill trouvera également sa place dans l’atelier d’un Maker qui a besoin d’une petite machine efficace pour la fabrication de PCB, gravure des circuits, perçages, découpe…

Le volume de travail utile est de 130 x 90 x 40 mm. Pour obtenir une bonne stabilité d’usinage, la structure est réalisée à l’aide de profilés d’aluminium et de plaques d’acrylique blanc. La table d’usinage est également réalisée en profilé d’aluminium. Les rainures du profilé serviront à la fixation des pièces à usiner ou graver. Toutes les étapes d’assemblage sont disponibles sur le WiKi d’Eleksmaker ici.

EleksMaker® EleksMill CNC Micro Engraving Machine With 500mw Laser Module

285,66 339,90
Dernière mise à jour du 10 janvier 2018 8 h 43 min

EleksMaker® EleksMill CNC Micro Engraving Machine Without Laser Module

334,24 436,25
Dernière mise à jour du 10 janvier 2018 8 h 43 min

Outils de gravure, de perçage et d’usinage pour fraiseuse CNC

Fraises Foret Carbure Titane Perçage Perceuse Acier Drill Bit Outil PCB 33-38mm
1,00
10pcs 0.2-0.9mm HSS Foret Fraise Forage Perceuse PCB Bois Metal Revêtu Drill...
1,03
10Pcs 0.3mm to 1.2 m PCB Print Circuit Board Carbide Micro Drill...
2,31
Voir l'offre
AE__gearbestcom Newfrog.com
-44% Nouveau 10 Pcs/ensemble Micro Mini Twist Forets Set PCB Imprimer Circuit Board...
2,48 4,50
Voir l'offre
AE__gearbestcom AliExpress
Drillpro DB-P1 10pcs Tungsten Steel Hard Alloy PCB CNC Drill Bits For...
2,51
-15% Drillpro DB-P2 10pcs 0.3-1.2mm Carbide Micro PCB Drill Bits CNC Jewelry Rotary...
2,82 3,35
-5% 10Pcs 0.8mm Carbide CNC / PCB Endmill Gravure Drill Bits Foret Fraise
2,83 2,98
-49% 10 pc 3.175mm Carbure Forets Micro Gravure CNC PCB Endmill Faire Trou...
3,11 6,10
Voir l'offre
AE__gearbestcom AliExpress
-15% 5pcs 0.1mm 15 Degree Titanium Coated Carbide Flat Bottom PCB Engraving Bit...
3,76 4,47
-31% 10 Pcs 3.175mm De Tungstène Peu V Forme Carbide PCB Gravure Bits...
4,00 5,80
Voir l'offre
AE__gearbestcom AliExpress
-5% 10 Pcs 1/8 ''0.8-3.175mm PCB Foret Ensemble Gravure Couteau Rotatif CNC End...
4,27 4,54
Voir l'offre
AE__gearbestcom AliExpress
10Pcs PCB Shank Drill Set for Mechanic Reparing Maintainance Engineering Electronic Drill
4,30
-16% Drillpro DB-M3 10pcs 1.3mm-3.175mm Carbide End Mill Engraving Bits for CNC PCB...
5,87 6,99
10pcs Tungsten Carbide Micro Drill Bits Set Engraving Tools for PCB Circuit...
5,91
Voir l'offre
AE__gearbestcom TOMTOP Technology Co., Ltd
0.8-3mm Titanium Coated Tungsten Steel PCB Drill Bit (10-Pack)
6,68
-15% EsportsMJJ 10Pcs 0.3 mm Mini Pcb Drill Bits Pour Cnc Print Circuit...
6,70 7,91
Voir l'offre
AE__gearbestcom Amazon.fr
Paor 10 Pcs PCB Print Circuit Board Carbure Micro Drill Bits 0.1mm...
7,97
Voir l'offre
AE__gearbestcom Amazon.fr
50pcs 0.25mm Tungsten Carbide Micro Drill Bits Set Engraving Tools for PCB...
10,74
Voir l'offre
AE__gearbestcom TOMTOP Technology Co., Ltd
-51% WEONE remplacement 0.8mm Titanium Coated Carbide Micro Mèches Avec 1/8
12,18 24,91
Voir l'offre
AE__gearbestcom Amazon.fr
50pcs Drill Bits Tools Tungsten Carbide Micro Engraving For PCB Circuit Board
19,99

Table XY EleksLaser pour gravure laser ou stylo traçant

Les tables traçantes EleksLaser sont proposées dans les dimensions A5 et A3. Les tables EleksLaser sont compatibles avec la plupart des logiciels Open Source Candle, EleksCam, T2-Laser, Benbox, Grbl Controller, LiteFire, Laser GRBL. Si vous n’avez pas besoin du module laser, vous pouvez acheter la table seule pour moins de 150€ dans le format A3 par exemple.

En plus de la dimension de la table (A3 ou A5), vous pourrez choisir (selon votre budget et vos besoins) la puissance de la source laser. Il est possible d’acheter la table EleksMaker sans module laser dans la dimension A5 ou A3. Le modèle A5 dispose d’une surface de gravure de 200 x 130 mm. Le modèle A3 dispose d’une surface utilise de gravure de 300 x 400 mm. Voici un tableau récapitulatif des différentes combinaisons possibles. Quatre puissances sont proposées : 500mW1600mW, 2500mW, 5500mW. Une source de 7000mW est également disponible séparément.

Puissance du laser | Dimension A5

200 x 130 mm

A3

300 x 400 mm

500 mW X X
1600 mW X X
2500 mW X X
5500 mW X X
7000mW Source laser bleu 445nm  Source laser bleu 445nm

Les tables de gravure sont construites à partir de profilés d’aluminium extrudé garantissant une bonne stabilité. Les autres éléments de structure sont réalisés en plexiglass transparent. La visserie est en acier inoxydable. Cette conception permet d’obtenir une très bonne précision de 0,01mm dans les deux directions. Les moteurs sont de type 42H34S-1304A. Ils peuvent être achetés séparément en cas de panne.

Toutes les tables EleksLaser sur Banggood sont ici.

Attention, le port de lunettes de protection est obligatoire durant la gravure. Une paire de lunettes de protection est en général livrée dans les kits de gravure laser. En cas de perte, de casse ou pour équiper vos amis, vous pouvez acheter séparément des lunettes de protection adaptées à la gravure laser. Attention à bien choisir une paire de lunette de protection adaptée à la bande de longueur d’onde émise par votre laser. Voici quelques longueurs d’ondes classiques :

  • Laser bleu : 360~490nm. Le plus utilisé en gravure
  • Laser vert : 520~540nm
  • Laser rouge : 590~690nm
  • Infrarouge : 1064nm

Voici deux produits qui peuvent convenir

Pour laser bleu/violet 200 à 500nm OD4+. Lunettes livrées dans les kits Eleksmaker Filtre la bande 360 à 1064nm. IPL-2 OD+4D
lunette glasses protection laser bleu eleksmaker lunette glasses protection laser IPL-2 OD+4D

Matériaux prohibés et possibles en gravure laser

La gravure laser n’est pas une activité anodine. Il peut y avoir des risques avec certains matériaux. L’Université Suisse de Genève à listée sur cette page Wiki plusieurs matériaux à prohiber en gravure laser. Ce sont essentiellement des matériaux polymères qui peuvent fondre ou brûler (ABS, PSE, PPE, PE-HD, PC) ou dégager des gaz nocifs (PVC, cuir synthétique, fibre de verre, fibre de carbone, PTFE) ou cancérigènes (MDF).

Voici quelques matériaux qui peuvent convenir d’après l’Université de Genève* :

  • Verre acrylique, plexiglas GS ou plexiglas XT
  • Polyester ou Polyuréthane (PU) dont voici quelques marques : Cellasto®, Elastocoat®, Elastoflex®, Elastofoam®, Elastolit®, Elastopal®, Elastopan®, Elastopor®, Lupranol®, Baydur®, Bayfill®, Bayflex®, Baylit®, Baymer®, Baytherm®, Desmodur®
  • Carton, papier
  • Bois massif mais pas le MDF (medium-density fibreboard), ni le contreplaquer. Le MDF est obtenu par agglomération et collage de résidus de bois broyés
  • Textile. Attention à ce que la tête de gravure ne s’accroche pas durant les déplacements

(*) Informations indicatives dans l’état actuel des connaissances sur la toxicité des matériaux (novembre 2017). Veuillez respecter les consignes de sécurité des fabricants.

Matériel pour le soudage de composants CMS, SMD

La soudure ou plus précisément de brasage des composants CMS ou SMDest assez délicate. Vu l’espace entre chaque broche, venir souder les composants électroniques avec un fer à souder traditionnel relève du défit. Il existe des stations de soudure à air chaud pour composants CMS ou SMD. Le fil d’étain est remplacé par une pâte à braser. Voici le matériel de base à acheter :

Vous pouvez également commencer par vous exercer en achetant un kit d’apprentissage.

Si votre budget le permet, vous pouvez opter pour un four à refusion

 

Accéder directement aux soldes chez les marchands en ligne

Cet article 🔥 Soldes hivers 2018, composants et matériels pour IoT et montage électronique DIY est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Communication WebSocket avec un ESP8266 ou Arduino en Python. Test avec la librairie ws4py sur Raspberry Pi

$
0
0

Le Websocket est un protocole de communication beaucoup plus rapide que le protocole REST qui utilise des requêtes HTTP classiques. Le Websocket permet d’ouvrir un canal de communication bi-directionnel entre deux appareils. Dans le cas présent, ce sera entre un ES8266 (mais cela pourrait également être un Arduino ou un ESP32) et un Raspberry Pi 3. Dans ce tutoriel, nous allons démarrer un serveur WebScoket sur un ESP8266 (Wemos d1 R2). Le client sera développé en Python et sera hébergé sur un Raspberry Pi. Nous ré-utiliserons cette architecture très prochainement pour piloter un bras robotique en WiFi à l’aide d’un Gamepad (dans l’article précédent, nous avons vu comment intercepter les actions).

Les avantages du Websocket par rapport à l’API REST HTTP classique

Le websocket a été élaboré pour les applications qui nécessitent des réponses rapide ou interactives. Le HTTP a été élaboré à la préhistoire du Web (par le CERN de Genève). Le protocole HTTP est employé pour faire fonctionner les sites internets mais également les applications mobiles (par exemple). Les API REST sont également basées sur l’HTTP. L’HTTP n’est pas adapté aux applications qui nécessitent des réponses rapides ou interactives. En effet, à chaque fois que le client fait une requête au serveur, on doit ouvrir une connexion, attendre la réponse du serveur puis refermer la connexion ce qui est consommateur de ressources et prend du temps de traitement.

On ne tiendra pas compte ici de la technologie Ajax qui permet d’actualiser le contenu d’une page web de manière asynchrone. Ajax pourra être utilisée dans les projets Arduino / ESP8266 (et équivalent) coté client web, c’est à dire au niveau de l’interface HTML du projet (lisez ces articles pour en savoir plus). Un exemple de réalisation ici.

Le Websocket vise à résoudre ces problèmes. Le Websocket ouvre un tunnel de communication entre deux appareils. Ce tunnel reste ouvert jusqu’à ce que le client se déconnecte. A n’importe quel moment le client peut envoyer des messages (JSON, binaire, texte…) et vis versa.

Source : https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/

Pour résumer, le Websocket présente les avantages suivants :

  • Bi-directionnel: le protocole HTTP est unidirectionnel, c’est à dire que le client envoi une requête à laquelle le serveur répond ensuite. Le client consomme ensuite la réponse et ainsi de suite. WebSocket est un protocole bidirectionnel dans lequel il n’y a pas de modèles de message prédéfinis tels que demande / réponse. Le client ou le serveur peut envoyer un message à l’autre partie.
  • Full-duplex: serveur et client peuvent s’envoyer des messages à n’importe quel moment indépendamment des traitements en cours.
  • Connexion TCP unique: Généralement, une nouvelle connexion TCP est lancée pour une requête HTTP et se termine après la réception de la réponse. Une nouvelle connexion TCP doit être établie pour une autre requête / réponse HTTP. Avec le WebSocket, le client et le serveur communiquent sur la même connexion TCP jusqu’à ce que le client ou le serveur ferme la connexion.
  • Léger : le Websocket se concentre sur l’essentiel contrairement à l’HTTP qui embarque de nombreuses informations à chaque question / réponse

En terme de performance, le Websocket est beaucoup plus rapide comme le montre cette étude réalisée par le développeur Arun Gupta en 2014. Arun a mesuré le temps nécessaire pour envoyer des paquets de messages. Chaque message pèse 1000 bytes.

websocket rest messages comparison speed

Source : http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

La différence peut sembler insignifiante (30% plus rapide) pour un nombre très faible de message. Vous verrez que pour piloter un bras robotique ou un éclairage à LED depuis une application mobile, le différence est vraiment significative !

Source : http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

Installation de la librairie Websocket pour ESP8266 sur l’IDE Aduino

En faisant une recherche sur le mot clé websocket depuis le gestionnaire de bibliothèque, on trouve plusieurs librairies compatibles avec les modules ESP8266. Je vous conseille toutefois d’utiliser la librairie développée par Markus Sattler. Elle permet de démarrer un serveur ou de transformer l’ESP8266 en client Websocket. Elle est disponible sur GitHub ici. Elle est compatible avec les cartes suivantes (dommage, elle n’est compatible avec l’ESP32) : 

  • Arduino
  • ESP8266
  • ESP31B
  • Particle avec STM32 ARM Cortex M3
  • ATmega328
  • ATmega2560

Démarrer un serveur Websocket sur un ESP8266 (fonctionne également sur Arduino et ESP32)

La librairie Websocket contient plusieurs exemples (client, serveur). Cette librairie est très bien faite. Elle permet de brancher une fonction callback qui sera appelée à chaque fois qu’un message est reçu. Il est alors très facile de brancher les traitements associés en décodant les messages (nous verrons comment faire dans le prochain paragraphe).

On commence par créer un objet qui contiendra le serveur Websocket

WebSocketsServer webSocket = WebSocketsServer(81);

Dans le setup, on démarre le serveur et on indique la procédure callback qui sera appelée à chaque nouveau message.

webSocket.begin();
webSocket.onEvent(webSocketEvent);

La librairie permet de connaître le type de message reçu :

  • WStype_DISCONNECTED, le client s’est déconnecté
  • WStype_CONNECTED, un client vient de se connecter
  • WStype_TEXT, un message de type text (chaine, JSON..) vient d’arriver
  • WStype_BIN, un message de type binaire vient d’arriver

Enfin, on ajoute comme pour un serveur web, l’actualisation du serveur  chaque passage dans la boucle loop. Il est donc préférable de ne pas mettre de delay dans cette boucle pour ne pas ralentir le serveur et donc la réception des messages.

webSocket.loop();

Créez un nouveau croquis et collez le code ci-dessous en modifiant les paramètres WiFi.

#include <ESP8266WiFi.h>
#include <WebSocketsServer.h>

const char* ssid     = "XXXX";
const char* password = "XXXX";
const int pinLed0 = 13;

WebSocketsServer webSocket = WebSocketsServer(81);

void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {
    Serial.printf("[%u] get Message: %s\r\n", num, payload);
    switch(type) {
        case WStype_DISCONNECTED:
            break;
        case WStype_CONNECTED:
            {
              IPAddress ip = webSocket.remoteIP(num);
              Serial.printf("[%u] Connected from %d.%d.%d.%d url: %s\r\n", num, ip[0], ip[1], ip[2], ip[3], payload);
            }
            break;

        case WStype_TEXT:
            {
              //Serial.printf("[%u] get Text: %s\r\n", num, payload);
              String _payload = String((char *) &payload[0]);
              //Serial.println(_payload);

              String idLed = (_payload.substring(0,4));
              String intensity = (_payload.substring(_payload.indexOf(":")+1,_payload.length()));
              int intLed = intensity.toInt();
              Serial.print("Intensity: "); Serial.print(intensity); Serial.print(" to int "); Serial.println(intLed);
              updateLed (idLed, intLed);

            }
            break;

        case WStype_BIN:
            {
              hexdump(payload, lenght);
            }
            // echo data back to browser
            webSocket.sendBIN(num, payload, lenght);
            break;

    }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(pinLed0, OUTPUT);
  WiFi.begin(ssid, password);

  while(WiFi.status() != WL_CONNECTED) {
     Serial.print(".");
     delay(200);
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  delay(500);

  Serial.println("Start Websocket Server");
  webSocket.begin();
  webSocket.onEvent(webSocketEvent);
}

void loop() {
  webSocket.loop();
}

void updateLed(String idLed, int intLed){
  int valPWM = map(intLed, 0, 99, 0, 254);
  Serial.println(valPWM);
  analogWrite(pinLed0, valPWM);
}

Comment décoder les messages WebSocket

Il est possible d’envoyer un message au format JSON et de le décoder avec la librairie ArduinoJSON présenté précédemment dans cet article par exemple. Cette librairie pose toutefois problème dès qu’on reçoit un très grand nombre de messages. Pour piloter l’intensité lumineuse d’un LED en PWM ou la position d’un servomoteur, il est préférable de découper le message à l’aide de fsonctions plus classiques qui nécessitent moins de ressources sur l’ESP8266. On pourra par exemple utiliser la fonction C++ substring(position, nombre de caractères). Ici, on récupère le premier message (payload[0]) puis on extrait l’identifiant de la LED ainsi que l’intensité. Le séparateur utilisé est “:”, ce qui donne un message du type led0:58.

String _payload = String((char *) &payload[0]);
Serial.println(_payload);

String numLed=(_payload.substring(0,4));
String dirServo=(_payload.substring(_payload.indexOf(":"),_payload.length()));

moveServos(numServo, dirServo);

Ensuite, il est préférable de tester la présence d’une chaîne plutôt que de faire un test d’égalité entre deux chaînes (==).

if ( numServo.indexOf("0") > 0 ) {
   if ( dirServo.indexOf("left") > 0 ) {
     // traitement
   }
}

Client Websocket en Python avec la librairie ws4py

Il existe plusieurs librairies Python permettant de mettre en place une communication Websocket. Voici les principales que vous pouvez utiliser dans vos projets :

  • websockets 4.x. C’est la plus connue, la documentation est ici.
  • ws4py est une librairie développée par Sylvain Hellegouarch (Lawouach sur GitHub). Elle est disponible sur GitHub ici. Elle est référencée sur PyPi, donc très facile à installer et à mettre à jour avec la commande pip. La documentation se trouve ici.

Ici, je vous propose d’utiliser ws4py qui est assez bien documenté et qui supporte très bien l’utilisation des threads sous Python (tâches réalisées en parallèle indépendamment du programme principal). Commencez par installer la librairie ws4py en exécutant la commande suivante

pip install ws4py

Ici, on va créer en client Websocket. Pour cela, on va importer la classe WebSocketClient de la librairie ws4py.

from ws4py.client.threadedclient import WebSocketClient

La librairie ws4py expose plusieurs méthodes callback qui pourront servir à déclencher des traitements dans le code. On dispose des méthodes suivantes :

  • opened
  • closed
  • received_message

La documentation de ws4py donne un exemple d’utilisation. On créé un DummyClient de type WebSocketClient qui contient les différents états du client.

class DummyClient(WebSocketClient):
    def opened(self):
        print("Websocket open")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason
    def received_message(self, m):
        print m

Ensuite, on créé un objet websocket en lui passant en paramètre l’adresse ip de serveur websocket. Pour le moment, on va communiquer sans sécurité sur le port 81. L’adresse d’un serveur est composée du préfixe ws:// ou wss:// s’il est sécurisé par un certificat SSL (ce n’est pas le cas ici). Ensuite, on trouve l’adresse IP du serveur, dans le cas présent, c’est l’adresse IP de l’ESP8266. Enfin, le port, ici 81. Cela donne par exemple

ws://192.168.1.65:81/

Enfin, on ouvre la communication avec le serveur

ws.connect()

La commande ws.send(message) permet d’envoyer à n’importe quel moment un message au serveur. Les messages en provenance du serveur seront traités par le DummyClient à l’aide de la méthode received_message. On peut envoyer n’importe quel type de données. Une chaine de caractère avec un séparateur de données quelconque (| : – , ), un JSON (pour cela on pourra utiliser le package JSON pour python), des données binaires (une image par exemple)…

Code complet du client websocket en Python

Créez un nouveau script avec la commande nano wsled.py (par exemple) et collez le code complet ci-dessous. Modifiez l’adresse IP de l’ESP8266. Enregistrez le script avec CTRL  X puis Y ou O (en français).

from ws4py.client.threadedclient import WebSocketClient
import time, requests

esp8266host = "ws://192.168.1.65:81/"

class DummyClient(WebSocketClient):
    def opened(self):
        print("Websocket open")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason
    def received_message(self, m):
        print m

if __name__ == '__main__':
    try:
        ws = DummyClient(esp8266host)
        ws.connect()
        print("Ready !")

        i = 0
        while i < 101:
          payload = "led0:" + str(i)
          ws.send(payload)
          time.sleep(.20)
          i +=1

        print("Demo finish, close Websocket connexion now and exit script")
        ws.send("led0:0")
        ws.close()
        exit()

    except KeyboardInterrupt:
    	ws.send("led0:0")
        ws.close()

Branchez une LED entre la broche D7 (GPIO15) et le GND. Ajoutez une résistance en fonction de la tension admissible par la LED (plus d’info ici). Téléversez le script Arduino sur l’ESP8266 et attendez que celui-ci soit connecté au réseau WiFi en ouvrant le moniteur série. Dès que l’ESP est connecté au réseau, vous pouvez lancer le script avec exécutant la commande

python wsled.py
. Vous pouvez suivre sur le moniteur série la réception et le décodage des messages. Vous pouvez modifier la vitesse de publication des coté client (script python) en modifiant le temps d’attente. Ici, il est de .10 soit 100ms (en python, la durée d’attente de la fonction time.sleep est indiquée en seconde). Vous pouvez interrompre le script à n’importe quel moment avec la combinaison de touche CTRL + C.

Voilà, tout est en place pour le projet de pilotage de bras robotique à l’aide d’un Gamepad !

Cet article Communication WebSocket avec un ESP8266 ou Arduino en Python. Test avec la librairie ws4py sur Raspberry Pi est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Codes promo Gearbest imprimantes 3D Anet, Creality3D, Anycubic, Tevo, Tronxy

$
0
0

Vous trouverez ici tous les codes promo validés pour acheter votre imprimante 3D sur Gearbest. Gearbest ne commercialise que quelques modèles des principales marques chinoises d’imprimantes 3D Anet, Creality3D, Anycubic, Tevo, Tronxy, Zonestar, Raiscube et Geeetech. Comme Gearbest ne propose que quelques modèles en volume, mais les prix sont très attractifs. Quelques modèles (principalement l’Anet A8 et la Creality3D CR10 sont disponibles depuis l’entrepôt français ou anglais. Vous n’aurez aucun frais de douane. La livraison assurée par DHL est annoncée entre 2 et 7 jours. Cette page est actualisée très régulièrement. Les anciens codes promo ne sont pas effacés. N’hésitez pas à tester d’anciens code. Ils peuvent peut être fonctionner.

Codes promo Gearbest imprimantes 3D Anet

Anet est un fabricant chinois d’imprimantes 3D en kit très bon marché. L’imprimante 3D Anet A8 est dérivée de l’imprimante 3D Prusa i3 bien connue des makers dont la conception remonte à 2012. L’Anet A8 apporte toutefois quelques amélioration par rapport à la version originale. Le volume d’impression initial (200 x 200 x 180mm) a été porté à  220 x 220 x 240mm. La vitesse d’impression est un peu moins rapide (100mm/s au lieu de 125mm/s). Ce n’est pas l’imprimante 3D la plus rapide du marché mais c’est très correct compte tenu de son prix très serré. Pensez à ajouter un capteur d’Auto Leveling pour environ 11€. Pour 40€ de plus, vous pouvez opter pour l’A6 encore mieux finie.

Anet A8 Desktop 3D Printer - Prise EU

Coupon vérifié le 9 janv. 2018. Quantité limitée à 300 pièces

101,51€ 159,55€
Afficher le coupon
11 jours restants

Codes promo Gearbest imprimantes 3D Anycubic

Anycubic I3 MEGA Full Metal Frame FDM 3D Printer - EU PLUG WHITE AND BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

253,79€ 292,01€
Afficher le coupon
11 jours restants

Codes promo Gearbest imprimantes Creality3D

Creality3D est un fabricant chinois qui existe depuis 2014 (site internet). Creality3D développe des kits à monter soi-même pré-monté. Vous aurez besoin de moins d’une heure d’après Creality3D pour monter votre imprimante. Gearbest commercialise le modèle CR10, une très bonne imprimante 3D stable et silencieuse. La version standard permet d’imprimer dans un volume de 300x300x400mm (LxlxH). Si ce n’est pas encore assez, Gearbest commercialise également la version 500x500x500mm. La version S est une version améliorée. L’axe Z est encore plus stable avec une double vis. Elle dispose également d’un détecteur de filament.

Creality3D CR-10S 3D Desktop DIY Printer - Prise EU

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

363,77€ 395,08€
Afficher le coupon
11 jours restants

Creality3D CR - 10 Enlarged 3D DIY Desktop Printer Kit - Prise EU

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

541,43€ 687,1€
Afficher le coupon
11 jours restants

Creality3D CR - 10 500 x 500 x 500mm 3D Printer DIY Kit - EU BLUE AND BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

752,93€ 910,41€
Afficher le coupon
11 jours restants

Creality CR10S(EU)

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

385,77€ 395,08€
Afficher le coupon
11 jours restants

Codes promo Gearbest imprimantes Tevo

Tevo Tarantula 3D Printer DIY Kit - EU PLUG BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

245,33€ 257,66€
Afficher le coupon
11 jours restants
TEVO Tornado Most Assembled Full Aluminum Frame 3D Printer - EU PLUG 220V / 110V

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

270,71€ 353,04€
Afficher le coupon
11 jours restants

Imprimantes 3D disponibles depuis l’entrepôt français ou européen de Gearbest

Creality3D CR 10 3D Desktop DIY Printer. Prise EU

Expédiée depuis la France. Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

286,78€ 437,23€
Afficher le coupon
11 jours restants

Toutes les imprimantes 3D commercialisées par Gearbest

Dernière mise à jour des prix le 11 janvier 2018 11 h 33 min

Cet article Codes promo Gearbest imprimantes 3D Anet, Creality3D, Anycubic, Tevo, Tronxy est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Codes promo Gearbest drones DJI, Hubsan, FrSky

$
0
0

Vous trouverez ici tous les codes promo validés pour acheter votre drone 3D sur Gearbest. Gearbest ne commercialise que quelques modèles des principales marques chinoises de drones. DJIHubsan, FrSky. Comme Gearbest ne propose que quelques modèles en volume, mais les prix sont très attractifs. Quelques modèles (principalement le DJI Mavic Pro Mini et le DJI Spark) sont parfois disponibles depuis l’entrepôt français ou européen. Vous n’aurez aucun frais de douane en commandant l’entrepôt français. La livraison assurée par DHL est annoncée entre 2 et 7 jours. Cette page est actualisée très régulièrement. Les anciens codes promo ne sont pas effacés. N’hésitez pas à tester un ancien code promo, il peut encore fonctionner.

Tous les autres codes promo Gearbest classés par thème

Quelle version choisir : BNF, RTF, combo ?

La version RTF (qui signifie Ready To Fly, prêt à voler) est un kit complet prêt à décoller. Il contient tout ce qu’il faut si vous débutez, en particulier la télécommande radio. La composition du kit peut varier d’un pack à l’autre mais en général il contiendra le drone, au moins une batterie, un jeu d’hélice de rechange, la télécommande et éventuellement un sac de transport.

La version BNF (qui signifie Bind-N-Fly) est une version plus économique qui est livrée sans l’émetteur. Vous pouvez acheter l’émetteur radio séparément ultérieurement en cas de panne ou de casse.

Vous pourrez également rencontrer la désignation Combo. Elle signifie que le drone est livré avec tous les accessoires. Dans le cas contraire, le drone est livré seul (Only).

Dans tous les cas, lisez attentivement le contenu du kit avant de passer commande.

Codes promo Gearbest drone DJI Phantom

DJI Phantom 4 Pro RC Quadcopter - RTF - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

1098,95€ 1268,15€
Afficher le coupon
10 jours restants

Codes promo Gearbest DJI Spark

Le spécialiste des selfies.

DJI Spark Mini RC Selfie Drone - BNF WHITE (Le meilleur prix)

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

350,24€ 518,16€
Afficher le coupon
10 jours restants

DJI Spark Mini RC Selfie Drone - RTF WHITE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 300 pièces

489,83€ 660,93€
Afficher le coupon
10 jours restants

Codes promo Gearbest DJI Mavic Pro Mini

DJI Mavic Pro Mini RC Quadcopter - MAVIC PRO ONLY GRAY

Coupon vérifié le 9 janv. 2018. Quantité limitée à 500 pièces

709,79€ 772,14€
Afficher le coupon
10 jours restants

DJI Mavic Pro Mini RC Quadcopter - MAVIC PRO COMBO GRAY

Coupon vérifié le 9 janv. 2018. Quantité limitée à 140 pièces

867,15€ 986,86€
Afficher le coupon
10 jours restants

DJI Mavic Pro Mini RC Quadcopter - MAVIC PRO COMBO WHITE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 20 pièces

878,99€ 1,075,67€
Afficher le coupon
10 jours restants

Codes promo Gearbest accessoires drones DJI

DJI Batterie de Vol Connectée 3830mAh 11.4V - Gris

Coupon vérifié le 9 janv. 2018. Quantité limitée à 25 pièces

63,52€ 84,5€
Afficher le coupon
10 jours restants

Codes promo Gearbest drone DJI Mavic Platinium

Le DJI Mavic Pro Platinium est équipé d’un nouveau pilote moteur sinusoïdale. Combiné au hélice 8331 qui possèdent un meilleur profil aérodynamique, le DJI Mavic pro Platinium peut voler jusqu’à 30 minutes (au lieu de 27 minutes pour la version standard). Le bruit est diminuer de 4dB par rapport à la version classique durant les phases de décollage et d’attérissage.

DJI Mavic Pro Platinum Foldable RC Quadcopter - RTF - FLY MORE COMBO PLATINUM

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

1090,49€ 1195,39€
Afficher le coupon
10 jours restants
DJI Mavic Pro Platinum Foldable RC Quadcopter - RTF STANDARD VERSION PLATINUM

Coupon vérifié le 9 janv. 2018. Quantité limitée à 500 pièces

794,39€ 985,63€
Afficher le coupon
10 jours restants

Codes promo Gearbest drones Hubsan

Hubsan H501S X4 Drone Sans Brosse - Blanc + Doré EU Plug Multicolore

Coupon vérifié le 5 dec. 2017. Quantité limitée à 30 pièces

144,55€ 207,39€
Afficher le coupon
Expiré

Hubsan H501S X4 Version Avancée de Drone sans Balais - Prise EU Noir

Coupon vérifié le 5 dec. 2017. Quantité limitée à 50 pièces

170,05€ 250,63€
Afficher le coupon
Expiré

Hubsan X4 H502S 720P 5.8G FPV Drone - WHITE

Coupon vérifié le 5 dec. 2017. Quantité limitée à 50 pièces

91,93€ 99,13€
Afficher le coupon
Expiré

Codes promo Gearbest FrSky

FrSky TARANIS Q X7 Transmetteur 2.4GHz 7CH - Blanc

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

68,51€ 126,55€
Afficher le coupon
10 jours restants

Cet article Codes promo Gearbest drones DJI, Hubsan, FrSky est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.


Codes promo Gearbest boitier TV et mini PC Beelink, Alfawise, Mecool, X96, Tanix, Khadas

$
0
0

Vous trouverez ici tous les codes promo validés pour acheter un boitier TV ou un mini PC sur Gearbest. Gearbest ne commercialise les principales marques chinoises. BeelinkAlfawise, Mecool, H96, X96, Tanix, Khadas, R-TV, Scishion entre autre.

Tous les autres codes promo Gearbest classés par thème

Codes promo Gearbest mini PC Beelink, Khadas

Beelink BT3 Pro Mini PC - Windows 4GB + 64GB Prise EU

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

85,45€ 103,06€
Afficher le coupon
10 jours restants

Khadas VIM2 Max TV Box 3GB DDR4 + 64GB eMMC

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

101,5€ 109,97€
Afficher le coupon
10 jours restants

Code promo Gearbest boitier TV Alfawise

Alfawise H96 Pro + TV Boîte - 3Go de RAM + 32Go de ROM Prise EU

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

35,52€ 57,54€
Afficher le coupon
10 jours restants

Code promo Gearbest boitier TV Tanix

Tanix TX3 Max TV Box--Amlogic S905W / Android 7.1 with New ALICE UX 2+16GB

Coupon vérifié le 9 janv. 2018. Quantité limitée à 400 pièces

29,6€ 34,35€
Afficher le coupon
10 jours restants

Code promo Gearbest boitier TV X96

X96 Mini TV Box 2GB RAM + 16GB ROM - 2GB RAM + 16GB ROM EU PLUG

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

21,98€ 27,48€
Afficher le coupon
10 jours restants
X96 Mini TV Box 2GB RAM + 16GB ROM - 2GB RAM + 16GB ROM EU PLUG

Coupon vérifié le 5 dec. 2017. Quantité limitée à 200 pièces

22,1€ 25,63€
Afficher le coupon
Expiré

Code promo Gearbest boitier TV Beelink

Beelink GT1 Android TV Box Octa Core Amlogic S912 - 2GB+16GB EU PLUG

Coupon vérifié le 9 janv. 2018. Quantité limitée à 30 pièces

38,06€ 54,1€
Afficher le coupon
10 jours restants
Beelink GT1 Android TV Box Octa Core Amlogic S912 - 2GB+16GB EU PLUG

Coupon vérifié le 5 dec. 2017. Quantité limitée à 0 pièces

38,26€ 52,98€
Afficher le coupon
Expiré

Code promo Gearbest boitier TV Mecool

Mecool M8S PRO L 4K TV Box Amlogic S912 Bluetooth 4.1 + HS - 3GB RAM + 32GB ROM

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

46,53€ 53,24€
Afficher le coupon
10 jours restants
MECOOL M8S Pro+ TV Box Amlogic S905X Android 7.1 2+16GB

Coupon vérifié le 9 janv. 2018. Quantité limitée à 130 pièces

26,21€ 33,49€
Afficher le coupon
10 jours restants
Mecool M8S PRO L 4K TV Box Amlogic S912 Bluetooth 4.1 + HS - 3GB RAM + 32GB ROM

Coupon vérifié le 5 dec. 2017. Quantité limitée à 50 pièces

46,77€ 52,98€
Afficher le coupon
Expiré

MECOOL M8S Pro+ TV Box Amlogic S905X Android 7.1 2+16GB

Coupon vérifié le 5 dec. 2017. Quantité limitée à 180 pièces

26,35€ 31,61€
Afficher le coupon
Expiré

Toutes les box TV commercialisées par Gearbest

Dernière mise à jour des prix le 11 janvier 2018 13 h 02 min

Attention. Le prix réel peut être légèrement différent du prix affiché à cause des fluctuations journalières du dollars US.

Cet article Codes promo Gearbest boitier TV et mini PC Beelink, Alfawise, Mecool, X96, Tanix, Khadas est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Nouveau Orange Pi Lite2 Allwinner H6 1GB, WiFi, Bluetooth, connecteur CSI à 21,21€

$
0
0

Quelques jours à peine après avoir lancé sa nouvelle carte de développement Allwinner H6 Orange Pi One Plus, Shenzhen Xunlong revient aujourd’hui avec une nouvelle carte basée sur le même processeur ARM. L’Orange Pi Lite2 est une évolution significative de l’Orange Pi Lite utilisée dans plusieurs projets l’an passé. Cette nouvelle carte, contrairement à l’Orange Pi One Plus, tire mieux parti des fonctionnalités offertes par le SoC Allwinner H6. C’est une carte de développement très compacte (69x48mm) qui embarque 1GB de mémoire LPDDR3, un module WiFi 802.11ac et Bluetooth. Un connecteur Ipex permettra de remplacer l’antenne d’origine par une antenne plus puissante. La carte dispose de 2 ports USB dont l’un est (enfin) à la norme USB 3.0.

L’Orange Pi Lite2 est disponible dès maintenant sur la boutique AliExpress de Shenzhen Xunlong au prix de 21,21€ (+ 2,68€ de port dans mon cas).

 

Caractéristiques de l’Orange Pi lite2

En gras les différences techniques avec l’Orange Pi One Plus

  • SoC : Allwinner H6 V200 quad core Cortex A53 processor with Arm Mali-T720MP2 GPU
  • Mémoire système : 1 Go LPDDR3
  • Stockage : lecteur de carte micro SD jusqu’à 32 Go (au lieu de 64 Go sur les anciens modèles)
  • Sortie vidéo et audio : HDMI 2.0a jusqu’à 4K @ 60 Hz. Support HDR, HDCP, CEC
  • Connectivité : Wifi 802.11b/g/n/ac et Bluetooth 4.1 (module Ampak 6255)
  • USB : 1x port hôte USB 2.0,1x USB 3.0 port, 1x port micro USB OTG (pour l’alimentation 5V de la carte)
  • Connecteur d’extension : 26 broches
  • Débogage, installation du système par communication série (tutoriel) : connecteur à 3 broches
  • Divers : voyants d’alimentation et d’état, bouton d’alimentation, récepteur IR, microphone
  • Alimentation : 5V / 2A via le port micro USB.  Gestionnaire d’alimentation avec prise en charge de la recharge pour batterie AXP805 PMIC (documentation technique). Aucun connecteur pour batterie n’est disponible sur la carte, dommage !
  • Dimensions : 68 x 48 mm (identique à l’Orange Pi One Plus)
  • Poids : 50 grammes

 

Le port Ethernet Gigabit n’est pas présent sur la carte. On dispose d’un connecteur pour caméra CSI. Il n’y a aucune information sur la compatibilité avec les caméras pour Raspberry Pi. Dans le cas contraire, il faudra se contenter d’une caméra USB ou du module caméra 2MP développé par Shenzhen Xunlong. En attendant que la distribution Armbian soit adaptée à ce nouveau Orange Pi Lite2, il faudra se contenter de la distribution Android 7.0 disponible sur la page de téléchargement d’Orange Pi. Un toolchain est également disponible pour les plus utilisateurs expérimentés qui savent compiler la distribution linux

Cet article Nouveau Orange Pi Lite2 Allwinner H6 1GB, WiFi, Bluetooth, connecteur CSI à 21,21€ est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Piloter un bras robotique en WiFi avec un Gamepad depuis un Raspberry Pi (code Python evdev + WebSocket)

$
0
0
architecture websocket raspberry pi espduino esp8266 pca9685 rot2u 6dof

Dans les tutoriels précédents, nous avons vu comment intercepter les actions d’un Gamepad SNES USB sur un PC Linux ou un Raspberry Pi (lire l’article). Nous avons également vu comment communiquer très rapidement (on pourrait presque dire en temps réel) avec un Arduino ou un ESP8266 à l’aide du protocole WebSocket. Aujourd’hui, nous allons assembler ces connaissances pour piloter un bras robotique équipé de 6 servomoteurs (5 axes + 1 pince). Pour ce tutoriel, nous utiliserons le kit ROT2U 6DOF présenté en novembre dernier (toutes les étapes de montage dans cet article).

Un peu de lecture avant de commencer

Avant de commencer, vous pouvez lire ces articles qui expliquent plus en détail les différents aspects techniques abordés dans ce projet :

Les notions abordées dans ce tutoriel

Le bras robotisé peut être un simple jeu mais également un excellent outil d’apprentissage en mécanique, électronique, programmation, communication HTTP. Dans cette série d’articles, nous allons aborder les notions suivantes :

  • En programmation Arduino en C++
    • Comment piloter des servomoteurs
    • Comment connecter un Arduino/ESP8266 à un réseau WiFi
    • Créer un serveur WebSocket sur un Arduino ou ESP8266. Réception et envoi de messages
  • En programmation en Python
    • Utilisation des packages evdev, ws4py, threading, time
    • Initiation aux threads (fonctions exécutées en parallèle du programme principale)
    • Créer un client WebSocket en Python. Envoyer et recevoir des messages de façon asynchrone
    • Intercepter les actions sur un Gamepad à l’aide de la librairie evdev pour Linux. Envoyer des ordres de déplacement jusqu’à ce que le bouton soit relâché (à l’aide d’un thread)
  • Matériel
    • Circuit PCA9685 I2C pour piloter des servomoteurs
    • Les servomoteurs
    • L’ESP8266

Le bras robotique est un très bon outil d’apprentissage en programmation. Cette année, j’espère pouvoir aborder des notions plus complexes en vision industrielle et en programmation de trajectoires. En embarquant une webcam sur la pince on pourrait faire du tri ou de la reconnaissance de forme avec le projet Open Source OpenCV (vous pouvez découvrir OpenCV en lisant cet article). Le top serait de maitriser la programmation de trajectoire à l’aide du projet ROS (Robot Operating System)… 😀

Dernière mise à jour des prix le 12 janvier 2018 9 h 57 min

Architecture de communication WebSocket

Vous l’avez compris, ce projet est un prétexte pour aborder de nombreuses notions de programmation. Dans un prochain tutoriel, nous verrons comment récupérer directement les actions du Gamepad directement sur un ESP8266 ou un Arduino. Ici, on va donc utiliser un Raspberry Pi 3 (ou RPIZero W) pour récupérer les actions à l’aide de la librairie Python evdev. Le script Python créé un client WebSocket. Dès qu’une action est interceptée par la librairie evdev sur le Gamepad, un message est envoyé au serveur WebSocket hébergé sur l’ESP8266. Le code Arduino sera chargé de décoder le message et de déplacer le servomoteur dans la direction demandée.

architecture websocket raspberry pi espduino esp8266 pca9685 rot2u 6dof

Si on doit se déplacer de 180° sur un axe, avec un pas d’un degré, on serait obligé d’appuyer 180 fois sur la flèche. Heureusement, la librairie evdev permet de savoir lorsqu’un bouton est appuyé (PRESS) et lorsqu’il est relâché (RELEASE). On va utiliser le système de Thread (fonction qui s’exécute en tâche de fond) de Python pour envoyer à intervalle régulier (par exemple toutes les 50ms) un ordre de déplacement dans la direction souhaitée. L’envoi des messages est interrompu dès qu’on relâche le bouton.

Matériel nécessaire

Pour ce projet, vous aurez besoin du matériel suivant pour le bras robotique

  • Un bras robotisé. Je vous conseille le kit ROT2U 6DOF qui est livré avec 6 servomoteurs. Certains kits ne sont pas livrés avec les servomoteurs. Suivez ce tutoriel pour assembler le bras robotique
  • Une carte de développement ESPDuino (présentée ici). C’est une carte au format Arduino Uno basée sur un ESP8266. Il est compatible avec les shields (carte d’extension) pour Arduino Uno
  • Un shield PCA9685 16 servomoteurs (environ 11€) ou une carte PCA9685 (environ 2€). Je vous conseille le shield Geekcreit (Doit.am) parfaitement géré par la librairie Sumotoy. Pour la mise en route, lisez cet article
  • Un jeu de Jumper Dupont (si les câbles fournis sont trop court).
Dernière mise à jour des prix le 11 janvier 2018 12 h 00 min

Coté télécommande vous aurez besoin du matériel suivant

Dernière mise à jour des prix le 21 décembre 2017 17 h 14 min

Installer les librairies Sumotoy PCA9685 et WebSocket sur l’IDE Arduino

Pour ce projet, vous aurez donc besoin d’installer les deux librairies suivantes :

  • Sumotoy, la librairie Arduino qui permet de piloter jusqu’à 16 LED ou 16 servomoteurs PWM à l’aide du circuit PCA9685 à l’aide du bus I2C. Allez sur la page du projet pour télécharger la librairie. Lisez ce tutoriel pour plus de détails sur l’emploi de la librairie. Décompressez l’archive ZIP dans le dossier librairies qui se trouve dans vos Documents. Relancez l’IDE Arduino (surtout par avoir accès aux exemples).
  • Websocket de Markus Sattler depuis le gestionnaire de bibliothèque de l’IDE Arduino

Installer les librairies Python ws4py et evdev sur le Raspberry Pi

Python 2.7 est installé par défaut sur la distribution Raspbian. Pour vous en assurer, ouvrez un Terminal et exécutez la commande suivante

#python --version
Python 2.7.9

Maintenant vérifiez que le paquet pip permettant d’installer facilement des librairies est installé

#pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

Si pip n’est pas installé, exécutez cette commande

sudo apt-get install python-pip

Installez enfin python-dev et la librairie evdev. La librairie evdev qui permet intercepter les actions d’un Gamepad sur un système Linux (y compris sur un Raspberry Pi). Le dépôt de la librairie se trouve sur cette page GitHub. Lisez ce tutoriel pour plus de détails.

sudo apt-get install python-pip
sudo pip install evdev

Pour connaître le port USB sur lequel est branché le Gamepad, exécutez une première fois la commande

ls /dev/input
# ls /dev/input/
by-id  by-path  event0  event1  mice

Maintenant connectez le Gamepad (ou un joystick) et exécutez de nouveau la commande pour identifier le port. Ici, on pourra récupérer les actions du Gamepad sur l’event2.

# ls /dev/input/
by-id  by-path  event0  event1  event2  mice

Exécutez enfin cette commande pour installer la librairie WebSocket ws4py

pip install ws4py

Assemblage : shield PCA9685 Geekcreit, bras robotisé ROT2U 6DOF, ESPDuino

Une fois votre bras robotique assemblé, il y a très peu de câblage à réaliser. En effet, en utilisant une carte PCA9685 au format Arduino Uno, il n’y a rien à faire à part brancher les servomoteurs ! Si votre ordinateur délivre une tension trop faible à l’ESPDuino, il est possible d’ajouter une alimentation complémentaire. La carte Geekcreit dispose de deux connecteurs 6-18V. Le premier (VM) est destiné à l’alimentation des 2 moteurs à courant continu. Le second à alimenter les servomoteurs (VS).

Code Python, client WebSocket envoyant les ordres de mouvement en interceptant les actions depuis un Gamepad USB

Nous avons vu en détail comment récupérer les actions sur un Gamepad (flèches et boutons) dans ce tutoriel. Regardons comment envoyer les ordres de mouvement au serveur WebSocket hébergé sur l’ESP8266. On va utiliser les Thread Python pour envoyer régulièrement (toutes les 50ms) un ordre de déplacement jusqu’à ce que le bouton (ou la flèche) soit relâchée. Ici, j’ai utilisé des variables globales pour passer des paramètres au Thread :

  • servo, l’axe à déplacer (servo0, servo1…servo5)
  • direction, la direction du déplacement (UP, DIWN, OPEN, CLOSE)
  • send, c’est le booléen qui permet de déclencher ou interrompre l’envoi des requêtes HTTP

Avant de démarrer le Thread, il faut déjà que la connexion avec le serveur WebSocket soit active. Pour cela on va créer un client WebSocket comme nous l’avons vu dans le tutoriel précédent. Avec la librairie ws4py, on créé un objet DummyClient qui permet de récupérer l’état de la connexion ainsi que les messages envoyés par le serveur. Dès que la connexion sera ouverte, on pourra créer le Thread qui contiendra la fonction sendRequest chargée d’envoyer au serveur WebSocket les ordres de mouvement.

class DummyClient(WebSocketClient):
    def opened(self):
        t1 = Thread(target=sendRequest)
        t1.daemon = True
        t1.start()
        print("Start Websocket thread")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason

    def received_message(self, m):
        print m

Ensuite, dès qu’une action est détectée sur le Gamepad (event.value == 1 pour les boutons), on modifie les variables servo et direction puis on passe send à True pour déclencher l’envoi des ordres de déplacement. Par défaut la variable httpFreq est réglée à 50ms (.050). Lorsque le bouton est relâché (event.value == 1), on passe send = False pour arrêter l’envoi des requêtes de déplacement. Voici un code qui illustre le fonctionnement général

import requests, time
from evdev import InputDevice, categorize, ecodes
from threading import Thread

# Adresse IP et point d entree de la requete HTTP sur l'ESP8266 | ESP8266 Http and end point
esp8266url = "http://192.168.1.65/cmd"
gamepad = InputDevice('/dev/input/event2')

servo       = ""
direction   = ""
send        = False
httpFreq    = .050

class DummyClient(WebSocketClient):
    def opened(self):
        t1 = Thread(target=sendRequest)
        t1.daemon = True
        t1.start()
        print("Start Websocket thread")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason

    def received_message(self, m):
        print m

def sendRequest():
  global servo
  global direction
  global send
  while True:
    payload = servo+":"+direction
    if send:
      ws.send(payload)
      time.sleep(httpFreq)

# Demarre le thread
t1 = Thread(target=sendRequest)
t1.start()

if __name__ == '__main__':
    try:
        ws = DummyClient(esp8266host, protocols=['http-only', 'chat'])
        ws.connect()
        print("Ready !")

        #evdev takes care of polling the controller in a loop
        for event in gamepad.read_loop():
            print("Event: ",categorize(event)," |value: ",event.value)
            if event.type == ecodes.EV_KEY:
                print("button is pressed",categorize(event))
                if event.value == 1:
                    if event.code == xBtn:
                        servo = "servo2"
                        direction = "up"
                        send = True
                        print("X")
                elif event.value == 0:
                  send = False
    except KeyboardInterrupt:
        ws.close()

Créez un nouveau script (par exemple nano robotws.py) et collez le code ci-dessous. Vous devez modifier deux paramètres :

  • L’adresse IP du serveur WebSocket
  • Le port USB sur lequel est branché le Gamepad

Le script Python ne fonctionne que lorsque le serveur WebSocket est démarré. La combinaison de touche CTRL + C permet d’interrompre le script à n’importe quel moment. La connexion WebSocket est automatiquement fermée.

Mappage des boutons du Gamepad SNES

Voici la correspondance des touches du script Python. Libre à vous de le modifier. Comme le mappage est réalisé coté Raspberry Pi, inutile de modifier le code Arduino. Le servo0 correspond à l’axe de rotation de la base. Le servo 5 correspond à la pince.

Servo0 (base) gauche
Servo0 (base) droite
Servo1 monter – up
Servo1 descendre – down
X Servo2 monter – up
B Servo2 descendre – down
Y Servo3 monter – up
A Servo3 descendre – down
L Servo4 monter – up
R Servo4 descendre – down
Select Servo5 (pince) ouvrir – open
Start Servo5 (pince) fermer – close

 

Code Arduino compatible ESP8266 ou ESPDuino, serveur WebSocket et contrôle des axes

Créez un nouveau croquis et collez le code ci-dessous. Plusieurs paramètres doivent être adaptés à votre configuration :

  • ssid, identifiant du réseau WiFi
  • password, mot de passe réseau
  • SERVO_SPEED, par défaut, le servo fait un pas de 1 degré à chaque mouvement (précis mais pas rapide)
  • posServo0 à 5, angle de la position garage (Home)
  • pinServo0 à 5, broche sur lequel est branché le servomoteur

Inutile de rentrer dans les détails du code. Tout a déjà été expliqué précédemment. Ici, tous les axes sont gérés.

Attention. Si vous décochez l’appel de la fonction GoHome, assurez vous qu’aucun objet ne se trouve sur la trajectoire des bras avant de téléverser le projet.

Démo

Téléversez le programme et ouvrez le moniteur série pour connaître l’adresse IP attribuée au module ESP8266. Vous pouvez la reporter coté client dans le code Python. Dès que le module est connecté au réseau WiFi, vous devez entendre le “ronronnement” des servomoteurs qui sont maintenant alimentés. Lancez le script Python avec la commande

python robotws.py
 . Dès que le client indique qu’il est connecté, vous pouvez commercer à jouer avec le bras robotique à l’aide du Gamepad.

Une vidéo sera prochainement disponible. 

J’espère que vous avez apprécié ce tutoriel. Comme vous pourrez le constater, la technologie Websocket est parfaitement adaptée à ce type de projet. Les mouvements du bras sont très fluides. Le code pourrait encore être amélioré en ajouter la notion de vitesse de déplacement. Dans le prochain tutoriel, nous verrons comment faire avec des requêtes HTTP plus classiques. Vous pourrez constater que les déplacements sont beaucoup plus saccadés.

Cet article Piloter un bras robotique en WiFi avec un Gamepad depuis un Raspberry Pi (code Python evdev + WebSocket) est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

#Guide, quel support mains libres choisir pour vos bricolages DIY ?

$
0
0

Un support mains libres ou troisième main (helping hand en anglais) permet de maintenir des circuits, câbles, montages, laissant vos mains libres pour effectuer votre travail. Elle sera très utile dans les travaux soudure, la réparation, la fabrication de bijoux et bien d’autres activités. Cet outil est indispensable dans tous les ateliers d’électronique. Il rend votre travail plus facile et plus confortable.

On trouve trois familles principales de produits. Les supports orientables qui sont particulièrement bien adaptés à la réparation et à la fabrication de circuits imprimés. On trouve ensuite des supports avec deux pinces crocodile et une loupe. Ils sont généralement moins couteux que les supports pour PCB. Certains modèles disposent d’un éclairage à LED et d’un fort grossissement (jusqu’à 10X). Enfin on trouve les support à 4 ou 6 bras flexibles. Ce type de support est très bien adapté pour des assemblages aux formes complexes (par exemples des projets par impression 3D).

Support orientable à 360° pour circuit imprimé

TROISIEME MAIN SUPPORT STAND ETAU POUR CIRCUIT IMPRIME CI BRICOLAGE ELECTRONIQUE

12,00
4 nouveau de 7,50€
Livraison gratuite
Voir l'offre
amazon.fr
Relevé le 12 janvier 2018 16 h 17 min

Caractéristiques

  • TROISIEME MAIN SUPPORT STAND ETAU POUR CIRCUIT IMPRIME CI BRICOLAGE ELECTRONIQUE

Ce support orientable est idéal pour vous aider à souder des circuits imprimés. Deux pinces maintiennent le circuit de chaque coté. Le PCB peux tourner sur 360 degrés, ce qui vous permet de vérifier rapidement les connexions des deux côtés. La base est livrée dans une structure métallique rigide avec des pieds en caoutchouc pour assurer une stabilité maximale et l’empêcher de glisser sur l’établi.

Support mains libres à pinces et loupe

Elenco Helping Hands with 2 .5 Magnifying Glass

7,79
3 nouveau de 7,79€
Voir l'offre
amazon.fr
Relevé le 12 janvier 2018 16 h 42 min

Caractéristiques

  • Cast-iron base for stability - All clamps and rotation points are plated for long life
  • Everything is adjustable to position your work perfectly - Magnifier has a 25 inch diameter
  • Excellent for miniature painting and other detailed work
  • Great for fine soldering work or re-work

Ce petit support est mieux adapté pour des assemblages en tout genre. Les deux pinces permettent de maintenir des composants de toutes sorte. C’est très utile par exemple pour souder des câbles AWG. Le support en fonte est assez lourd pour être stable sur un plan de travail. La loupe peut être orientée dans toutes les directions. Dans cette sélection de produits, vous pourrez trouvez différents grossissement. Le grossissement varie de 1x (le moins cher) à 10X. Certains modèles disposent également d’un éclairage à LED.

Support à 6 bras flexibles (pieuvre)

Station de soudage avec l'Outil de Troisième main, Soldeing Troisième main 6 PANA Bras flexible avec base en aluminium ventilateur USB pour soudage, électronique, montage, réparation, modelage, Hobby, travaux manuels

69,99
29,99
1 nouveau de 29,99€
Livraison gratuite
Voir l'offre
amazon.fr
Relevé le 12 janvier 2018 16 h 55 min

Caractéristiques

  • Base en aluminium massif pour garantir la stabilité pour contenir tout un quad pour le soudage à différents angles nécessaires sans capacité, 425,2 gram Poids, permet d'avoir à tenir en main et sans tomber.
  • Quatre mains à souder outil a 6 flexible col de cygne Helping Hands, bien conçu et stable, bonne bras forts, ils sont facilement être placé là où vous voulez placer entre eux, chaque col de cygne Longueur du coup de main a environ 30,5 cm
  • Acier inoxydable alligator pinces peut être tourné de 360 degrés, puis "verrouillé" en place avec écrous de serrage, prise en charge de 6 grands pieds en caoutchouc qui maintient le quadhands de glisser autour sur votre établi.
  • Notre article est assemable avec DC sans balais ventilateur, le ventilateur est très pratique aussi bien, elle peut descendre la température et de refroidissement sucks dépend la fumée de soudure n'très bien lorsque vous soudez quelque chose.
  • Excellent pour le soudage. La troisième main et accélère la soudure, l'électronique, projets de bricolage notre troisième main permet de positionner un jeu d'enfant avec quatre bras flexibles.Il fait en sorte que la le travail rapide et facile, travailler plus vite que jamais auparavant.

Support mains libres à 6 bras orientables équipés de pinces alligator (3ème main). Avec ce support, impossible de ne pas réussir vos montages et vos soudures ! Les bras flexibles peuvent être orientés dans toutes les directions. Dans les offres ci-dessous vous trouverez certains modèles qui sont livrés avec un ventilateur à brancher sur une prise USB. La base réalisée en acier ou en fonte est assez lourde pour assurer une bonne stabilité de l’assemblage durant les opérations de soudure.

 

Cet article #Guide, quel support mains libres choisir pour vos bricolages DIY ? est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Compiler et installer facilement ESP Easy R120 ou Mega (v2) avec PlatformIO

$
0
0
visual studio code platformio upload esp easy firmware

Vous avez été nombreux à rencontrer des problèmes d’installation du firmware ESP Easy sur un ESP8266 à l’aide de l’IDE Arduino. Parfois, l’IDE Arduino peut poser des problèmes à cause de la multitude de fichiers temporaires créés lors des compilations. Le projet ESP Easy est disponible sous la forme d’une archive ZIP contenant les binaires pour les ESP8266 qui disposent de 512ko, 1024ko et 4096ko de mémoire flash ainsi qu’un script d’installation. Ce script ne fonctionne malheureusement que sur Windows. Si vous rencontrez des problèmes ou que vous devez(ou voulez) apporter des modifications au code source, l’autre solution est d’utiliser PlatformIO déjà présenté à plusieurs reprises. Dans cet article, nous allons apprendre comment installer la version R120 et la version Mega (aussi appelée v2) du firmware ESPEasy

Installer Visual Studio Code et le plugin PlatformIO

PlatformIO est disponible sous la forme d’un plugin pour plusieurs éditeurs de code. Après quelques d’utilisation, je vous conseille d’utiliser Visual Studio Code de Microsoft. Rassurez-vous, je n’ai aucune action chez Microsoft, mais actuellement Visual Studio Code est beaucoup plus léger (et stable) que l’éditeur Open Source Atom développé par GitHub. Suivez ce tutoriel pour installer Visual Studio Code et PlatformIO sur votre ordinateur. Il est disponible sur Windows, macOS et Linux. Une fois installé, la page d’accueil de PlatformIO s’ouvre au démarrage.

visual studio code platformio home screen

Installer ESP Easy R120 avec PlatformIO

Téléchargez le code source du firmware ESP Easy R120 en allant sur cette page ou en cliquant sur ce lien. C’est la dernière version stable de la version 1. Décompressez l’archive. Lancez Visual Studio Code et cliquez sur Import Arduino Project

visual studio code platformio import arduino project

Dans la boite de dialogue qui s’affiche, sélectionnez une carte. Pour la Wemos d1 mini utilisée pour ce tutoriel, choisissez ESP8266 ESP-12E. Allez dans le dossier source du projet ESP Easy. Terminez en cliquant sur Import.

PlatformIOimporte le projet dans son répertoire de travail (wokspace). Il se situe en général dans le dossier Documents de l’utilisateur connecté. Dans mon cas, PlatformIO a donné un identifiant unique comme nom de projet. Ce n’est pas très pratique. Pour le renommer, quittez Visual Studio Code et allez dans le dossier Projects de PlatformIO.

Maintenant, il faut copier manuellement les librairies Arduino qui se trouvent dans le dossier Librairies du code source. Depuis l’explorateur de fichier, sélectionnez les dossiers puis CTRL + C. Ouvrez le dossier lib du projet PlatformIO puis CTRL + V. Sur Visual Studio, placez le curseur de la souris sur le nom du projet pour faire apparaître la barre d’icônes. Cliquez sur l’icône refresh pour actualiser le contenu du projet.

 visual studio code platformio refresh lib folder

Un fois le projet ouvert, on trouve les deux dossiers src et lib ainsi que le fichier de configuration platformio.ini

[env:esp12e]
platform = espressif8266
board = esp12e
framework = arduino

Vous pouvez pré-configurer les paramètres réseau en ouvrant le fichier espeasy.ino qui se trouve dans le dossier src. N’oubliez pas de passer à true la clé DEFAULT_USE_STATIC_IP pour fixer l’adresse IP du module.

platformio esp easy mega v2 configure ssid wifi settings

Ouvrez ensuite un Terminal depuis la barre d’icône située dans le bas de l’écran.

 visual studio code platformio open terminal window

Branchez l’ESP8266 et exécutez la commande suivante pour compiler et téléverser le firmware. Comme il n’y a qu’une seule configuration, il n’est a aucun ‘environment’ à indiquer.

platformio run --target upload

Si tout s’est bien déroulé, vous devez obtenir un message de succès.

visual studio code platformio upload esp easy firmware

Pour récupérer l’adresse IP (si elle n’a pas été fixée dans le code source), exécutez la commande suivante pour ouvrir le moniteur série de PlatformIO. Il existe un raccourcis dans la barre d’icône vers le moniteur série mais il est configuré à 9600 bauds.

platformio device monitor -b 115200

Installer ESP Easy Mega v2 avec PlatformIO

Pour récupérer la dernière version en cours de développement d’ESP Easy Mega, allez sur GitHub. Pour ce tutoriel, j’ai installé la version v2.0.0-dev12. Cliquez sur ce lien pour la télécharger. Décompressez le fichier ZIP.

Le projet contient comme la version R120 plusieurs fichiers binaires que l’on pourra directement téléverser sur la mémoire flash de l’ESP8266 avec le script FlashESP8266. Les modules ESP8266 de première génération ne disposant que de 512ko de mémoire flash ont été abandonnés. Maintenant, on peut installer la v2 sur les modules qui disposent de 1024ko ou 4096ko (la Wemos d1 mini par exemple). On trouve également 3 fichiers (test-dev-stable) pour les modules 8285 très utilisés par Sonoff par exemple. On pourra (assez) facilement hacker une prise connectée et installer le firmware ESPEasy Mega comme nous l’avons fait avec la prise Sonoff S20.

espeasy mega v2 source

Ouvrez le dossier source. Comme vous pouvez le constater, les dossiers sont conformes à la structure des projets Arduino développés avec PlatformIO. On y trouve le fichier de configuration platformio.io et les deux dossiers src (code C++ Arduino du projet) et lib (librairies Arduino à inclure).

espeasy mega v2 source folder

Ouvrez Visual Studio Code et choisissez Open Project. Naviguez dans les dossiers et placez-vous à la racine du projet dans le répertoire source. Le fichier platformio.ini doit être visible. Cliquez sur Select. PlatformIO ouvre le projet et l’affiche dans la barre latérale à gauche de l’écran.

platformio espeasy mega v2 open project

Le code source n’est pas fondamentalement différent de la version R120. L’interface graphique a été repensée comme nous l’avons vu dans l’article précédent sur une ESP32. Vous pouvez toujours pré-configurer les paramètres réseau en ouvrant le fichier espeasy.ino. N’oubliez pas de passer à true la clé DEFAULT_USE_STATIC_IP pour fixer l’adresse IP du module.

platformio esp easy mega v2 configure ssid wifi settings

Ouvrez un Terminal est excécutez la commande suivante en remplaçant <version> par la version désirée

platformio run --target upload --environment <version>

PlatformIO va tout d’abord compiler le fichier binaire avant de le télécharger sur la carte de développement. Il n’est pas nécessaire d’indiquer le port COM, la détection est automatique. Ca fonctionne bien évidemment uniquement si une seule carte ESP8266 est connectée à l’ordinateur. A la fin de l’installation, vous devez obtenir un message de [success] !

espeasy mega install

Pour récupérer l’adresse IP (si elle n’a pas été fixée dans le code source), exécutez la commande suivante pour ouvrir le moniteur série de PlatformIO. Il existe un raccourcis dans la barre d’icône vers le moniteur série mais il est configuré à 9600 bauds.

platformio device monitor -b 115200

Quoi faire en cas d’échec de compilation ?

Contrairement à l’IDE Arduino, il est très facile de supprimer les fichiers temporaires. Si vous rencontrez des erreurs de compilation (et que votre code source ne retourne pas d’erreur), il suffit de supprimer les dossiers cachés .pioenvs. Pour cela, il suffit de sélectionner le dossier puis DEL au clavier ou faire un clic doit puis sélectionner l’option Delete dans le menu contextuel.

 espeasy platfomio visual studio code delete pioenv folder

J’espère maintenant que vous ne rencontrerez plus aucune difficulté pour installer ESP Easy ou son successeur ESPEasy Mega. Si les problèmes persistes, essayez d’effacer la mémoire flash à l’aide de l’outil esptool.py. Tout est expliqué dans ce tutoriel.

Cet article Compiler et installer facilement ESP Easy R120 ou Mega (v2) avec PlatformIO est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

#Guide. Concevoir, fabriquer et assembler des circuits et PCB pour projets DIY à base d’ESP32 ou ESP8266

$
0
0
fritzing esp32 ds18b20 iot pcb

Il y a quelques semaines, je vous ai présenté cette carte de développement qui permet de réaliser du prototypage et même de petits projets (sans vibration) à base de modules ESP32. Les cartes de développements à base d’ESP32 peuvent être assez encombrantes. Même la nouvelle Wemos LoLin Lite mesure environ 40 x 25mm. Cette carte de test et développement reste assez chère (environ 15€) ce qui peut en limiter l’intérêt par rapport à une carte de développement traditionnelle (on peut trouver la dernière Wemos Lolin Lite pour moins de 4,80€). Le module ESP32 est maintenu sur la plaque de développement par un système de pattes élastiques en cuivre. Le module est maintenu en place durant la phase de développement. Si votre projet ne soumet pas le module à des vibrations ou des chocs, il ne devrait pas être nécessaire de souder le module sur la platine de test. Le module est programmable depuis l’IDE Arduino comme toutes les autres cartes de développement ESP32 à l’aide du port micro-USB.

Pourquoi utiliser le modules ESP32 ou ESP8266 plutôt qu’une carte de développement

Si vous avez besoin de gagner de la place pour vos projets DIY à base d’ESP32, rien ne vous empêche d’utiliser directement les modules ESP32. Cette carte est également très bien adaptée si vous avez de petites séries d’objets connectés à fabriquer. Elle est actuellement en promo chez Banggood au prix de 13,20€ (jusqu’au 20 janvier). Elle est également disponible chez d’autres marchands en ligne.

Le module ESP32 devra être acheté séparément.

Il existe également des adaptateurs beaucoup plus abordables sur lequel on viendra souder (ou plutôt braser) le module ESP32.

Spécifications techniques du module ESP32 (ESP-WROOM-32)

L’ESP32 est une évolution importante de l’ESP8266. En plus du WiFi, elle apporte le support du Bluetooth basse énergie (4.0 LE). Elle corrige également le manque d’entrées/sorties. On dispose maintenant de 32 E/S dont 26 digitales et 18 analogiques (toujours avec une tension admissible maximale de 3.3V). On pourra également utiliser des écrans tactiles pour créer des interfaces homme/machine à base d’ESP32 (broches Touch 0 à 9). Pour le moment, la plupart des modules sont proposés avec 4MB de mémoire flash mais la puce peut supporter jusqu’à 16MB.

  • Module ESP32 : ESP-WROOM-32 d’Espressif.
    • Microprocesseur dual core cadencé à 240MHz équipé de
    • 4MB de mémoire flash SPI. Support jusqu’à 16MB de mémoire flash
  • Connectivité
    • WiFi 802.11 b/g/n.
      • Sécurité WEP, WPA/WPA2 PSK/Enterprise.
      • Puce cryptographique intégrée prenant en charge les algortithmes AES/SHA2/Elliptical Curve Cryptography/RSA-4096
      • Puissance maximale pour le transfert de données : 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n
      • Sensibilité max. de réception : -97 dBm
    • Bluetooth 4.0 LE
  • 32 Entrées/Sorties
    • 26x E/S digitales (3.3V). Toutes les sorties peuvent être PWM
    • 18x entrées analogiques
    • 3x UART
    • 3x SPI
    • 2x I2S
    • 2x DAC
    • 2x I2C
  • Consommation en mode sommeil (Deep Sleep mode) : 5 μA
  • Capteurs intégrés
    • Effet Hall
    • 10x entrées pour interface tactile capacitive

Repérage des broches des modules ESP32 (pinout)

Concevoir gratuitement un circuit et le PCB avec Fritzing

Pour réaliser vos circuits, voici quelques logiciels gratuits pour concevoir vos PCB. Nous allons commencer par Fritzing. Vous l’avez probablement rencontré sans le savoir sur de très nombreux tutoriels Arduino et Raspberry Pi. Il est très largement utilisé par les makers pour réaliser les schémas de câblage. C’est d’ailleurs Fritzing que j’utilise pour préparer les schémas des tutoriels de Projets DIY. Ce qu’on sait moins, c’est que Fritzing permet également de préparer la vue schématique du circuit et de concevoir le circuit imprimé PCB. Vous pouvez même développer du code Arduino sous Fritzing. Fritzing ne supporte toutefois que les cartes Arduino et Picaxe. Allez sur cette page pour téléchargez la version de Fritzing adaptée à votre système.

Voici un petit exemple de circuit qui met en oeuvre un module ESP32 avec une sonde DS18B20 (vous pouvez télécharger le fichier original pour tester). Evidemment, on pourra faire exactement la même chose avec un module ESP8266 à souder, l’ESP32 étant sur-dimensionné pour un projet aussi simple ! Pour alimenter le circuit, j’ai simplement ajouté un connecteur mini-USB de type B. C’est d’ailleurs un point critique, comme il existe une multitude de connecteurs USB, le repérage des broches est assez délicat. j’ai également observé une différence entre le repérage sur les différentes vues. Il est conforme aux spécifications sur la platine d’essai et sur la vue schématique (broche 1 pour VCC et 4 pour le GND), mais l’auto-routage utilise la broche 3 pour +5V.

fritzing esp32 ds18b20 iot schema

En passant à la vue schématique, on peu repérer plus facilement les broches de chaque composant et vérifier facilement le circuit. Le choix des couleurs se fait manuellement comme sur la platine d’essai.

fritzing esp32 ds18b20 iot circuit

Il ne reste plus qu’à positionner correctement chaque composant et optimiser la taille du PCB. Le prix du circuit étant proportionnel à la taille bien évidemment.

fritzing esp32 ds18b20 iot pcb

Une fois que vous avez positionné correctement les composants, vous pouvez laisser Fritzing s’occuper de tracer les pistes en appuyant sur la fonction d’autoroutage disponible dans le bas de l’écran.

fritzing autoroutage

Il est possible de déplacer manuellement les pistes pour obtenir un tracé plus “propre”. Les circuits générés (et fabriqués) par Fritzing sont double-face. Il est possible d’envoyer une piste sur l’autre face depuis le menu contextuel (clic droit).

fritzing deplacer piste face superieure

Une fois le circuit terminé, cliquez sur Faire fabriquer. Vous êtes automatiquement redirigé vers le site d’Aisler, la société issue du FabLab Fritzing. C’est elle qui se charge maintenant de la production des circuits imprimé à la demande. Glissez votre fichier fzz directement dans le champ de téléchargement sur le navigateur.

fritzing upload pcd design

La quantité minimale de fabrication semble être de 3 circuits. Pour ce circuit de 53.5 x 25.8 mm, le prix de fabrication s’élève à 11,55€.

 

Un rendu du PCB qui sera fabriqué

fritzing esp32 iot pcb

Comment souder le module ESP32 sur un adaptateur ou un PCB

L’opération de soudure ou plus précisément de brasage est assez délicate. Vu l’espace entre chaque broche, venir souder le module ESP32 avec un fer à souder traditionnel relève du défit. Il existe des stations de soudure à air chaud pour composants CMS ou SMD. Le fil d’étain est remplacé par une pâte à braser. Voici le matériel de base à acheter :

Vous pouvez également commencer par vous exercer en achetant un kit d’apprentissage.

Quelques vidéos pour apprendre à souder par refusion

Commençons par cette vidéo de U=RI qui explique très bien comment préparer le circuit, placer les composants (avec un microscope) et braser avec une buse à air chaud.

Ou celle-ci.

Ou celle-ci (désolé pour la qualité audio) avec un fer à souder traditionnel et du fil d’étain si vous ne voulez pas investir dans du matériel spécifique.

Si votre budget est vraiment illimité, vous pouvez investir dans un four à refusion (owen furnace). Vous pouvez lire cet article très intéressant utilisé par akila du blog faire-ca-soi-meme pour fabriquer le circuit de la passerelle domotique Zigate.

 

Dans le cadre d’un hobby, la fabrication d’objets connectés reste donc encore assez onéreuse mais c’est le prix à payer pour avoir des projets parfaitement adaptés à vos besoins. Sans compter le prix des composants au détail, l’investissement en matériel est assez important. Si vous avez des projets spécifiques, vous pouvez peut être vous rapprocher d’un Fablab à proximité de votre domicile. Il existe plusieurs annuaires en ligne. L’annuaire http://www.makery.info/map-labs/ recense des nombreux fablab dans le monde y compris en France, Suisse, Belgique et Luxembourg.

Cet article #Guide. Concevoir, fabriquer et assembler des circuits et PCB pour projets DIY à base d’ESP32 ou ESP8266 est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Piloter un bras robotique en WiFi avec un Gamepad depuis un Raspberry Pi (code Python evdev + requêtes HTTP)

$
0
0
architecture http raspberry pi espduino esp8266 pca9685 rot2u 6dof

Nous avons vu comment piloter un bras robotique à l’aide d’une connexion WebSocket entre un Raspberry Pi et un ESP8266. C’est une solution technique très bien adaptée pour envoyer des commandes ou des états très rapidement avec un temps de latence très faible. Si vous ne maitrisez pas (encore) le WebSocket, voici le code Python et Arduino qui vous permettra de piloter le bras robotique à l’aide de requêtes HTTP. Pour ce tutoriel, nous utiliserons également le kit ROT2U 6DOF équipé de 6 servomoteurs (5 axes + 1 pince) présenté en novembre dernier (toutes les étapes de montage dans cet article).

Si vous débutez, un peu de lecture avant de commencer

Avant de commencer, vous pouvez lire ces articles qui expliquent plus en détail les différents aspects techniques abordés dans ce projet :

Les notions abordées dans ce tutoriel

Le bras robotisé peut être un simple jeu mais également un excellent outil d’apprentissage en mécanique, électronique, programmation, communication HTTP. Dans cette série d’articles, nous allons aborder les notions suivantes :

  • En programmation Arduino en C++
    • Comment piloter des servomoteurs
    • Comment connecter un Arduino/ESP8266 à un réseau WiFi
    • Créer un serveur HTTP sur un Arduino ou ESP8266. Réception et envoi de message
  • En programmation en Python
    • Utilisation des packages evdev, ws4py, threading, time
    • Initiation aux threads (fonctions exécutées en parallèle du programme principale)
    • Envoyer et recevoir des requêtes HTTP de façon asynchrone
    • Intercepter les actions sur un Gamepad à l’aide de la librairie evdev pour Linux. Envoyer des ordres de déplacement jusqu’à ce que le bouton soit relâché (à l’aide d’un thread)
  • Matériel
    • Circuit PCA9685 I2C pour piloter des servomoteurs
    • Les servomoteurs
    • L’ESP8266
Dernière mise à jour des prix le 22 janvier 2018 10 h 57 min

Architecture de communication HTTP

Le Raspberry Pi 3 (ou RPIZero W) permet de récupérer (intercepter) les actions faites sur un Gamepad à l’aide de la librairie Python evdev. Dès qu’une action sur le Gamepad est détectée par la librairie evdev, un message est envoyé au serveur HTTP hébergé sur l’ESP8266. Le code Arduino s’occupe de décoder le message et de déplacer le servomoteur dans la direction demandée.

architecture http raspberry pi espduino esp8266 pca9685 rot2u 6dof

Si on doit se déplacer de 180° sur un axe, avec un pas d’un degré, on serait obligé d’appuyer 180 fois sur la flèche. Heureusement, la librairie evdev permet de savoir lorsqu’un bouton est appuyé (PRESS) et lorsqu’il est relâché (RELEASE). On va utiliser le système de Thread (fonction qui s’exécute en tâche de fond) de Python pour envoyer à intervalle régulier (par exemple toutes les 50ms) un ordre de déplacement dans la direction souhaitée. L’envoi des messages est interrompu dès qu’on relâche le bouton.

Matériel nécessaire

Pour ce projet, vous aurez besoin du matériel suivant pour le bras robotique

  • Un bras robotisé. Je vous conseille le kit ROT2U 6DOF qui est livré avec 6 servomoteurs. Certains kits ne sont pas livrés avec les servomoteurs. Suivez ce tutoriel pour assembler le bras robotique
  • Une carte de développement ESPDuino (présentée ici). C’est une carte au format Arduino Uno basée sur un ESP8266. Il est compatible avec les shields (carte d’extension) pour Arduino Uno
  • Un shield PCA9685 16 servomoteurs (environ 11€) ou une carte PCA9685 (environ 2€). Je vous conseille le shield Geekcreit (Doit.am) parfaitement géré par la librairie Sumotoy. Pour la mise en route, lisez cet article
  • Un jeu de Jumper Dupont (si les câbles fournis sont trop court).
Dernière mise à jour des prix le 21 janvier 2018 21 h 59 min

Coté télécommande vous aurez besoin du matériel suivant

Dernière mise à jour des prix le 20 janvier 2018 18 h 00 min

Installer les librairies Sumotoy PCA9685 sur l’IDE Arduino

Pour ce projet, vous aurez donc besoin d’installer la librairie Sumotoy. Cette librairie Arduino permet de piloter jusqu’à 16 LED ou 16 servomoteurs PWM à l’aide du circuit PCA9685 à l’aide du bus I2C. Allez sur la page du projet pour télécharger la librairie. Lisez ce tutoriel pour plus de détails sur l’emploi de la librairie. Décompressez l’archive ZIP dans le dossier librairies qui se trouve dans vos Documents. Relancez l’IDE Arduino (surtout par avoir accès aux exemples).

Installer les librairies Python evdev et request sur le Raspberry Pi

Python 2.7 est installé par défaut sur la distribution Raspbian. Pour vous en assurer, ouvrez un Terminal et exécutez la commande suivante

#python --version
Python 2.7.9

Maintenant vérifiez que le paquet pip permettant d’installer facilement des librairies est installé

#pip --version
pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

Si pip n’est pas installé, exécutez cette commande

sudo apt-get install python-pip

Installez enfin python-dev et la librairie evdev. La librairie evdev qui permet intercepter les actions d’un Gamepad sur un système Linux (y compris sur un Raspberry Pi). Le dépôt de la librairie se trouve sur cette page GitHub. Lisez ce tutoriel pour plus de détails.

sudo apt-get install python-pip
sudo pip install evdev

Pour connaître le port USB sur lequel est branché le Gamepad, exécutez une première fois la commande

ls /dev/input
# ls /dev/input/
by-id  by-path  event0  event1  mice

Maintenant connectez le Gamepad (ou un joystick) et exécutez de nouveau la commande pour identifier le port. Ici, on pourra récupérer les actions du Gamepad sur l’event2.

# ls /dev/input/
by-id  by-path  event0  event1  event2  mice

Exécutez enfin cette commande pour installer la librairie request qui permet de faire très facilement des requêtes HTTP

pip install request

Assemblage : shield PCA9685 Geekcreit, bras robotique ROT2U 6DOF, ESPDuino

Une fois votre bras robotique assemblé, il y a très peu de câblage à réaliser. En effet, en utilisant une carte PCA9685 au format Arduino Uno, il n’y a rien à faire à part brancher les servomoteurs ! Si votre ordinateur délivre une tension trop faible à l’ESPDuino, il est possible d’ajouter une alimentation complémentaire. La carte Geekcreit dispose de deux connecteurs 6-18V. Le premier (VM) est destiné à l’alimentation des 2 moteurs à courant continu. Le second à alimenter les servomoteurs (VS).

Code Python evdev, les ordres de mouvement interceptés du gamepad sont envoyés en HTTP

Nous avons vu en détail comment récupérer les actions sur un Gamepad (flèches et boutons) dans ce tutoriel. Regardons comment envoyer les ordres de mouvement au serveur HTTP hébergé sur l’ESP8266. On va utiliser les Thread Python pour envoyer régulièrement (toutes les 50ms) un ordre de déplacement jusqu’à ce que le bouton (ou la flèche) soit relâchée. Ici, j’ai utilisé des variables globales pour passer des paramètres au Thread :

  • servo, l’axe à déplacer (servo0, servo1…servo5)
  • direction, la direction du déplacement (UP, DIWN, OPEN, CLOSE)
  • send, c’est le booléen qui permet de déclencher ou interrompre l’envoi des requêtes HTTP

On définit le thread t1 qui est chargé d’exécuter la fonction sendRequest(). Une fois définit, on démarre le Thread avec la méthode start()

t1 = Thread(target=sendRequest)
t1.start()

Ensuite, dès qu’une action est détectée sur le Gamepad (event.value == 1 pour les boutons), on modifie les variables servo et direction puis on passe send à True pour déclencher l’envoi des ordres de déplacement. Par défaut la variable httpFreq est réglée à 50ms (.050). Lorsque le bouton est relâché (event.value == 1), on passe send = False pour arrêter l’envoi des requêtes de déplacement. Voici un code qui illustre le fonctionnement général

import requests, time
from evdev import InputDevice, categorize, ecodes
from threading import Thread

# Adresse IP et point d entree de la requete HTTP sur l'ESP8266 | ESP8266 Http and end point
esp8266url = "http://192.168.1.65/cmd"
gamepad = InputDevice('/dev/input/event2')

servo       = ""
direction   = ""
send        = False
httpFreq    = .050

def sendRequest():
  global servo
  global direction
  global send
  while True:
    # Un seul servo a la fois pour le moment | Only one servo in the version
    payload = {
       servo:direction
    }
    # Envoi les ordres de deplacement jusqu a ce que send = false | Send HTTP request until send = False
    if send:
      r = requests.get(esp8266url, params=payload)
      print r.url
      print r.json
      time.sleep(httpFreq)

# Demarre le thread
t1 = Thread(target=sendRequest)
t1.start()

for event in gamepad.read_loop():
    if event.type == ecodes.EV_KEY:
        if event.value == 1:
            if event.code == xBtn:
                servo = "servo2"
                direction = "up"
                send = True
                print("X")
        elif event.value == 0:
          send = False

Voilà, créez maintenant un nouveau script (par exemple nano robothttp.py) et collez le code ci-dessous. Vous devez modifier deux paramètres :

  • L’adresse IP du serveur HTTP et le point d’entrée. Par exemple http://192.168.1.65/cmd.
  • Le port USB sur lequel est branché le Gamepad


La combinaison de touche CTRL + C permet d’interrompre le script à n’importe quel moment.

Mappage des boutons du Gamepad SNES

Voici la correspondance des touches du script Python. Libre à vous de le modifier. Comme le mappage est réalisé coté Raspberry Pi, inutile de modifier le code Arduino. Le servo0 correspond à l’axe de rotation de la base. Le servo 5 correspond à la pince.

Servo0 (base) gauche
Servo0 (base) droite
Servo1 monter – up
Servo1 descendre – down
X Servo2 monter – up
B Servo2 descendre – down
Y Servo3 monter – up
A Servo3 descendre – down
L Servo4 monter – up
R Servo4 descendre – down
Select Servo5 (pince) ouvrir – open
Start Servo5 (pince) fermer – close

 

Code Arduino compatible ESP8266 ou ESPDuino, serveur HTTP et contrôle des axes

L’ESP8266 va donc héberger un serveur HTTP. Le code ci-dessous illustre le principe de fonctionnement du serveur HTTP :

On créé un objet server qui écoute le port 80 (le port HTTP par défaut)

Dans le setup, on branche la fonction callback (moveServos) à appeler à chaque nouvelle requête entrante sur le point d’entrée. Ici /cmd. Ce n’est rien d’autre qu’une page dans un navigateur internet.

Dans la boucle loop(), on actualise le serveur. Il ne faut donc pas y mettre de delay pour ne pas le ralentir

La fonction moverServos() est appelée à chaque fois que le client (le script Python) envoi une demande de mouvement. Les paramètres sont encodés dans l’url. On décode les paramètres à l’aide de la fonction arg(n° du paramètre).

Par exemple, si on veut tourner la base du robot sur la droite, on devra envoyer http://192.168.1.65/cmd?servo0=right. Vous pourrez d’ailleurs le tester après avoir téléversé le programme complet.

Après, il ne reste plus qu’à tester chaque cas et incrémenter un compteur d’angle pour chaque axe du bras robotique.

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server ( 80 );
int posServo0 = 0;

void setup() {
  server.on("/cmd", moveServos);
  server.begin();
}

void loop() {
  server.handleClient();
}

void moveServos(){
  String numServo = server.argName(0);
  String dirServo = server.arg(0);
  if ( numServo == "servo0" ) {
      if ( dirServo == "left" ) {
        if ( posServo0 == 0 ) {
          posServo0 = 0;
        } else {
          posServo0 = posServo0 - SERVO_SPEED;
          servo.moveServo(0,posServo0);
        }
      } else if ( dirServo = "right" ) {
        if ( posServo0 == 180 ) {
          posServo0 = 180;
        } else {
          posServo0 = posServo0 + SERVO_SPEED;
          servo.moveServo(0,posServo0);
        }
      }
  } else {
    Serial.print("Unknown servo!"); Serial.println(numServo);
  }
}

On pourra également installer la librairie client si on veut envoyer la position des axes à un logiciel de pilotage par exemple.

Créez un nouveau croquis et collez le code ci-dessous. Plusieurs paramètres doivent être adaptés à votre configuration :

  • ssid, identifiant du réseau WiFi
  • password, mot de passe réseau
  • SERVO_SPEED, par défaut, le servo fait un pas de 1 degré à chaque mouvement (précis mais pas rapide)
  • posServo0 à 5, angle de la position garage (Home)
  • pinServo0 à 5, broche sur lequel est branché le servomoteur

Inutile de rentrer dans les détails du code. Tout a déjà été expliqué précédemment. Ici, tous les axes sont gérés.


Attention. Si vous décochez l’appel de la fonction GoHome, assurez vous qu’aucun objet ne se trouve sur la trajectoire des bras avant de téléverser le projet.

Démo

Téléversez le programme et ouvrez le moniteur série pour connaître l’adresse IP attribuée au module ESP8266. Vous pouvez la reporter coté client dans le code Python. Dès que le module est connecté au réseau WiFi, vous devez entendre le “ronronnement” des servomoteurs qui sont maintenant alimentés. Lancez le script Python avec la commande

python robothttp.py
 . Vous pouvez commercer à jouer avec le bras robotique à l’aide du Gamepad.

Une vidéo sera bientôt disponible.

Comme vous pourrez le constater, la communication HTTP donne des mouvements un peu plus saccadés par rapport au Websocket. Rien d’insupportable toutefois. En fonction de la qualité de votre réseau WiFI, il faut chercher le temps de pause qui donne le meilleur résultat.

Cet article Piloter un bras robotique en WiFi avec un Gamepad depuis un Raspberry Pi (code Python evdev + requêtes HTTP) est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.


#Bon plan : Raspberry Pi 3 en promo à 25,38€, codes promo version anglaise ou chinoise

$
0
0

Le Raspberry Pi 3 est très souvent en promo chez les principaux marchands en ligne*. On trouve parfois le Raspberry Pi 3 promo pour une durée limitée. Certains marchands comme Gearbest préfèrent réaliser des ventes flash sur un nombre limité de pièces. Pour ne pas rater la prochaine promo, vous pouvez créer une alerte de prix chez votre marchand préféré.

Version anglaise ou chinoise ?

On trouve des offres avec la mention “Version anglaise” ou “Version Chinoise”. Il n’y a pas de différence entre les deux modèles. Contrairement aux prises de courant, vous pouvez acheter indifféremment la version anglaise ou chinoise. Le bloc d’alimentation 5V/3A devant être acheté séparément, la différence entre les deux modèles se situe ailleurs. En fait, ce sont exactement les mêmes Raspberry Pi 3 (sur le papier du moins). Ce qui change, c’est le lieu de fabrication et le choix des composants. La version anglaise est produite en Angleterre par Element14. La version chinois est quant à elle produite…en chine par un partenaire local. Il pouvait y avoir des différences dans la sélection des composants (surtout au niveau des connecteurs) au démarrage du projet comme le montre cette vidéo.

Cela ne semble plus être le cas maintenant. On trouve encore des traces de cette époque sur les forums avec des utilisateurs se plaignant de plantage après quelques minutes de fonctionnement (depuis 2012, les choses ont bien changé). Si vous avez rencontré des problèmes avec votre Raspberry Pi 3, n’hésitez pas à nous le dire dans les commentaires.

Pour connaître le lieu de provenance du Raspberry Pi 3, il suffit de rechercher la mention Made In UK ou Made In PRC (ou Made In China pour les anciens modèles) sur la carte. Evidemment, les promos sur la version anglaise partent très vite, ce qui n’est pas le cas de la version chinoise bien souvent proposée au même tarif.

 

En général, tous les Raspberry Pi 3 proposés en dessous de 40€ (Ebay, AliExpress…) sont une version chinoise. Gearbest commercialise les 2 versions séparément (UK, PRC) exactement au même tarif sans frais de port. Faites attention aux frais de port appliqués. Un tarif trop attractif (en dessous de 35€) cache souvent des frais de port élevés (entre 5 et 7€). Toutes les offres proposées ici ont été sélectionnées sans frais de port mais il est préférable de vérifier avant de finaliser votre achat.

Enfin dernière remarque, la version chinoise est certifiée CE/FCC comme son homologue. Cela peut être important si le Raspberry Pi 3 est utilisé comme base pour fabriquer une box domotique qui doit être intégrée dans une armoire électrique.

Code promo et coupons Gearbest

DIY Raspberry Pi Model 3 B Motherboard - Version anglaise

Coupon vérifié le 9 janv. 2018. Quantité limitée à 250 pièces

25,38€ 30,91€
Afficher le coupon
Expiré

Raspberry Pi 3 Model B Motherboard version chinoise

Coupon vérifié le 9 janv. 2018. Quantité limitée à 80 pièces

25,37€ 30,91€
Afficher le coupon
Expiré

Promos sur les accessoires Raspberry Pi 3

NESPI Case for Raspberry Pi 3 / 2 and B+ by RetroFlag - GRAY

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

12,68€ 16,91€
Afficher le coupon
Expiré

DC 5V 2.5A Power Supply Charger Adapter for Raspberry Pi 3 - WHITE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 20 pièces

3,41€ 4,45€
Afficher le coupon
Expiré

Starter Kit for Raspberry Pi 3 Model B - COLORMIX

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

8,55€ 13,54€
Afficher le coupon
Expiré

Protective ABS Enclosure Case for Raspberry Pi 3 - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

0,84€ 2,53€
Afficher le coupon
Expiré

Cooling Kit for Raspberry Pi 3 / 2 / B+ - COLORMIX

Coupon vérifié le 9 janv. 2018. Quantité limitée à 60 pièces

2,39€ 3,26€
Afficher le coupon
Expiré

Raspberry Pi Protective Shell Box Kit for Version 3 2 B+ - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 150 pièces

3,41€ 4,72€
Afficher le coupon
Expiré

Promos cartes microSD UHS-1 ou UHS-3 classe 10 pour Raspberry Pi 3

SanDisk A1 Ultra Micro SDHC UHS-1 Professional Memory Card - 16G RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

5,06€ 6,69€
Afficher le coupon
Expiré

SanDisk A1 Ultra Micro SDHC UHS-1 Professional Memory Card - 64G RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 100 pièces

16,06€ 20,18€
Afficher le coupon
Expiré

Samsung UHS-1 Class10 Micro SDHC Memory Card - 32GB RED

Coupon vérifié le 9 janv. 2018. Quantité limitée à 200 pièces

8,08€ 11,07€
Afficher le coupon
Expiré

Samsung UHS-3 64GB Micro SDXC Memory Card - 64GB ORANGE

Coupon vérifié le 9 janv. 2018. Quantité limitée à 160 pièces

13,89€ 19,75€
Afficher le coupon
Expiré

Carte Mémoire Micro SDHC Samsung UHS-1 Class10 - 128G Rouge

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

32,98€ 52,68€
Afficher le coupon
Expiré

Samsung 128GB EVO Class 10 Micro SDXC Memory Card

Coupon vérifié le 9 janv. 2018. Quantité limitée à 70 pièces

35,53€ 39,5€
Afficher le coupon
Expiré

Promos disque dur SSD SATA3

Samsung 850 PRO 1TB 3D V-NAND SSD

Coupon vérifié le 9 janv. 2018. Quantité limitée à 20 pièces

380,7€ 455,2€
Afficher le coupon
Expiré

RECADATA SATA M.2 Internal SSD 120GB - BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 40 pièces

38,9€ 53,19€
Afficher le coupon
Expiré

KingDian S280-120GB Solid State Drive 2.5 inch SSD Hard Disk SATA3 Interface - 120GB BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

32,98€ 44,65€
Afficher le coupon
Expiré

KingDian S280-240GB Solid State Drive 2.5 inch SSD Hard Disk SATA3 Interface - 240GB BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

50,75€ 64,41€
Afficher le coupon
Expiré

KingDian S280-480GB Solid State Drive 2.5 inch SSD Hard Disk SATA3 Interface - 480GB BLACK

Coupon vérifié le 9 janv. 2018. Quantité limitée à 50 pièces

109,97€ 139,13€
Afficher le coupon
Expiré

Anciens codes promo Gearbest

Anciens codes à tester. Avec de la chance, ils fonctionnent peut être encore

Code promo Date d’expiration Prix
Octminipigo 29/11/2017 25,64€ (ver. anglaise)
jdgOctAllez0 23/11/2017 25,64€ (ver. anglaise)
RPi3EST 23/11/2017 26,62€ (ver. chinoise)
OctAllezbraspber 22/11/2017 26,62€
OctAllez11.11.02 18/11/2017 25,76
OctAllez11.11.02 13/11/2017
RPi3EST
OctAllezbraspber
OctRPi3B

Comment utiliser un coupon sur Gearbest

Le prix affiché sur Gearbest ne tient pas compte de la réduction.

gearbest raspberry pi 3 promo

Pour profiter d’un code promo sur Gearbest, commencer par ajouter le produit au panier. Avant de procéder au paiement, saisissez le code promo dans le champ Coupon puis appuyez sur Apply. Le code promo est validé et le prix définitif recalculé. Gearbest dispose d’une plateforme logistique en Angleterre. Certains codes ne sont valables que depuis la chine ou l’Angleterre. C’est souvent le cas des produits plus lourds. Si vous n’arrivez pas à profiter de la réduction, effacez l’article en cliquant sur delete et retournez à la page produit. Choisissez un autre entrepôt (Warehouse Options : China | UK) avant d’ajouter le produit à votre panier.

code promo gearbest raspberry pi 3 coupon

Toutes les promos Raspberry Pi 3

Raspberry Pi 3 en promo sur Amazon

Raspberry Pi Carte Mère 3 Model B Quad Core CPU 1.2 GHz 1 Go RAM, Raspberry Pi

Prix: 34,00
Relevé le 23 janvier 2018 14 h 57 min  
Voir l'offre
amazon.fr
Attendre que le prix baisse

Historique de prix

Statistiques

Prix actuel 34,00€ 23 janvier 2018
Plus haut prix 39,00€ 10 octobre 2017
Plus bas prix 34,00€ 24 novembre 2017
Depuis le 5 septembre 2017

Derniers changements de prix

34,00€ 28 novembre 2017
34,01€ 28 novembre 2017
34,00€ 28 novembre 2017
34,01€ 28 novembre 2017
34,20€ 26 novembre 2017

Raspberry Pi 3 en promo sur AliExpress

Raspberry Pi 3 en promo sur Banggood

Raspberry Pi 3 Model B ARM Cortex-A53 CPU 1.2GHz 64-Bit Quad-Core 1GB RAM 10 Times B+

Prix: 34,38
Relevé le 23 janvier 2018 5 h 59 min  
Voir l'offre
banggood.com
Attendre que le prix baisse

Historique de prix

Statistiques

Prix actuel 34,38€ 23 janvier 2018
Plus haut prix 42,99€ 4 octobre 2017
Plus bas prix 26,04€ 11 janvier 2018
Depuis le 5 septembre 2017

Derniers changements de prix

34,38€ 18 janvier 2018
28,37€ 17 janvier 2018
34,38€ 15 janvier 2018
33,61€ 14 janvier 2018
34,38€ 13 janvier 2018

Raspberry Pi 3 en promo sur Ebay

Raspberry Pi 3 Model B Quad Core 1.2GHz 64bit CPU 1GB RAM WiFi & Bluetooth 4.1

Prix: 36,99
Relevé le 23 janvier 2018 6 h 00 min  
Voir l'offre
ebay.fr
Attendre que le prix baisse

Historique de prix

Statistiques

Prix actuel 36,99€ 23 janvier 2018
Plus haut prix 36,99€ 4 octobre 2017
Plus bas prix 36,99€ 4 octobre 2017
Depuis le 4 octobre 2017

Derniers changements de prix

36,99€ 4 octobre 2017

Raspberry Pi 3 en promo sur Gearbest

DIY Raspberry Pi Model 3 B Motherboard

Prix: 41,89
Relevé le 17 janvier 2018 15 h 00 min  
Voir l'offre
gearbest.com
Attendre que le prix baisse

Historique de prix

Statistiques

Prix actuel 41,89€ 17 janvier 2018
Plus haut prix 41,89€ 17 janvier 2018
Plus bas prix 29,01€ 8 novembre 2017
Depuis le 19 octobre 2017

Derniers changements de prix

41,89€ 17 janvier 2018
30,61€ 9 janvier 2018
31,46€ 8 janvier 2018
30,61€ 28 novembre 2017
29,01€ 27 novembre 2017

Raspberry Pi 3 Model B Motherboard

Prix: 30,61
Relevé le 17 janvier 2018 15 h 00 min  
Voir l'offre
gearbest.com
Attendre que le prix baisse

Historique de prix

Statistiques

Prix actuel 30,61€ 17 janvier 2018
Plus haut prix 35,99€ 3 octobre 2017
Plus bas prix 30,61€ 19 octobre 2017
Depuis le 3 octobre 2017

Derniers changements de prix

30,61€ 19 octobre 2017
35,99€ 3 octobre 2017

Vous êtes en panne d’idées ou de projet à réaliser avec votre Raspberry Pi 3, vous devriez trouver quelques pistes en lisant ce guide.

(*) Vérifier la disponibilité et le tarif avant d’acheter.

  • Tous les prix mentionnés ci-dessus sont en Euro.
  • Ce produit est disponible sur Gearbest, Zapals, Amazon.fr, Banggood, Ebay, DealExtreme, AliExpress.
  • Sur gearbest.com, vous pouvez acheter Raspberry Pi 3 Model B Motherboard pour seulement 30,61€
  • Le prix le plus bas de DIY Raspberry Pi Model 3 B Motherboard a été obtenu le 17 janvier 2018 15 h 00 min.
Spécifications

Critères

Marque | fabricant: Raspberry Pi

CPU | SoC | Arduino | ESP8266 | ESP32 : Broadcom BCM2837

RAM: 1GB DDR3

Matériels | composants | Divers: Caméra CSI

WiFi

Bluetooth

Certifié CE/FCC

Alimentation | Pile | Batterie: 5VDC

Sorties | ports USB | relais: 0

~tags: EAN version anglaise : 4056203582320; 4251102611243; 0640522710850; 4547634403839; 6950031423030; 0733204454422; 0682710991498; 5060342311825; 0717520028451; 0780411235481; 0603097206487; 4562485523789; 0702658304058; 4250236812236; 5060214370028; 0732240734604; 8431301262927; 6907502582345; 0841454117407

Cet article #Bon plan : Raspberry Pi 3 en promo à 25,38€, codes promo version anglaise ou chinoise est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Communication WebSocket avec un ESP8266 ou Arduino en Python. Test avec la librairie ws4py sur Raspberry Pi

$
0
0

Le Websocket est un protocole de communication beaucoup plus rapide que le protocole REST qui utilise des requêtes HTTP classiques. Le Websocket permet d’ouvrir un canal de communication bi-directionnel entre deux appareils. Dans le cas présent, ce sera entre un ES8266 (mais cela pourrait également être un Arduino ou un ESP32) et un Raspberry Pi 3. Dans ce tutoriel, nous allons démarrer un serveur WebScoket sur un ESP8266 (Wemos d1 R2). Le client sera développé en Python et sera hébergé sur un Raspberry Pi. Nous ré-utiliserons cette architecture très prochainement pour piloter un bras robotique en WiFi à l’aide d’un Gamepad (dans l’article précédent, nous avons vu comment intercepter les actions).

Les avantages du Websocket par rapport à l’API REST HTTP classique

Le websocket a été élaboré pour les applications qui nécessitent des réponses rapide ou interactives. Le HTTP a été élaboré à la préhistoire du Web (par le CERN de Genève). Le protocole HTTP est employé pour faire fonctionner les sites internets mais également les applications mobiles (par exemple). Les API REST sont également basées sur l’HTTP. L’HTTP n’est pas adapté aux applications qui nécessitent des réponses rapides ou interactives. En effet, à chaque fois que le client fait une requête au serveur, on doit ouvrir une connexion, attendre la réponse du serveur puis refermer la connexion ce qui est consommateur de ressources et prend du temps de traitement.

On ne tiendra pas compte ici de la technologie Ajax qui permet d’actualiser le contenu d’une page web de manière asynchrone. Ajax pourra être utilisée dans les projets Arduino / ESP8266 (et équivalent) coté client web, c’est à dire au niveau de l’interface HTML du projet (lisez ces articles pour en savoir plus). Un exemple de réalisation ici.

Le Websocket vise à résoudre ces problèmes. Le Websocket ouvre un tunnel de communication entre deux appareils. Ce tunnel reste ouvert jusqu’à ce que le client se déconnecte. A n’importe quel moment le client peut envoyer des messages (JSON, binaire, texte…) et vis versa.

Source : https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api-understanding-the-difference/

Pour résumer, le Websocket présente les avantages suivants :

  • Bi-directionnel: le protocole HTTP est unidirectionnel, c’est à dire que le client envoi une requête à laquelle le serveur répond ensuite. Le client consomme ensuite la réponse et ainsi de suite. WebSocket est un protocole bidirectionnel dans lequel il n’y a pas de modèles de message prédéfinis tels que demande / réponse. Le client ou le serveur peut envoyer un message à l’autre partie.
  • Full-duplex: serveur et client peuvent s’envoyer des messages à n’importe quel moment indépendamment des traitements en cours.
  • Connexion TCP unique: Généralement, une nouvelle connexion TCP est lancée pour une requête HTTP et se termine après la réception de la réponse. Une nouvelle connexion TCP doit être établie pour une autre requête / réponse HTTP. Avec le WebSocket, le client et le serveur communiquent sur la même connexion TCP jusqu’à ce que le client ou le serveur ferme la connexion.
  • Léger : le Websocket se concentre sur l’essentiel contrairement à l’HTTP qui embarque de nombreuses informations à chaque question / réponse

En terme de performance, le Websocket est beaucoup plus rapide comme le montre cette étude réalisée par le développeur Arun Gupta en 2014. Arun a mesuré le temps nécessaire pour envoyer des paquets de messages. Chaque message pèse 1000 bytes.

websocket rest messages comparison speed

Source : http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

La différence peut sembler insignifiante (30% plus rapide) pour un nombre très faible de message. Vous verrez que pour piloter un bras robotique ou un éclairage à LED depuis une application mobile, le différence est vraiment significative !

Source : http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

Installation de la librairie Websocket pour ESP8266 sur l’IDE Aduino

En faisant une recherche sur le mot clé websocket depuis le gestionnaire de bibliothèque, on trouve plusieurs librairies compatibles avec les modules ESP8266. Je vous conseille toutefois d’utiliser la librairie développée par Markus Sattler. Elle permet de démarrer un serveur ou de transformer l’ESP8266 en client Websocket. Elle est disponible sur GitHub ici. Elle est compatible avec les cartes suivantes (dommage, elle n’est compatible avec l’ESP32) : 

  • Arduino
  • ESP8266
  • ESP31B
  • Particle avec STM32 ARM Cortex M3
  • ATmega328
  • ATmega2560

Démarrer un serveur Websocket sur un ESP8266 (fonctionne également sur Arduino et ESP32)

La librairie Websocket contient plusieurs exemples (client, serveur). Cette librairie est très bien faite. Elle permet de brancher une fonction callback qui sera appelée à chaque fois qu’un message est reçu. Il est alors très facile de brancher les traitements associés en décodant les messages (nous verrons comment faire dans le prochain paragraphe).

On commence par créer un objet qui contiendra le serveur Websocket

WebSocketsServer webSocket = WebSocketsServer(81);

Dans le setup, on démarre le serveur et on indique la procédure callback qui sera appelée à chaque nouveau message.

webSocket.begin();
webSocket.onEvent(webSocketEvent);

La librairie permet de connaître le type de message reçu :

  • WStype_DISCONNECTED, le client s’est déconnecté
  • WStype_CONNECTED, un client vient de se connecter
  • WStype_TEXT, un message de type text (chaine, JSON..) vient d’arriver
  • WStype_BIN, un message de type binaire vient d’arriver

Enfin, on ajoute comme pour un serveur web, l’actualisation du serveur  chaque passage dans la boucle loop. Il est donc préférable de ne pas mettre de delay dans cette boucle pour ne pas ralentir le serveur et donc la réception des messages.

webSocket.loop();

Créez un nouveau croquis et collez le code ci-dessous en modifiant les paramètres WiFi.

#include <ESP8266WiFi.h>
#include <WebSocketsServer.h>

const char* ssid     = "XXXX";
const char* password = "XXXX";
const int pinLed0 = 13;

WebSocketsServer webSocket = WebSocketsServer(81);

void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {
    Serial.printf("[%u] get Message: %s\r\n", num, payload);
    switch(type) {
        case WStype_DISCONNECTED:
            break;
        case WStype_CONNECTED:
            {
              IPAddress ip = webSocket.remoteIP(num);
              Serial.printf("[%u] Connected from %d.%d.%d.%d url: %s\r\n", num, ip[0], ip[1], ip[2], ip[3], payload);
            }
            break;

        case WStype_TEXT:
            {
              //Serial.printf("[%u] get Text: %s\r\n", num, payload);
              String _payload = String((char *) &payload[0]);
              //Serial.println(_payload);

              String idLed = (_payload.substring(0,4));
              String intensity = (_payload.substring(_payload.indexOf(":")+1,_payload.length()));
              int intLed = intensity.toInt();
              Serial.print("Intensity: "); Serial.print(intensity); Serial.print(" to int "); Serial.println(intLed);
              updateLed (idLed, intLed);

            }
            break;

        case WStype_BIN:
            {
              hexdump(payload, lenght);
            }
            // echo data back to browser
            webSocket.sendBIN(num, payload, lenght);
            break;

    }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(pinLed0, OUTPUT);
  WiFi.begin(ssid, password);

  while(WiFi.status() != WL_CONNECTED) {
     Serial.print(".");
     delay(200);
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());

  delay(500);

  Serial.println("Start Websocket Server");
  webSocket.begin();
  webSocket.onEvent(webSocketEvent);
}

void loop() {
  webSocket.loop();
}

void updateLed(String idLed, int intLed){
  int valPWM = map(intLed, 0, 99, 0, 254);
  Serial.println(valPWM);
  analogWrite(pinLed0, valPWM);
}

Comment décoder les messages WebSocket

Il est possible d’envoyer un message au format JSON et de le décoder avec la librairie ArduinoJSON présenté précédemment dans cet article par exemple. Cette librairie pose toutefois problème dès qu’on reçoit un très grand nombre de messages. Pour piloter l’intensité lumineuse d’un LED en PWM ou la position d’un servomoteur, il est préférable de découper le message à l’aide de fsonctions plus classiques qui nécessitent moins de ressources sur l’ESP8266. On pourra par exemple utiliser la fonction C++ substring(position, nombre de caractères). Ici, on récupère le premier message (payload[0]) puis on extrait l’identifiant de la LED ainsi que l’intensité. Le séparateur utilisé est “:”, ce qui donne un message du type led0:58.

String _payload = String((char *) &payload[0]);
Serial.println(_payload);

String numLed=(_payload.substring(0,4));
String dirServo=(_payload.substring(_payload.indexOf(":"),_payload.length()));

moveServos(numServo, dirServo);

Ensuite, il est préférable de tester la présence d’une chaîne plutôt que de faire un test d’égalité entre deux chaînes (==).

if ( numServo.indexOf("0") > 0 ) {
   if ( dirServo.indexOf("left") > 0 ) {
     // traitement
   }
}

Client Websocket en Python avec la librairie ws4py

Il existe plusieurs librairies Python permettant de mettre en place une communication Websocket. Voici les principales que vous pouvez utiliser dans vos projets :

  • websockets 4.x. C’est la plus connue, la documentation est ici.
  • ws4py est une librairie développée par Sylvain Hellegouarch (Lawouach sur GitHub). Elle est disponible sur GitHub ici. Elle est référencée sur PyPi, donc très facile à installer et à mettre à jour avec la commande pip. La documentation se trouve ici.

Ici, je vous propose d’utiliser ws4py qui est assez bien documenté et qui supporte très bien l’utilisation des threads sous Python (tâches réalisées en parallèle indépendamment du programme principal). Commencez par installer la librairie ws4py en exécutant la commande suivante

pip install ws4py

Ici, on va créer en client Websocket. Pour cela, on va importer la classe WebSocketClient de la librairie ws4py.

from ws4py.client.threadedclient import WebSocketClient

La librairie ws4py expose plusieurs méthodes callback qui pourront servir à déclencher des traitements dans le code. On dispose des méthodes suivantes :

  • opened
  • closed
  • received_message

La documentation de ws4py donne un exemple d’utilisation. On créé un DummyClient de type WebSocketClient qui contient les différents états du client.

class DummyClient(WebSocketClient):
    def opened(self):
        print("Websocket open")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason
    def received_message(self, m):
        print m

Ensuite, on créé un objet websocket en lui passant en paramètre l’adresse ip de serveur websocket. Pour le moment, on va communiquer sans sécurité sur le port 81. L’adresse d’un serveur est composée du préfixe ws:// ou wss:// s’il est sécurisé par un certificat SSL (ce n’est pas le cas ici). Ensuite, on trouve l’adresse IP du serveur, dans le cas présent, c’est l’adresse IP de l’ESP8266. Enfin, le port, ici 81. Cela donne par exemple

ws://192.168.1.65:81/

Enfin, on ouvre la communication avec le serveur

ws.connect()

La commande ws.send(message) permet d’envoyer à n’importe quel moment un message au serveur. Les messages en provenance du serveur seront traités par le DummyClient à l’aide de la méthode received_message. On peut envoyer n’importe quel type de données. Une chaine de caractère avec un séparateur de données quelconque (| : – , ), un JSON (pour cela on pourra utiliser le package JSON pour python), des données binaires (une image par exemple)…

Code complet du client websocket en Python

Créez un nouveau script avec la commande nano wsled.py (par exemple) et collez le code complet ci-dessous. Modifiez l’adresse IP de l’ESP8266. Enregistrez le script avec CTRL  X puis Y ou O (en français).

from ws4py.client.threadedclient import WebSocketClient
import time, requests

esp8266host = "ws://192.168.1.65:81/"

class DummyClient(WebSocketClient):
    def opened(self):
        print("Websocket open")
    def closed(self, code, reason=None):
        print "Connexion closed down", code, reason
    def received_message(self, m):
        print m

if __name__ == '__main__':
    try:
        ws = DummyClient(esp8266host)
        ws.connect()
        print("Ready !")

        i = 0
        while i < 101:
          payload = "led0:" + str(i)
          ws.send(payload)
          time.sleep(.20)
          i +=1

        print("Demo finish, close Websocket connexion now and exit script")
        ws.send("led0:0")
        ws.close()
        exit()

    except KeyboardInterrupt:
    	ws.send("led0:0")
        ws.close()

Branchez une LED entre la broche D7 (GPIO15) et le GND. Ajoutez une résistance en fonction de la tension admissible par la LED (plus d’info ici). Téléversez le script Arduino sur l’ESP8266 et attendez que celui-ci soit connecté au réseau WiFi en ouvrant le moniteur série. Dès que l’ESP est connecté au réseau, vous pouvez lancer le script avec exécutant la commande

python wsled.py
. Vous pouvez suivre sur le moniteur série la réception et le décodage des messages. Vous pouvez modifier la vitesse de publication des coté client (script python) en modifiant le temps d’attente. Ici, il est de .10 soit 100ms (en python, la durée d’attente de la fonction time.sleep est indiquée en seconde). Vous pouvez interrompre le script à n’importe quel moment avec la combinaison de touche CTRL + C.

Voilà, tout est en place pour le projet de pilotage de bras robotique à l’aide d’un Gamepad !

Cet article Communication WebSocket avec un ESP8266 ou Arduino en Python. Test avec la librairie ws4py sur Raspberry Pi est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

#Coupons et promos Gearbest produits Xiaomi. Domotique, drone, smartphones, portables, robot

$
0
0

Vous trouverez ici tous les codes promo validés pour acheter les produits Xiaomi sur Gearbest. Xiaomi est un fabricant chinois de produits électroniques grand publique. Xiaomi fabrique de tout. Smartphone(Redmi Note, Mi 6, Mi Note, Mi A1…), tablette, tablet PC, appareils domotiques (gamme Aquara maintenant appelée Mi Home), box TV, montre connectée Amazfit et bracelet Mi Band 2, caméra de sport 4K, drone, ordinateur portable, robot aspirateur… et même des trotinettes électriques
!
Les offres et les coupons qui figurent sur cette page sont actualisés chaque semaine.
Tous les autres codes promo Gearbest classés par thème

Arduino Uno Raspberry Pi Imprimantes 3D Box TV et Mini PC
Cartes micro SD Drones Robots aspirateur Produits Xiaomi

Promos Gearbest sur les alarmes et accessoires domotiques Xiaomi

2 promos sur les alarmes et accessoires domotiques Xiaomi. GearBest fait la plus grosse réduction (-16%) sur Xiaomi Aqara Light Control Smart Switch soldé à 21,71€.
Rechercher toutes les autres offres sur le(s) alarmes et accessoires domotiques Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

-16%

21,71
25,78
Voir l’offre
GearBestGearBest
-15%

16,96
20,07
Voir l’offre
GearBestGearBest

Promos Gearbest sur les box TV Xiaomi

2 promos sur les les box TV Xiaomi. GearBest fait la plus grosse réduction (-34%) sur Xiaomi Mi 3S TV Box Amlogic S905X Quad Core soldé à 48,32€.
Rechercher toutes les autres offres sur le(s) les box TV Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Aucun autre code promo disponible actuellement

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les montres connectées Xiaomi

7 promos sur les montres connectées Xiaomi. GearBest fait la plus grosse réduction (-46%) sur Xiaomi Mi Band 2 Wristband soldé à 2,19€.
Rechercher toutes les autres offres sur le(s) montres connectées Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Aucun autre code promo disponible actuellement

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Codes promo Gearbest

Aucun autre code promo disponible actuellement

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les accessoires pour drones Xiaomi

1 promo sur les accessoires pour drones Xiaomi. GearBest fait la plus grosse réduction (-23%) sur Xiaomi DC01FM Mi Drone 15.2V 5100mAh Battery soldé à 64,16€.
Rechercher toutes les autres offres sur le(s) accessoires pour drones Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les caméras de sport Xiaomi

3 promos sur les caméras de sport Xiaomi. GearBest fait la plus grosse réduction (-21%) sur Xiaomi Mijia Camera Mini 4K 30fps Action Camera soldé à 90,82€.
Rechercher toutes les autres offres sur le(s) caméras de sport Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Aucun autre code promo disponible actuellement

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les caméras de surveillance IP Xiaomi

1 promo sur les caméras de surveillance IP Xiaomi. GearBest fait la plus grosse réduction (-8%) sur Xiaomi xiaofang Smart 1080P WiFi IP Camera soldé à 17,82€.
Rechercher toutes les autres offres sur le(s) caméras de surveillance IP Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les voitures RC Xiaomi

1 promo sur les les voitures RC Xiaomi. GearBest fait la plus grosse réduction (-23%) sur Xiaomi MITU DIY Mobile Phone Control Robot soldé à 78,32€.
Rechercher toutes les autres offres sur le(s) les voitures RC Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les robots aspirateurs Xiaomi

1 promo sur les robots aspirateurs Xiaomi. GearBest fait la plus grosse réduction (-26%) sur 5PCS Mi Robot Vacuum Smart Cleaner Accessories soldé à 36,66€.
Rechercher toutes les autres offres sur le(s) robots aspirateurs Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Voici une liste de codes promo valables sur sur Gearbest.

Xiaomi Smart Robot robot aspirateur - première génération blanc

-13% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 150 pièces

216,65€ 249,98€
Afficher le coupon
6 jours restants

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les smarphones et phablets Xiaomi

22 promos sur les smarphones et phablets Xiaomi. GearBest fait la plus grosse réduction (-30%) sur Xiaomi Mi Note 2 4G Phablet soldé à 265,94€.
Rechercher toutes les autres offres sur le(s) smarphones et phablets Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

-30%

265,94
380,53
Voir l’offre
GearBestGearBest
-28%

191,65
266,43
Voir l’offre
GearBestGearBest
-27%

333,32
454,81
Voir l’offre
GearBestGearBest
-25%

83,32
111,41
Voir l’offre
GearBestGearBest
-23%

140,82
183,54
Voir l’offre
GearBestGearBest
-22%

124,15
158,8
Voir l’offre
GearBestGearBest
-19%

299,98
372,43
Voir l’offre
GearBestGearBest
-18%

183,32
222,81
Voir l’offre
GearBestGearBest
-17%

199,15
239,97
Voir l’offre
GearBestGearBest
-16%

83,32
99,63
Voir l’offre
GearBestGearBest
-15%

224,99
264,32
Voir l’offre
GearBestGearBest
-14%

174,99
203,48
Voir l’offre
GearBestGearBest
-13%

174,99
200,94
Voir l’offre
GearBestGearBest
-12%

116,66
132,05
Voir l’offre
GearBestGearBest
-11%

91,66
103,43
Voir l’offre
GearBestGearBest
-10%

149,99
166,66
Voir l’offre
GearBestGearBest
-9%

524,98
578,68
Voir l’offre
GearBestGearBest
-7%

158,32
170,4
Voir l’offre
GearBestGearBest
-6%

83,32
88,67
Voir l’offre
GearBestGearBest
-4%

131,05
136,98
Voir l’offre
GearBestGearBest
-1%

449,98
453
Voir l’offre
GearBestGearBest
0%

112,49
112,86
Voir l’offre
GearBestGearBest

Codes promo Gearbest

Voici une liste de codes promo valables sur sur Gearbest.

Xiaomi Mi 5C 4G Smartphone - 3GO RAM 64GO ROM Or

-23% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 20 pièces

163,07€ 211,06€
Afficher le coupon
6 jours restants

Xiaomi rougemi 5A 4G Smartphone version internationale - gris

-4% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 100 pièces

71,99€ 74,99€
Afficher le coupon
6 jours restants

Xiaomi rougemi 4X 3GB RAM 4G Smartphone - version internationale noir 3+32GB &B20

-7% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 300 pièces

108,32€ 116,66€
Afficher le coupon
6 jours restants

Xiaomi Mi 6 4G Smartphone 4GB RAM - bleu

-19% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 100 pièces

282,48€ 349,98€
Afficher le coupon
6 jours restants

Xiaomi rougemi Note 4 4G Phablet prise européenne (EU Plug) - version internationale or 3+32GB

-14% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 50 pièces

115,82€ 133,32€
Afficher le coupon
6 jours restants

XIAOMI Mi A1 4G Phablet 4GB RAM version internationale - rose GOLD 4+64GB

-10% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 50 pièces

164,98€ 183,32€
Afficher le coupon
6 jours restants

XIAOMI Mi A1 4G Phablet 4GB RAM version internationale - noir

-5% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 500 pièces

174,15€ 183,32€
Afficher le coupon
6 jours restants

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les ordinateurs portables Xiaomi

1 promo sur les ordinateurs portables Xiaomi. GearBest fait la plus grosse réduction (-24%) sur Xiaomi Mi Notebook Pro avec reconnaissance d’empreinte digitale (Fingerprint Recognition) soldé à 720,25€.
Rechercher toutes les autres offres sur le(s) ordinateurs portables Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Voici une liste de codes promo valables sur sur Gearbest.

Xiaomi Mi Notebook Pro avec reconnaissance d'empreinte digitale (Fingerprint Recognition) - CORE I5 8GB + 256GB DEEP gris

-7% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 50 pièces

716,64€ 769,30€
Afficher le coupon
6 jours restants

Xiaomi Mi Notebook Pro avec reconnaissance d'empreinte digitale (Fingerprint Recognition) - CORE I7 16GB + 256GB

-2% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 50 pièces

915,81€ 931,38€
Afficher le coupon
6 jours restants

Xiaomi Notebook Air 13.3 avec reconnaissance d'empreinte digitale (Fingerprint Recognition)

-5% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 100 pièces

749,97€ 791,64€
Afficher le coupon
6 jours restants

Xiaomi Mi Pro Ordinateur Portable - Core i5 8GB + 256GB

-26% de réduction. Coupon vérifié le 27 Jan 2018. Quantité limitée à 30 pièces

686,20€ 924,58€
Afficher le coupon
6 jours restants

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Promos Gearbest sur les routeurs Xiaomi

3 promos sur les routeurs Xiaomi. GearBest fait la plus grosse réduction (-13%) sur version anglaise Xiaomi Mi WiFi Router 3 soldé à 27,49€.
Rechercher toutes les autres offres sur le(s) routeurs Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Codes promo Gearbest

Aucun autre code promo disponible actuellement

Anciens coupons

Vous pouvez également tester ces anciens codes promo sur Gearbest.

Toutes les autres promos Xiaomi

25 promos sur les autres produits Xiaomi. GearBest fait la plus grosse réduction (-46%) sur Xiaomi MITU 2017 Table Desk Calendar soldé à 3,94€.
Rechercher toutes les autres offres sur le(s) autres produits Xiaomi sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

-46%

3,94
7,32
Voir l’offre
GearBestGearBest
-45%

50,32
90,8
Voir l’offre
GearBestGearBest
-42%

31,66
54,16
Voir l’offre
GearBestGearBest
-38%

1,91
3,06
Voir l’offre
GearBestGearBest
-37%

4,18
6,63
Voir l’offre
GearBestGearBest
-36%

2,47
3,86
Voir l’offre
GearBestGearBest
-33%

1,38
2,05
Voir l’offre
GearBestGearBest
-32%

45,66
66,66
Voir l’offre
GearBestGearBest
-31%

26,16
37,89
Voir l’offre
GearBestGearBest
-30%

1,66
2,36
Voir l’offre
GearBestGearBest
-28%

449,98
624,97
Voir l’offre
GearBestGearBest
-27%

37,49
51,01
Voir l’offre
GearBestGearBest
-26%

14,16
19,03
Voir l’offre
GearBestGearBest
-25%

37,49
49,99
Voir l’offre
GearBestGearBest
-24%

15,82
20,82
Voir l’offre
GearBestGearBest
-23%

16,66
21,66
Voir l’offre
GearBestGearBest
-22%

23,32
30,07
Voir l’offre
GearBestGearBest
-20%

13,32
16,66
Voir l’offre
GearBestGearBest
-19%

9,16
11,35
Voir l’offre
GearBestGearBest
-17%

106,66
128,61
Voir l’offre
GearBestGearBest
-16%

22,52
26,76
Voir l’offre
GearBestGearBest
-14%

316,56
366,65
Voir l’offre
GearBestGearBest
-10%

15,82
17,62
Voir l’offre
GearBestGearBest
-8%

14,16
15,43
Voir l’offre
GearBestGearBest
-6%

38,32
40,96
Voir l’offre
GearBestGearBest

Cet article #Coupons et promos Gearbest produits Xiaomi. Domotique, drone, smartphones, portables, robot est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

#Coupons et promos Gearbest cartes et kits Arduino, capteurs, écran LCD

$
0
0

Vous trouverez sur cette pages des promos sur les cartes et les kits de développement à base d’Arduino, des capteurs, composants, écrans LED pour vos montages DIY sur Gearbest.
Tous les autres codes promo Gearbest classés par thème

Arduino Uno Raspberry Pi Imprimantes 3D Box TV et Mini PC
Cartes micro SD Drones Robots aspirateur Produits Xiaomi

Promos Gearbest sur les cartes de développement Arduino

5 promos sur les cartes de développement Arduino. GearBest fait la plus grosse réduction (-43%) sur Waveshare Analog AD Input DA Output Module soldé à 5,25€.
Rechercher toutes les autres offres sur le(s) cartes de développement Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les kits Arduino

4 promos sur les kits Arduino. GearBest fait la plus grosse réduction (-37%) sur Arduino Big Time DIY Kit soldé à 17,08€.
Rechercher toutes les autres offres sur le(s) kits Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les capteurs pour projets Arduino

4 promos sur les capteurs pour projets Arduino. GearBest fait la plus grosse réduction (-44%) sur Rotary Rotation Encoder Module soldé à 2,19€.
Rechercher toutes les autres offres sur le(s) capteurs pour projets Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les composants pour projets Arduino

1 promo sur les composants pour projets Arduino. GearBest fait la plus grosse réduction (-24%) sur 11 Type 1uF-2200uF High Frequency Electrolytic Capacitor Assortment Box Kit soldé à 10,92€.
Rechercher toutes les autres offres sur le(s) composants pour projets Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les écrans LCD pour projets Arduino

3 promos sur les écrans LCD pour projets Arduino. GearBest fait la plus grosse réduction (-48%) sur LDTR – SF03 DIY Green LED Backlight Light Guide Panel soldé à 1,93€.
Rechercher toutes les autres offres sur le(s) écrans LCD pour projets Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Promos Gearbest sur les modules radio

1 promo sur les modules radio. GearBest fait la plus grosse réduction (-21%) sur NRF24L01 Wireless Module With AMS1117 3.3V Stable Chip soldé à 1,32€.
Rechercher toutes les autres offres sur le(s) modules radio sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Autres produits pour projets Arduino

11 promos sur les projets Arduino. GearBest fait la plus grosse réduction (-35%) sur Landa Tianrui LDTR – HM004 Tact Switch Module with LED Indicator Light soldé à 1,49€.
Rechercher toutes les autres offres sur le(s) projets Arduino sur GearBest
Les prix ont été actualisés pour la dernière fois le 27 Jan 2018 à 21:36

Tous les autres codes promo Gearbest classés par thème

Arduino Uno Raspberry Pi Imprimantes 3D Box TV et Mini PC
Cartes micro SD Drones Robots aspirateur Produits Xiaomi

Cet article #Coupons et promos Gearbest cartes et kits Arduino, capteurs, écran LCD est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Un shield batterie 18650 à moins de 2€ pour alimenter vos projets IoT Arduino, ESP32, ESP8266, Raspberry Pi

$
0
0

Si vous recherchez une solution pour alimenter vos projets sur batterie, ce nouveau shield pour batterie 18650 devrait vous plaire. L’alimentation sur batterie d’un mini PC Raspberry Pi, ou des micro-contrôleurs ESP8266 / ESP32 représente toujours ne part importante du budget d’un projet. L’année dernière, j’avais testé la carte LiFePO4wered disponible sur Tindie pour environ 40€ (port compris et une batterie 18650 LiFePO4 de 550mAh). Si vous disposez déjà d’un réseau Ethernet POE, vous pouvez alimenter le Raspberry Pi avec la carte d’extension Pi POE présentée dans cet article. Cette carte est vendue environ 40€.

On réservera ces cartes à des projets plus “Pro” qui nécessitent un gestion fine de l’énergie (la carte LiFePO4wered permet par exemple de connaître le niveau de charge de la batterie et d’arrêter le Raspberry Pi automatiquement ou envoyer un notification lorsqu’un certain seuil est atteint). Pour des projets d’objets connectés DIY, par exemple, des sondes en tout genre (température, anémomètre, ensoleillement, taux d’humidité du sol…), cette carte d’extension fera merveille.

Vendu environ 2€ sur AliExpress et eBay, ce shield batterie permet de charger et d’alimenter une carte de développement de type Arduino, ESP8266, ESP32 via la sortie USB ou directement en utilisant les 6 sorties disponibles sur chaque coté de la carte (5V ou 3V).

D’après la désignation du produit, cette carte semble permettre d’alimenter un mini PC de type Raspberry Pi. C’est plus une optimisation des mots clés pour être visible dans les résultats de recherche qu’une réelle solution d’alimentation. En théorie, dlle devrait également permettre d’alimenter en énergie le Raspberry Pi et tous les autres mini PC (Orange Pi, Banana Pi, Odroid…) qui disposent d’un port USB OTG. Attention toutefois à acheter une batterie LiFePo de haute capacité. La carte ne dispose d’aucune sortie permettant de mesurer le niveau de charge de la batterie. Il faudra donc faire attention de mesurer la durée de vie pour une charge complète afin d’éviter tout arrêt brutal du système. Les cartes SD supportent très mal ce genre de blague et n’hésitent pas à nous le rappeler au prochain démarrage  😆 Au risque d’être rabat-joie, pensez à sauvegarder régulièrement vos cartes SD. Attention également à bien arrêter le système avant de couper l’alimentation à l’aide d’un micro-interrupteur présent sur le shield. Il n’y a aucun retour coté Raspberry Pi, l’arrêt est immédiat.

Le shield embarque un circuit de contrôle de charge assez basique. Il est bien précisé de rester la polarité. Toute inversion de polarité pouvant entrainer la destruction du circuit de charge. La carte dispose d’un connecteur micro USB pour charger la batterie.

On pourra alimenter une carte de développement ou n’importe quel appareil disposant d’un port USB. Pour cela, on dispose d’une sortie USB de type A. L’intensité maximale délivrée n’est pas indiquée. Elle est probablement de 4A comme les connecteurs latéraux. On dispose également de 3 connecteurs permettant de délivrer 3V jusqu’à 1A et 3 connecteurs permettant de délivrer 5V jusqu’à 2A. Les 6 connecteurs se trouvent de chaque coté de la carte. Il faudra souder directement l’alimentation ou souder un header au pas de 2,54mm au préalable.

Récapitulatif des spécifications techniques trouvées sur AliExpress et eBay

  • Alimentation électrique : 5 à 8V via un port micro USB jusqu’à 0.5A
  • Puissance de sortie
    • 5V via le port USB de type A
    • 3 connecteurs permettant de délivrer 3V jusqu’à 1A
    • 3 connecteurs permettant de délivrer 5V jusqu’à 2A
  • Divers : 1 sortie USB, LED pour l’état de charge (vert = batterie chargée, rouge = en charge)
  • Protection de la batterie (surcharge ou décharge excessive). Attention, pas de protection en cas d’inversion de polarité
  • Dimensions : 98 x 29 mm

 

Cet article Un shield batterie 18650 à moins de 2€ pour alimenter vos projets IoT Arduino, ESP32, ESP8266, Raspberry Pi est apparu en premier sur Projets DIY - Domotique et objets connectés à faire soi-même.

Viewing all 610 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>