Joli déterrage
Romuald a écrit :'ai essayé plusieurs systèmes de base de données sur différents modèles de PI afin de stocker des données d'acquisition en temps réel et a chaque fois j'ai eus les même soucis : Lourdeur, lenteur et destruction à court terme des cartes SD.
Normal, une SD n'est absolument pas faite pour ça. Hormis les limites en écriture qui finissent par détruire les cartes, elles sont optimisées pour des accès séquentiels, pas aléatoire comme dans une BD ... donc ça RAMMMMMMEEEE !
Oui, je le fais aussi pour la génération de données "statique" (en clair, où je n'applique que des critères fixes : le nom des fichiers permet alors de trouver facilement les données).Coté stockage des données, j'ai créé mon propre protocole et mon format de fichier. Je défini dans ma config la fréquence des enregistrements et la durée de vie de mes fichiers. Depuis que j'utilise cette méthode (près d'un an), je suis toujours avec la même carte SD
Heu si, correctement optimisé, ca marche très bien : je l'ai fait dans une vie précédentes sur une station HP-712, et se gavait des données de tous les data center de ma boite (plusieurs centaines de serveurs) et je n'ai jamais eu de pb, même si la machine n'avait que très peu de RAM et de puissance de calcul par rapport à nos SBC, et je stoquais dans une base Postgres soit par des webservices Apache 2.0/PHP, soit par des scripts ... PHP.Apache, PHP, c'est bien, mais ce n'est pas fait pour ca.
Pourquoi ne pas utiliser MQTT ? C'est fait pour ça et du cout, t'as même plus a te soucier du bas niveau.Daemon d'acquisition en c++ (lib bcm2835 pour la rtc i2c et mon interface d'acquisition SPI) avec un port e/s UDP pour les commandes et un autre port udp en sortie pour broadcaster les données en temps réel.
A+
Laurent