Go Down

Topic: Découverte du MKRFOX 1200 (Read 17121 times) previous topic - next topic

flc85

Oui je vois bien mon appareil, mais après avoir fait edit je ne comprends pas où et comment mettre la grammaire de décodage

J-M-L

Dans la partie "Payload Display", vous choisissez dans le premier popup "Custom Grammar" et dans la partie "Custom Configuration" vous entrez la config - genre "temp::int:16:little-endian" dans mon exemple
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

flc85


flc85

J'ai alimenté via le connecteur vert le mkrfox1200 mais rien ne s'allume, une manip à faire?
via l'usb pas de problème.

fabricecarrique

Bonjour,
Je me suis inspirer de votre code et j'ai essayer de rajouter la fonction sleep pour que l'arduino + les 2 piles aient une bonne autonomie, malheureusement, le système n'a pas fonctionner plus de 2 semaines ! avec une prise de mesure toute les 4 heures. (humidité/température/ poids avec une jauge de contrainte)

-voici le code que j'ai utilisé :

#define SLEEPTIME 15 * 60 * 1000  // Set the delay to 15 minutes (15 min x 60 seconds x 1000 milliseconds)


//a la fin de void_loop :

 msg.lastMessageStatus = SigFox.endPacket();

        SigFox.end();
        //Sleep for 15 minutes
        LowPower.sleep(SLEEPTIME);

la led de l'arduino s'eteint bien, mais avec 2 xAA au lithium utimate ERGIZER sont mortes....
j'avais vu sur un autre topic une autre insctruction pour la mise en veille, mais je n'y comprends rien, aucune doc en francais sur cette librairie.
Merci de votre aide.

ghurbain

Quelques news :

J'ai pu solutionner mon problème en passant par thinger.io qui permet en abonnement gratuit d'utiliser un objet de façon "privée" et avec modération.


Sinon j'ai le même problème que fabrice avec le sleepmode. Pire, l'arduino ne se reveille pas au bout du temps demandé ...

J-M-L

le système n'a pas fonctionné plus de 2 semaines
vous êtes sûr qu'il n'y a aucun courant de fuite dans le reste des composants ?
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

fabricecarrique

#37
Jul 04, 2017, 10:13 pm Last Edit: Jul 05, 2017, 06:23 am by fabricecarrique
j'ai tester avec plusieurs carte arduino mkrfox j'ai le même problème. les batteries AA ne tiennent pas, voici mon code :
Code: [Select]

#include "ArduinoLowPower.h"
#include <SigFox.h>
#include "DHT.h"
#include "HX711.h"

#define DHTTYPE DHT22
#define DHTPIN 1
#define DEBUG true
#define SLEEPTIME 60 * 60 * 1000 // envoi information toutes les  heures

typedef struct __attribute__ ((packed)) sigfox_message { // see http://www.catb.org/esr/structure-packing/#_structure_alignment_and_padding
 //int16_t moduleTemperature;
 float dhtTemperature;
 float dhtHumidity;
 float poids;
 
} SigfoxMessage;

// stub for message which will be sent

HX711 scale;
SigfoxMessage msg;
DHT dht(DHTPIN, DHTTYPE);

void setup() {

if (DEBUG) {
               // We are using Serial1 instead than Serial because we are going in standby
               // and the USB port could get confused during wakeup. To read the DEBUG prints,
               // connect pins 13-14 (TX-RX) to a 3.3V USB-to-serial converter
               Serial1.begin(115200);
               while (!Serial1) {}
       }

       if (!SigFox.begin()) {
               // Something is really wrong, try rebooting
               // Reboot is useful if we are powering the board using an unreliable power source
               // (eg. solar panels or other energy harvesting methods)
               reboot();
       }

       // Send module to standby until we need to send a message
       SigFox.end();

       if (DEBUG) {
               // Enable DEBUG prints and LED indication if we are testing
               SigFox.debug();
       }

       dht.begin();
       scale.begin(A1, A0);
       scale.set_scale(-23150.f);                      // this value is obtained by calibrating the scale with known weights; see the README for details
       scale.tare();  
 
}

void loop()
{

      float t = dht.readTemperature();
      float h = dht.readHumidity();
      float poids = scale.get_units();
  // Check if any reads failed and exit early (to try again).
 if (isnan(h) || isnan(t) || isnan(poids)) {
   Serial.println("Failed to read from DHT sensor!");
   return;
       }
 
     msg.dhtTemperature = (float) (t);
     msg.dhtHumidity = (float) (h);
     msg.poids = float (poids);

if(DEBUG) {
               
               Serial.print("Temperature capteur ");
               Serial.print(t);
               Serial.print("° C");
               Serial.print("Humidité ");
               Serial.print(h);
               Serial.print(" %");
               Serial.print(poids);
               Serial.println(" Kg");
               
}
       
               
       
       // Start the module
       SigFox.begin();
       // Wait at least 30ms after first configuration (100ms before)
       delay(100);

       // We can only read the module temperature before SigFox.end()
   

       // Clears all pending interrupts
       SigFox.status();
       delay(1);


SigFox.beginPacket();
 SigFox.write((uint8_t*)&msg, sizeof(SigfoxMessage));

 //Serial.print("Status: ");
 Serial.println(SigFox.endPacket());

 SigFox.end();
poids= poids + poids;
       //Sleep for 60 minutes
       LowPower.sleep(SLEEPTIME);  
 
 }
 void reboot() {
       NVIC_SystemReset();
       while (1) ;
 }
     

J-M-L

La question était plus de savoir comment le reste est alimenté (merci d'utiliser les tags de code pour poster du code )
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

Artouste

#39
Jul 04, 2017, 10:35 pm Last Edit: Jul 04, 2017, 10:38 pm by Artouste
j'ai tester avec plusieurs carte arduino mkrfox j'ai le même problème. les batteries AA ne tiennent pas, voici mon code

#define SLEEPTIME 60 * 60 * 1000 // envoi information toutes les  heures
Bonsoir
ça n'a peut  être  rien rien à voir !
Mais intellectuellement (au moins pour bibi 8)   ) je n'aime pas "trop"  un #define SLEEPTIME codé comme ça 8)

et comme rappelé , STP mets ton code entre balises code

J-M-L

#40
Jul 05, 2017, 12:00 am Last Edit: Aug 04, 2017, 09:07 am by J-M-L
Sur un 32 bit SLEEPTIME va fonctionner mais sur un uno ça ne fonctionnerait pas

--> Vaut mieux écrire (60 * 60 *1000ul)

Et encore mieux de faire un const unsigned long SLEEPTIME = 60*60*1000ul; pour que le compilateur fasse toutes les optimisations possibles
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

fabricecarrique

La question était plus de savoir comment le reste est alimenté (merci d'utiliser les tags de code pour poster du code )
le projet :
carte arduino MKRF1200 + DHT22 + HX711 connectée à une jauge de contrainte 4 fils
la seule alimentation c'est les piles 2xAA pour le tout
1 mesure toute les heures.
Voila.
Après j'ai une autre solution avec un panneau solaire + batterie intégrée vers le 5V USB pour alimenter le tout, mais le prix n'est plus le même !

Merci de votre aide.

J-M-L

Donc les capteurs sont alimentés en permanence même quand le MKR est endormi ? Vous avez regardé la consommation de cette partie ?
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

flc85

Je suis sur le même projet (suivi ruche je suppose) et j'ai une alimentation séparée pour les capteurs commandée par transistor

fabricecarrique

Donc les capteurs sont alimentés en permanence même quand le MKR est endormi ? Vous avez regardé la consommation de cette partie ?
Oui tout est branché sur l'arduino, je pensais que lorsque l'arduino était en veille le reste aussi. Existe t'il une solution pour tout mettre en veille ?

Go Up