Plus tard, on prévoira une option pour avoir une fonction de décodage custom.
Posts made by nicolas
-
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
-
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
typedef struct __attribute__ ((packed)) sigfox_wind_message { int8_t speedMin[2]; int8_t speedAvg[2]; int8_t speedMax[2]; int8_t dirAvg[2]; } SigfoxWindMessage;Ça fait, dans l'ordre :
speedMin[0], speedMin[1], speedAvg[0], speedAvg[1], speedMax[0], speedMax[1], dirAvg[0], dirAvg[1] -
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
Les Pioupious V1 transmettent toutes les 12 minutes. J'avais choisi cela de manière arbitraire, notamment pour respecter les contraintes réglementaires d'utilisation des fréquences 868MHz (Avec sigfox, maximum 140 messages / jour de 12 octets chacuns). Voir ici la notion de duty cycle / rapport cyclique autorisé : https://build.sigfox.com/sigfox-radio-configurations-rc
Mais cette configuration n'est pas vraiment compatible avec les standards de l'industrie et les recommandations WMO.
Entre temps, j'ai découvert qu'on pouvait faire 144 messages par jour avec Sigfox, soit un toutes les 10 minutes, si et seulement si on émet des messages d'une longueur plus courte.
140 messages de 12 octets : ok
144 messages de 12 octets : non
144 messages de 9 octets : non (12 octets réellement transmis)
144 messages de 8 octets : okJe pense qu'il vaut donc mieux se caler sur une transmission de 1x10 minutes ou 2x5 minutes. On sera plus cohérent avec le reste de l'industrie. Certes, on a un parc de Pioupious V1 qui fait du 3x4, mais ce parc va devenir minoritaire lorsque nous allons ajouter les stations de génération 2 et des autres constructeurs / autres réseaux.
D'un point de vue énergétique, 144x8 octets ou 120x12 octets, on est sur une consommation assez équivalente.
-
RE: Format messages Sigfox de Arduino vers OpenWindMapposted in Arduino
Donc, sur la période qui va de 19h13 à 19h18 (UTC) on a mesuré :
au minimum : 0 km/h
au maximum : 26.5 km/h
en moyenne : 3km/h
(échantillonnage WMO de 3 secondes sur ce modèle de balise arduino) -
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
@dam74 @jr
Voici une nouvelle API pour voir les messages "bruts", tels qu'ils sont reçus par backend sigfox :http://api.pioupiou.fr/v1/sigfox-messages/{ID}
exemples :- Le tiens : http://api.pioupiou.fr/v1/sigfox-messages/922 (vide pour le moment...)
- Autre Arduino : http://api.pioupiou.fr/v1/sigfox-messages/901
- Pioupiou http://api.pioupiou.fr/v1/sigfox-messages/456
Paramètres à surveiller :
- lqi : qualité du signal reçu, sur une échelle de 1 à 5
- seqNumber : est-ce que les numéros se suivent ? dans la négative, certains messages ont été perdus.
-
RE: Format messages Sigfox de Arduino vers OpenWindMapposted in Arduino
Pour ensuite connecter l'appareil au réseau OpenWindMap, faîtes une demande ici :
https://forum.openwindmap.org/topic/221/connecter-un-arduino-mkr-fox-à-openwindmap/1 -
Connecter un arduino mkr fox à OpenWindMapposted in Arduino
Voir ici pour le format de donner à utiliser pour la transmission :
https://forum.openwindmap.org/topic/202/format-messages-sigfox-de-arduino-vers-openwindmap/4?_=1620034094006 -
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
@dam74 À priori, Sigfox ne l'a pas encore vu :

Est-ce que l'antenne est bien connectée ?
N'y a-t-il pas une erreur dans le code ?Lors de mes essais, j'ai eu l'impression que l'antenne fournie avec le MKR Fox était moins bonne que celle des Pioupious. C'est originalement une antenne multibande pour du GSM. Elle est "compatible" avec du 868MHz, mais pas "optimisée" pour.

Sigfox la classe en Uplink class: 3U (le moins bon)
Le Pioupiou est Uplink class: 0U (le meilleur)Tu pourrais tenter avec une antenne 1/2 onde pour du 868Mhz. Quelque chose comme ça : https://www.digikey.fr/product-detail/fr/linx-technologies-inc/ANT-868-PML-UFL/ANT-868-PML-UFL-ND/5592353
-
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
@dam74
Ok, bien reçu les codes.
Station connectée au réseau sous l'id A922
Consultable ici : https://www.openwindmap.org/A922Et également via l'API :
https://api.pioupiou.fr/v1/live/922
https://api.pioupiou.fr/v1/archive/922?start=last-day&stop=now
(API archive active seulement après réception des premiers messages)Pour modifier la description et la localisation : https://forum.openwindmap.org/topic/66/changer-la-description-d-une-station
Il faut utiliser le format de données que je décris plus haut :
- Soit sur 4 byte, pour transmission d'un période toutes les 10 minutes max (interval au choix).
- Soit sur 8 bytes, avec transmission toutes les 10 minutes, de 2 périodes de 5 minutes. (pas possible de changer pour le moment)
-
RE: Connecter un arduino mkr fox à OpenWindMapposted in Arduino
@dam74 Bonjour. Pour le moment, le mieux est de l'enregistrer directement dans le backend sigfox openwindmap. Notre système n'est pas encore prêt pour accueillir des balises connectées à un autre compte Sigfox (ça viendra plus tard).
/!\ Dans ce cas, ne pas activer vous-même la carte arduino auprès de sigfox. Envoyez moi le code ID et PAC par message privé.
Pour les autres années, il sera alors possible de renouveller l'abonnement Sigfox via OpenWindMap ou de rebasculer sur un abonnement sigfox "externe" (le prix sera identique). -
RE: 🚨 Point faible Pioupiou : indicateur état de la pileposted in Windbird
Notes en vrac, pour plus tard :
void PP_SIGFOX_StartupMessage (float windSpeed, float windHeading) { message[0]= SIGFOX_STARTUP_MESSAGE | EncodeWindHeading(windHeading); message[1]=EncodeWindSpeed(windSpeed); message[2]=TD_MEASURE_VoltageTemperature(false); //voltage // embed compilation date in startup message //MMM DD YYYY //01234567890 message[3]=__DATE__[0]; message[4]=__DATE__[1]; message[5]=__DATE__[2]; message[6]=__DATE__[4]; message[7]=__DATE__[5]; message[8]=__DATE__[9]; message[9]=__DATE__[10]; SIGFOX_SEND(message, 10); } voltage in 1/10s of mV plus 2 V if MSB is 0, or plus 3 V if MSB is 1. if (measure >= 3000) { msb = 0x80; measure -= 3000; } else { msb = 0x00; measure -= 2000; } // Divide by 10 with proper rounding measure /= 5; return (measure & 1) ? (measure >> 1) + 1 + msb : (measure >> 1) + msb; voltage in 1/10s of mV plus 2 V if MSB is 0, or plus 3 V if MSB is 1. static uint8_t EncodeVoltage(float milliVolts) { return (uint8_t)(float)((milliVolts / 10. + 0.5) - 200.); } TD_MEASURE_VoltageTemperatureExtended(false); * @return * The measured temperature is given in 1/10 degrees Celsius, the power supply * voltage is given in mV. return (uint8_t)(float)((milliVolts / 10. + 0.5) - 200.); static void ProbeVoltage () { int32_t voltage = TD_MEASURE_VoltageTemperatureExtended(false); if (voltage == 2000) return; // = reading has failed ? if (voltage < voltageMin) voltageMin = voltage; if (voltage > voltageMax) voltageMax = voltage; voltageAvg += voltage; voltageCount++; } -
RE: 🚨 Point faible Pioupiou : indicateur état de la pileposted in Windbird
@nicolas said in
Point faible Pioupiou : indicateur état de la pile:@pascal31 Interne au module TD, donc après le régulateur. C'est d'ailleurs étonnant que ça nous sorte 3.6V, alors que le module est alimenté en 3.3V régulé. Doit y avoir un souci quelque part.
J'ai trouvé une piste pour le 3.6V dans les messages de démarrage / arrêt. Ça pourrait être un souci d'encodage / décodage des trames Sigfox. Je dois vérifier plus en détail.
-
RE: Changer la description d'une station / Change station descriptionposted in Support communautaire
C'est fait pour la description du A921 : https://www.openwindmap.org/a921
Quelle position GPS ? -
RE: ✅ Amélioration : lisser la consommation pour prolonger l'autonomieposted in Windbird
Je poste ici l'étude faîte par @pascal31 :
note_design_supercap.pdf -
RE: ✅ Amélioration : lisser la consommation pour prolonger l'autonomieposted in Windbird
@pascal31 @Tam reçu aujourd'hui les dev kits pour le tps63900 et le TPS82740BSIPR
-
RE: Changer la description d'une station / Change station descriptionposted in Support communautaire
@invité @jr : Je pense que notre politique est plutôt de favoriser la qualité des données. Il ne me semble pas souhaitable de modifier la position des stations pour ce type de convenance.
