[Tuto] Installer et personnaliser le firmware Ralim sur le TS100

Le site maelremrem.xyz propose un firmware permettant de paramétrer les différents modes depuis le fer à souder et de changer le logo au démarrage.

Changer le firmware

  • – télécharger le firmware dans la langue souhaitée sur cette page
  • – appuyer sur le bouton le plus proche de la panne
  • – maintenir l’appui en connectant le câble USB du fer
  • – le fer est à présent connecté en mode DFU, il apparaît comme un périphérique
  • – glisser/déposer le .hex téléchargé précédemment dans le périphérique
  • – le périphérique redémarre automatique et ouvre la fenêtre à nouveau :
    • – si le fichier a été renommé en .RDY, tout s’est bien passé,
    • – si il est renommé en .ERR, il y a eu un problème, il faut recommencer la procédure.
  • – déconnecter l’usb et brancher l’alimentation

Modifier le logo

  • – créer une image de 96×16 pxls.
  • – télécharger le logiciel fourni par Ralim.
  • – ouvrir le logiciel, importer l’image (la conversion des couleurs en noir et blanc est faite par le logiciel, il est possible d’inverser les couleurs.).
  • – enregistrer le fichier .hex
  • – de la même manière que pour flasher le firmware, remettre le fer en DFU et copier/coller le .hex dans le dossier du fer.
  • – déconnecter l’usb et brancher l’alimentation

Paramétrages disponibles

Le fer possède à présent des menus de paramétrage, qui peuvent être parcourus en appuyant sur le bouton le plus proche de l’écran. Pour modifier un paramètre, appuyer sur le bouton le plus proche de la panne.

Des détails plus précis sont disponibles sur le Wiki Ralim

  • PWRSC : réglage du type d’alimentation.
    • – Choix du nombre de cellules si une LiPo est utilisée LiPo
    • – DC pour désactiver la coupure d’alimentation.
  • STMP : choix de la température en mode veille
  • SLTME : choix du temps avant l’entrée en veille
  • SHTME : choix de la durée de la veille avant que le fer ne s’éteigne complètement
  • MSENSE : réglage de l’accéléromètre (0 désactivé – 1 à 9)
  • TMPUNIT : choix de l’unité de température, C ou F
  • TMPRND : choix du pas de température (1 degré, 5 ou 10)
  • TMPSPD : choix de la vitesse de rafraîchissement de l’écran lors de l’affichage de la température
  • DSPROT : choix de l’orientation de l’affichage (Auto, Gaucher, Droitier)
  • BOOST : A pour activer le Mode « boost », D pour le désactiver
  • BTMP : Choix de la température max du mode « boost »

Le mode boost est accessible après la chauffe initiale, en maintenant le bouton le plus proche de la panne appuyé. La température redescendra automatiquement au relâchement du bouton.

[Tuto] Commander une led via l’application Blynk

Dans ce tutoriel je vais vous introduire le fonctionnement de l’application Blynk. Ici, je vais vous montrer comment commander une led via son smartphone en toute simplicité.

Matériel nécessaire :
– 1 Arduino YUN
– 1 LED
– 1 Smartphone avec l’application Blynk

1. Mise en place de l’application

screenshot_20160919-145605

Tout d’abord, allez télécharger l’application Blynk sur le store de votre smartphone.

Démarrez l’application et créez-vous un compte :

screenshot_20160919-144235

Créez un nouveau projet:

screenshot_20160919-144409

Choisissez un nom de projet (ici: « Led Blinkin »), le modèle de microcontrôleur utilisé (ici: Arduino Yun) et envoyez-vous par e-mail le token généré, il sera utile pour la liaison entre l’arduino et votre smartphone.

screenshot_20160919-144440

Ici nous voulons interagir sur une Pin de l’arduino afin d’allumer ou non une LED. Il nous faut donc ajouter un bouton qui simulera l’état de sortie de la Pin en question. Pour cela, cliquez sur le petit « + » encerclé, cela vous donnera accès à une multitude de widgets. Nous choisirons dans notre cas le bouton du haut.

screenshot_20160919-144449
screenshot_20160919-144520

Le voilà maintenant placé ! Nous allons le configurer : cliquez dessus.

screenshot_20160919-144534

Donnez lui le nom que vous voulez (ici: Led Button) avec une couleur associée. Ensuite il nous faut choisir la pin sur laquelle l’application va interagir (ici: D13). Nous voulons que le bouton se comporte comme un switch et vous pouvez également personnaliser le message affiché en fonction de l’état du bouton (ici: Light ON/Light OFF).

screenshot_20160919-144635
screenshot_20160919-144645

Nous voilà prêt du côté smartphone. Allons maintenant du côté Arduino.

2. Mise en place du montage Arduino

Dans mon cas je vais utiliser un Arduino YUN connecté en WIFI. Nous allons également utiliser la pin 13 de l’arduino. Branchez la LED entre la pin 13 et le GND.

20160919_144739

Installez la librairie « Blynk » (lien de téléchargement) dans l’IDE Arduino (Tuto disponible ICI). Une fois fait, il va falloir programmé l’Arduino Yun avec le programme dédié trouvable dans les exemples de la librairie.

untitled-2

Dans le programme veillez bien à remplacer à la ligne 28, le « YourAuthToken » par celui que vous vous êtes envoyé par mail auparavant. Téléversez le programme dans l’Arduino et c’est parti !

3. Test

Allez dans votre application Blynk et démarrez votre projet « Led Blinkin » en appuyant sur le bouton start (représenté par une flèche) en haut à droite.

Un message s’affichera en bas, dans le cas ou votre Arduino n’est pas connecté à un réseau.

screenshot_20160919-144534

Si vous appuyer sur le bouton la LED s’allume, si vous appuyez à nouveau la LED s’éteint !

untitled-3

Maintenant c’est à vous. Laissez libre cours à votre imagination !

[Tuto] Configurer un module iBeacon avec un smartphone

Le iBeacon est un objet electronique basse consommation qui va permettre d’emettre en bluetooth trois valeurs en permanence. Un UUID qui identifie  l’iBeacon et deux autres valeurs : major et minor. Le iBeacon peut avoir de nombreuses utilités comme un système de positionnement.

Ici va être décrit la méthode de configuration du module iBeacon  via une application Apple.

Matériels nécessaire:

  • Module iBeacon programmable
  • Pile bouton CR2032
  • Application BeaconGo disponible sur Appstore
  1. Télécharger l’application BeaconGo sur l’Appstore
  2. Brancher la pile sur le module iBeacon
  3. Lancer l’application BeaconGo
  4. Appuyer sur BeaconGo Manager 
    img_0002
  5. Appuyer sur BeaconGO USB
    img_0003
  6. Appuyer sur Search
    img_0004
  7. Dans la liste des périphérique vous devriez voir apparaître votre iBeacon dans le cas où vous ne savez pas lequel est le votre débrancher votre iBeacon recommencer et procédez par élimination
  8. Sélectionner votre iBeacon vous devriez voir apparaître « Connecting » pendant plusieurs secondes
  9. Vous arrivez maintenant dans « Settings », vous pouvez configurer UUID, Major, Minor la puissance d’émission et d’autre paramètres qui pourraient vous intéresser.
    img_0001
  10. Votre Ibeacon est maintenant paramétré et prêt à être utilisé.

[Tuto] Hacker un detecteur de fumée et recevoir un mail en cas de début d’incendie

Beaucoup d’entre vous laisse imprimante 3D ou autre machine fonctionner dans vos logements pendant que vous êtes à l’extérieur. Même si c’est pour un court instant, nous ne sommes pas à l’abri d’accident c’est pourquoi dans cet article il va être question de rendre votre détecteur de fumée connecté. Connecté dans le sens où à la moindre détection de fumée votre appareil vous enverra un mail immédiatement.

Voici le matériel nécessaire:

  • Détecteur de fumée
  • Pile 9V
  • Photon
  • Relais 5V
  1. Démonter le detecteur de fumée et repérage

    Dans un premier temps démonter votre detecteur de fumée le plus proprement possible si vous voulez réutilisez votre boitier. Vous y trouverez trois parties, celle avec le coupleur de pile 9V, la partie électronique avec le composant qui détecte ou non la fumée et une partie avec un buzzer.

    img_20160913_174955
    img_20160913_175039
    img_20160913_175030

    Une fois que vous avez repéré la broche reliant la partie électronique avec le buzzer, prenez un voltmètre, mesuré la tension dans les deux cas suivant:

    * lorsque le detecteur de fumée ne détecte rien, normalement 0V (Led rouge clignote lentement)
    * lorsque vous enclenchez l’alarme manuellement (via le bouton de test) (Led rouge clignote rapidement)
    Noter cette valeur de tension, elle devrait se situer entre 5V et 9V. Pour pouvoir utiliser cette broche avec le photon vous allez devoir diviser cette tension pour qu’elle soit d’un maximum de 3V3. Pour cela il faudra faire un pont diviseur de tension à l’aide de deux résistances qu’on nommera R1 et R2.

  2. Montage sur breadboard

     

     

     

    detecteur

    Le rôle du relais ici est de permettre une vérification par deux fois en éteignant le detecteur de fumée puis en le rallumant pour attendre de nouveau le signal si il a bien lieu.

  3. Programmation du Particle Photon

    Configuré votre Photon avec le wifi du lieu où sera installé votre detecteur de fumée, téléverser le code suivant et vous pourrez le tester.

    #define ALIM_PIN A4            // pin de mesure d'alimentation du detecteur de fumee
    #define SEUIL_FUMEE_VALUE 1000 // seuil de mesure sur la pin analogique FUMEE_PIN
    #define RELAY_PIN D6           // pin pour allumage/extinction du relais pour l'alimentation du detecteur de fumee
    
    int fumee_value = 0;    // valeur mesuree sur la pin de detection de fumee
    int alim_value = 0;     // valeur mesuree sur la pin d'alimentation du detecteur de fumee
    
    byte compteur_detection_1 = 0; // Valeur incremente a chaque mesure de fumee_value supérieur au seuil de detection : premiere verification
    byte compteur_detection_2 = 0; // Valeur incremente a chaque "detection d'incendie", : deuxieme verification
    
    unsigned long m_second;
    unsigned long last_serial = 0; // Variable pour affichage sur le serial
    unsigned long last_mesure = 0; // Variable pour mesure periodique des PINs
    unsigned long last_count = 0;  // Variable pour remettre à zero le comptage des detection sur la PIN FUMEE_PIN, compteur_detection_1
    unsigned long last_detection = 0; // Variable pour remettre à zero le comptage des detection d'incendie, compteur_detection_2
    
    void setup() {
        Serial.begin(9600);
        pinMode(RELAY_PIN, OUTPUT);
        //pinMode(FUMEE_PIN, INPUT_PULLDOWN);
        pinMode(ALIM_PIN, INPUT_PULLDOWN);
        
        digitalWrite(RELAY_PIN, HIGH); // Extinction du detecteur de fumee
        delay(2000);
        digitalWrite(RELAY_PIN, LOW); // Allumage du detecteur de fumee
        delay(2000);
        digitalWrite(RELAY_PIN, HIGH); // Extinction du detecteur de fumee
        delay(2000);
        digitalWrite(RELAY_PIN, LOW); // Allumage du detecteur de fumee
        
        Particle.publish("Incendie", "Non");
    }
    
    void loop() {
        m_second = millis();
        
        //Lecture analogique des tensions provenant du detecteur de fumee toute les 500ms
        if(m_second - last_mesure >= 100){
            fumee_value = analogRead(FUMEE_PIN);
            //Serial.println(fumee_value);
            if(fumee_value > SEUIL_FUMEE_VALUE){
                if(compteur_detection_1 == 0){
                    last_count = m_second;
                }
                compteur_detection_1++;
            }
            last_mesure = m_second;
        }
        
        //Remise à zero du compteur de detection toute les 15secondes
        if(m_second - last_count >= 5000){
            
            compteur_detection_1 = 0;
            Serial.println("Remise a zero du compteur de detection 1");
            digitalWrite(RELAY_PIN, LOW); // Allumage ou laisser ON le detecteur de fumee
            last_count = m_second;
        }
        
        // Premiere verification de detection incendie
        if(compteur_detection_1 >= 10){
            Serial.println("detection incendie");
            digitalWrite(RELAY_PIN, HIGH); // Extinction du detecteur de fumee
            if(compteur_detection_2 == 0){
                last_detection = m_second;
            }
            compteur_detection_1 = 0;
            compteur_detection_2++;
            last_count = m_second;
        }
        
        //Remise à zero du compteur de detection d'incendie, compteur_detection_2
        if(m_second - last_detection >= 300000){
            if(compteur_detection_2 < 10){ Particle.publish("Incendie", "Non"); } compteur_detection_2 = 0; Serial.println("Remise a zero du compteur de detection 2"); last_count = m_second; } // Seconde verification de detection incendie if(compteur_detection_2 >= 2){
            Serial.println("Incendie validé!");
            Particle.publish("Incendie", "Oui");
            compteur_detection_2 = 0;
            last_count = m_second;
        }
    }
  4. Ajouter la fonctionnalité envoi de mail en cas de detection de fumée

    Pour configuré l’envoi de mail nous utiliserons la plateforme IFTT: inscrivez vous et recherchez particle photon, sélectionner un des « if then » qui apparaît avec GMAIL et compléter comme cela:

    detecteur_b

  5. Tester

Pour tester appuyer sur le bouton de test assez longtemps jusqu’à la réception du mail.

[Tuto] Gobot framework avec Arduino, Raspberry et de nombreuses autres plateformes

Gobot est un framework spécialisé dans les objets connectés (IOT). Il permet, à partir d’une machine hôte, de contrôler plusieurs plateformes tels qu’Arduino et de les lier les uns aux autres à l’aide d’un seul langage le « Golang » (langage de programmation crée par Google en 2009)

Voici l’architecture de Gobot:

Capture

Ainsi dans cette architecture seul l’hôte est programmé en Golang, au niveau des microcontrôleurs ils auront un programme initial indépendant de l’hôte et des capteurs/ actionneurs qui lui sont connectés.

Il faut savoir que certaines plateformes ont à la fois la possibilité d’être en hôte (ex: Pc sous windows) mais aussi certaine intègre une partie microcontrôleurs qui leur permet d’être reliés directement au capteurs/actionneurs (ex: Raspberry, CHIP) ainsi vous pourrez programmer votre carte en Golang pour communiquer avec ces capteurs/actionneurs.

Exemple de plateforme:

A partir d’ici il va être décrit une méthode qui permet de configurer votre ordinateur sous Windows en tant qu’hôte pour ensuite exécuter un programme en Golang, l’exemple qui suit consiste à faire clignoter la LED 13 de l’Arduino Uno mais bien entendu une fois que vous aurez pris en main ce langage vous pourrez faire de nombreuse choses.

Matériels nécessaire:

1 – Téléchargement des sources nécessaires

2 – Procédure d’installation

Gort

  • Décompresser Gort dans un dossier que vous nommerez Go
  • Ouvrir votre invite de commande en administrateur
  • Aller dans le dossier Go avec les commande « CD » et « LS »
  • Taper la commande, « gort arduino install »
  • Vous devriez voir apparaître une fenêtre d’installation, finalisez l’installation

Git

  • Installer GITHUB

Configuration du PC

  • Aller dans « panneau de configuration -> système et sécurité -> système -> Paramètre système avancés » ajouter la variable d’environnement suivante : nom de la variable :GOPATH , valeur de la variable: mettre le chemin jusqu’au dossier GO
  • Ouvrir l’invite de commande :
  • Taper : go get github.com/tarm/goserial
  • Taper go get -u github.com/hybridgroup/gobot && go install github.com/hybridgroup/gobot/platform/firmata

Configuration de l’arduino

  • Ouvrez l’IDE arduino
  • Aller dans fichier -> exemples -> firmata -> StandardFirmata
  • Téléverser le programme dans l’arduino Mega
  • Relever le numéro de port COM de votre arduino nécessaire pour la suite

3 – Exécution du programme Go

  • Ouvrez le fichier firmata_blink.go
  • Modifiez à la ligne 14 « /dev/ttyACM0 » par le port « COMX »relevé dans l’étape précédente
  • Ouvrir l’invité de commande
  • Taper : go run firmata_blink.go
  • Vous pouvez maintenant observer la LED L de l’Arduino clignoter

Maintenant à vous de réaliser de superbes projets.

Ressources:

GOBOT IO

Créer un cloud perso avec Owncloud

Aujourd’hui nous vous proposons de découvrir une solution de Cloud pouvant fonctionner sur Raspberry Pi. Il s’agit de http://owncloud.org/ Les avantages de cette solution:

  • Rapide à mettre en place (moins d’une heure)
  • De nombreux clients (PC, MAC, IOS, Android, WEB…) donc transparent pour l’utilisateur
  • Très léger

Pour la mise en place de celui-ci nous vous conseillons ce tutoriel très bien réalisé: http://www.techjawab.com/2014/08/how-to-setup-owncloud-7-on-raspberry-pi.html Pour vous simplifier la saisie des commandes, nous vous conseillons de passer via ssh et putty. Dans le cas d’un cloud, il est utile d’avoir une grande capacité de stockage. C’est pourquoi nous préconisons d’ajouter un disque dur externe au Raspberry Pi. Voici un très bon tuto de mise en place avec Owncloud http://www.techjawab.com/2013/06/how-to-setup-mount-auto-mount-usb-hard.html

Nous utilisons le client pour Windows, celle-ci rend la synchronisation des fichiers totalement transparente. Owncloud permet également de gérer contacts et agenda de manière collaborative.

Codebender une alternative à l’IDE Arduino

Nous allons aujourd’hui nous intérresser à l’environnement de programmation du Arduino (l’IDE). Dans nos tutoriels nous présentons toujours des programmes réalisés avec le logiciel officiel du Arduino (http://arduino.cc/en/Main/Software) mais des logiciels alternatifs existent.

Le site officiel posséde une liste de logiciel alternatif http://playground.arduino.cc/Main/DevelopmentTools. Comme vous pouvez le voir cette liste est très longue, nous allons vous présenter aujourd’hui codebender.cc

Code Bender se présente sous la forme d’une application Web qui vous permet de programmer votre Arduino directement dans votre navigateur.

Pour l’utiliser, il faut vous inscrire sur http://codebender.cc/ vous recevrez ensuite un mail d’activation et ensuite vous pouvez commencer à coder.

codebender - home

De nombreux exemples sont disponibles dans « examples & librairies » (Menu à gauche de l’écran). Une fois dans la partie programmation, l’interface ressemble beaucoup à celle de l’IDE officiel.

codebender - prog
codebender - prog 2

Un message sur le menu de gauche vous invite à installer le pluggin de Codebeder. Une fois ce pluggin installer vous allez pouvoir télécharger vos programmes via l’USB dans votre carte Arduino.

Le programme exemple avec un PC sous Windows 7 avec un explorateur Chrome connecté en USB à une carte Arduino Uno, la programmation via CodeBender a parfaitement fonctionné!

Si vous voulez allez plus loin voici d’autres articles sur le sujet:

Logiciel pour réaliser ses schémas de montage

Vous avez sans doute vu dans de nombreux tutoriels des schémas présentant le câblage sous forme de croquis colorés sur des breadboards. Le logiciel pour réaliser ces schémas s’appelle fritzing. C’est un logiciel gratuit.

Le logiciel permet de réaliser des schémas électroniques, des plans de câblages (principalement pour les breadboard et des plans de routages de cartes. Il comprend de base des librairies très intéressantes avec par exemple les librairies arduinos, Parallax, Picaxe, Sparkfun, Snootlab. Il y a aussi des librairies évolutives, très utile pour les Circuits Intégrés.

Capture Fritzing

Le site officiel: http://fritzing.org/