Is there any french people here? Est ce qu'il y a des Français ici?

Je suis intéressé de savoir s’il y a des Française (ou personnes habitant en France) qui ont acheté et utilise le Spark Core?
J’ai pour ma part franchi le pas en début d’année, et je ne suis pas déçu de ce module très prometeur!
Plutôt orienté hardware j’ai quelque difficulté avec le soft, mais cette communauté m’est d’une aide précieuse.
Je développe une application plutôt axé domotique (capteurs filaires, module RF433, communication web pour le monitoring et le pilotage + supervision d’une alarme)

Si nous sommes plusieurs, nous pourrions dans ce post nous entraider (en français).
A vos clavier, au plaisir de faire connaissance :slight_smile:

3 Likes

Nous avons quelques hispanophones, mais personne au Spark HQ est très bien français. Je vais demander à un de nos amis à Pebble s’il peut vous aider: p-)

Salut JP,

Je suis français installé en Californie et j’ai plusieurs Spark que j’adore aussi. Quels sont tes difficultés avec le soft?

++
thomas

2 Likes

Bonjour cher ami, moi je parle français et j’aimerais bien t’aider mais j’ai beaucoup de problèmes moi même avec le core que je ne suis pas capable de régler encore. Aussi simplet que de faire envoyer un courriel depuis le core… Mon premier core fonctionne toujours avec mon code mais ma nouvelle commande de core ne fonctionne plus avec mon ancien code… ils ont changé la version du logiciel et depuis je suis sur le tapis… Bonne chance et meilleures salutations du Québec.

Martin

1 Like

@sarfata, Je voudrai bien utiliser mon module 433Mhz (émetteur), mais j’ai du mal avec les librairies (je voudrai utiliser MANCHESTER), je n’ai pas trop compris leur fonctionnement. On ajoute simplement la librairie à notre appli? (il y a plusieurs fichiers: .CPP et .H)

@MartyMart, j’utilise pour ma part un petit fichier php pour envoyer des mails, c’est le plus simple, et le Spark Core vient simplement lancer la requet avec la bonne URL :wink:

Avez vous un exemple de votre requête http provenant de votre code spark et de votre fichier php? J’imagine que vous utilisez sendmail ou vous vous connectez à un serveur smtp par le php? J’adore l’idée! Il faut parfois penser en dehors de la boîte… Je ne suis pas familier non plus avec les librairies, elles sont apparues après mon initiation et je n’y ai pas porté trop d’attention mais je crois que vous avez bien saisi le topo à leur sujet. De quel émetteur parlez vous? S’agit il d’un émetteur genre ouvre porte?

Mon courriel perso martin@proulx1.com si vous préférez pour votre exemple de code et php

il s’agit d’émetteur/récepteur 433Mhz pas cher que l’on trouve sur e-bay ou tout autre site d’électronique (moins de 4$)…

je vois pour vous envoyer plus tard par mail les infos pour les requet mail php

@JP2M, mon français n'est pas toujours très bon mais je vais m'essayer. Les librairies sont très nouvelles et le but est de simplement les ajouter a un application et de faire référence aux fonctions dans la librairie. Souvent il y a des exemplaires que tu peu suivre pour te donner des idées. Bientôt, nous pourront prendre une copie d'une librairie et la modifier a volonté sans affecter l'original. C'est moi qui a poster la librairie Manchester et il y a un "topic" sur l’utilisation avec un module de 433MHz. Je ferai de mon mieux pour t'aider si nécessaire. :smile:

2 Likes

Merci @peekay123 (français impeccable) :wink: j’avais déjà trouvé ce topic intéressant sur la Librairie, et c’est pour ça que je me lance sans trop de connaissance, mais c’est justement l’utilisation de cette librairie qui me pose problème…
Doit on ajouter les deux fichiers (.CPP et .H) à notre appli (.INO) ? ou bien on doit prendre toute la librairie et ses exemples (plusieurs fichiers .INO)
Ce qui me gène c’est de voir plusieurs fichiers .INO, cela ne va-t-il pas perturber le Spark Core? lequel va être compilé?

1 Like

@JP2M, le “look” des librairies n’est pas “optimal” encore. Je doit avouer que j’utilise seulement Spark CLI pour mes projets puisque c’est plus simple et plus rapide. Un des problèmes avec les librairies sur le IDE c’est quand plus une doit être inclus dans un projet. Une librairie doit faire référence a une autre. Dans le cas de Manchester c’est la librairie SparkIntervalTimer. Malheureusement, la syntaxe correcte de ces référence m’échappe et tu trouvera que le code Manchester ne pourra pas “compiler” sur le IDE. J’ai demander une clarification de Spark.

Avec le CLI, tu prends les fichier (download .zip) de Manchester et SparkIntervalTimer via la référence a github, tu crée un dossier pour ton projet, tu met ton programme ou exemple et les fichier .cpp et .h des librairies et tu compile le tout avec la commande “spark compile nom_du_dossier”. Après tu peut envoyer le code a ton Core via l’internet or USB avec la commande “spark flash”.

Je t’encourage fortement de considérer d’utiliser Spark CLI. :wink:

OK, c’est bien le problème, j’utilise uniquement IDE pour le moment car le soft n’est pas vraiment ma tasse de thé :wink:

Je vais me pencher du coté Spark CLI pour voir si c’est plus simple.
Merci en tout cas pour l’aide.

1 Like

Je suis Français et habite en France. La carte Spark Core semble très prometteuse mais sa compatibilité avec Arduino reste limitée pour le moment, notamment à cause de l’environnement de développement dans le nuage et des bibliothèques en ligne de commande un peu confuses.

J’ai proposé plusieurs améliorations pour la version en ligne —tickets 194 à 202— et mon idée est de pouvoir programmer cette carte en utilisant Xcode avec le complément embedXcode que j’ai développé.

Bienvenue,

J’habite à côté de Lyon (France), un topic d’aide en Francais me semble en bonne idée.
Je suis habitué aux Microcontroleur “classique” (Microchip) pour les projets personnel et proffessionnel, donc les languages “simplifié” type Arduino/Spark sont nouveau pour moi.
(Mon blog : http://www.jc-omega.com/ )

Pour l’envoie de commande au module Spark : J’utilise Google Chrome + le module Postman ( https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm )
==> Très simple d’utilisation, et ne demande aucune installation compliqué.

Si, ça peut aider depuis quelque semaines, je finalise la réalisation d’un " systeme complet Autonome de Domotique de jardin"

Page web de commande sur téléphone:
page2

Si des personnes souhaite en savoir plus, je ferais une présenation içi et sur mon blog (avec diffusion des code sources en Anglais)

Très bien tout ça! je vois qu’on est plusieurs Français :slight_smile: Donc le Spark Core est bien vendu partout dans le monde!

@jC_Omega J’irai voir ton blog quand j’aurai un peu plus de temps ça m’a l’air très intéressant. (j’utilise aussi postman)
De mon coté j’avance doucement sur ce code pour l’émission 433Mhz en protocole Easy Home (je veux contrôler des modules DI-O Chacon) mais je vais regarder ta domotique de jardin ça peu toujours donner des idées :wink:

@rei_vilo je n’ai pas encore la prétention de d’améliorer les lignes de commandes du Spark Core… et je n’utilise pas d’Arduino, mais je pense que la communauté est aussi là pour faire progresser les nouveaux produits (tout en restant compatible avec l’existant… il faut penser à ceux qui ont des systèmes qui tournent déjà)

Le phénomène Arduino recouvre trois éléments :

  • des cartes majoritairement 8 bits très chères,
  • un environnement de développement (IDE) élaboré à partir de Processing, très facile à installer —tout est inclu, y compris la chaîne d’outils (tools-chain)—, parfait pour de petits projets mais limité —pas de gestion de version, pas de débogage,
  • une classe d’application (framework) issue de Wiring, rédigée en C++, offrant des fonctions de haut niveau et agissant comme couche d’abstraction matérielle (hardware abstraction layer).

C’est la classe d’application (framework) qui est vraiment intéressante, car elle permet de configurer très facilement le micro-contrôlleur et surtout, de développer des prototypes très rapidement —fast prototyping.

Désolé pour le français, je ne connais les mots qu’en anglais!

S’il y a des experts qui peuvent m’aider…

Je m’arrache les cheveux sur le découpage du signal que j’ai a envoyer, voici ce que je dois envoyer d’après le protocole Easy Home pour piloter une prise Chacon:

Les 26 premiers bits correspondent à l’identifiant de la télécommande ( pour moi 12345678 )
Le 27em bit correspond au numéro de groupe ( 0 dans mon code )
Le 28em bit, correspond à l’état (ON ou OFF) envoyé, 0=off, 1=on ( 1 dans mon code )
Les bits 29 à 32 correspondent au numéro du bouton de la télécommande appuyé ( 0 dans mon code )

est ce que je peu découper comme dans le code ci dessous puisqu’il n’y a que SENDER_ID et transmit_data?
(ce code ne marche pas pour allumer la prise! ou alors ça vient d’autre chose?)

  // This #include statement was automatically added by the Spark IDE.
#include "SparkIntervalTimer.h"

// This #include statement was automatically added by the Spark IDE.
#include "Manchester.h"

    /*
      Manchester Transmitter example
      
      In this example transmitter will send one byte of data and 4bit sender ID per transmittion
      message also contains a checksum and receiver can check if the data has been transmited correctly
    
      try different speeds using this constants, your maximum possible speed will 
      depend on various factors like transmitter type, distance, microcontroller speed, ...
    
      MAN_300 0
      MAN_600 1
      MAN_1200 2
      MAN_2400 3
      MAN_4800 4
      MAN_9600 5
      MAN_19200 6
      MAN_38400 7
    */
    
    #define TX_PIN	A3	//pin where your transmitter is connected
    #define LED_PIN	D7	//pin for blinking LED
    #define SENDER_ID 12374578
    
    uint8_t moo = 1; //last led status
    uint8_t transmit_data = 010;
    
    void setup() {
      pinMode(LED_PIN, OUTPUT);
      digitalWrite(LED_PIN, moo);
      man.workAround1MhzTinyCore(); //add this in order for transmitter to work with 1Mhz Attiny85/84
      man.setupTransmit(TX_PIN, MAN_2400);
    }
    
    void loop() {
      //SENDER_ID can be ID of the sender if you have multiple transmitters so receiver knows who sent it
      //OR it can be receiver ID if you have multiple receivers so receiver knows it's for him
      //OR it can by just any arbitrary 4 bit number
      man.transmit(man.encodeMessage(SENDER_ID, transmit_data));
      moo = ++moo % 2;
      digitalWrite(LED_PIN, moo);
    }

il semble qu’il y ai un checksum ajouté entre le sender ID et les data d’après le code Manchester si j’utilise man.encodeMessage() ce qui n’est pas bon pour le protocole Easy Home (seulement 32 bit)

j’ai donc changé mon code pour avoir juste les 32bit transmit, mais ça ne fonctionne toujours pas :frowning:

// This #include statement was automatically added by the Spark IDE.
#include "SparkIntervalTimer.h"

// This #include statement was automatically added by the Spark IDE.
#include "Manchester.h"

/*
  Manchester Transmitter example
  
 In this example transmitter will send one 32 bit number per transmittion

  try different speeds using this constants, your maximum possible speed will 
  depend on various factors like transmitter type, distance, microcontroller speed, ...

  MAN_300 0
  MAN_600 1
  MAN_1200 2
  MAN_2400 3
  MAN_4800 4
  MAN_9600 5
  MAN_19200 6
  MAN_38400 7

*/

#define TX_PIN	A3	//pin where your transmitter is connected
#define LED_PIN	D7	//pin for blinking LED


uint8_t moo = 1; //last led status
uint32_t transmit_data = 00101111000110000101001110010000;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, moo);
  man.workAround1MhzTinyCore(); //add this in order for transmitter to work with 1Mhz Attiny85/84
  man.setupTransmit(TX_PIN, MAN_2400);
}

void loop() {
  man.transmit(transmit_data);
  moo = ++moo % 2;
  digitalWrite(LED_PIN, moo);
}

@JP2M, si tu regarde la fonction “transmit” dans le fichier Manchester.cpp tu verras que l’argument est un “uint16_t”, non pas un uint32_t comme tu l’a spécifier. Les 16 bit sont envoyer en éléments the 8 bit chaque avec la fonction transmitArray(). Je te suggère de regarder l’example ManchesterTX_Array.ino pour voir comment envoyer le 32bit en forme de “array” (traduction?) de 4 octet. :smile:

@peekay123 oui effectivement… je n’avais pas vu qu’il fallait laisser l’argument “uint16_t” merci pour l’information.
Dans l’Array je dois mettre du Binaire (4octet de 8bit)?
ou bien autre chose qui sera transformé comme une valeur Décimal ?

uint8_t data[4] = {00101111, 00011000, 01010011, 10010000};