PHP et arduino

Bonjour

j'ai un arduino ethernet ( pas un sheild )

hier j'ai demandé comment récupérer la température de ma sonde ds1820

http://forum.arduino.cc/index.php?topic=277224.0

j'ai pus donc l'exporter et ainsi la traité grâce a ce tuto

http://phmarduino.free.fr/

cependant je voulais savoir comment stocker plusieur valeurs directement dans arduino et non dans une base Mysql qui nécessite un ordinateur

Merci par avance

Arnaud

Salut,

Un peu vague comme demande ... Pour faire quoi de ces données ensuite ? Quelle volume ? Persistence à la coupure de courant demandée ? Quel fréquence d'échantillonnage ?

EEPROM, carte SD ... Y'a plusieurs solutions, tout dépend du besoin

Et si tu as besoin de stocker un grand nombre de mesures, en attendant qu'un soft distant vienne les chercher pour les exploiter, tu peux aussi les stocker dans un fichier sur une microSD.

Ta carte dispose d'un lecteur micro SD

Merci de vos reponse

En fait je voudrai mesurer la température chez moi toute les 5 minutes et garder au moins 24:00 heure de stockage

En suite avoir une page web qui m affiche une belle courbe de la température

Je parle de php et mysql car j ai beaucoup chercher sur internet et trouve plein de tuto qui font des mesure ressemblante
Mais aucune avec une sonde ds1820

pour les courbes, il te faut soit utiliser GD soit jquery, donc sur un server apache.
tu peux mettre dans un fichier txt, le parser et faire les courbes via php, soit utiliser mysql pour tout stocker.

nonobike:
Merci de vos reponse

En fait je voudrai mesurer la température chez moi toute les 5 minutes et garder au moins 24:00 heure de stockage

En suite avoir une page web qui m affiche une belle courbe de la température

Je parle de php et mysql car j ai beaucoup chercher sur internet et trouve plein de tuto qui font des mesure ressemblante
Mais aucune avec une sonde ds1820

Quelle que soit la sonde, tu te retrouves toujours avec une valeur de température, chargée à un instant t dans une de tes variables en RAM de ton arduino.

La question est de savoir quoi faire de cette valeur.

Tu peux effectivement l'envoyer vers un site internet qui en assurera le stockage et la restitution sous forme de courbe.

De mon côté, je suis en cours de dev d'un automate pour aquarium, qui remplit (entre autres) la même fonction. La température est relevée toutes les 5 minutes et stockée dans un fichier log sur carte SD.
L'utilisation d'une carte SD permet de ne perdre aucune donnée, même en cas de coupure réseau prolongée. L'arduino est autonome.
NB : si tu gères un stockage sous forme de buffer en RAM, tes relevés seront perdus en cas de coupure électrique.

Ensuite tu peux avoir une fonction sur ton arduino qui s'exécute à intervalle régulier, et qui vide ton fichier log en le poussant vers un site WEB si la connexion réseau est bien là. Sinon ça s'empile jusqu'à rétablissement de la ligne.

Dans mon cas j'ai choisi un fonctionnement en mode tiré : mon code arduino intègre un serveur UDP, qui permet de lire à distance le contenu du fichier log. Derrière, je prévois le PHP mysql sur un raspberry pi présent sur mon réseau local, et qui interrogera régulièrement mes arduino (un par aquarium) pour alimenter sa base de donnée.

Bref tu vois il y a plein de choses envisageables.

Un truc dont tu n'as pas parlé, et qui me semble pourtant nécessaire : l'horodatage des relevés de température. Tu comptes faire comment ?

pepe:
Rien de tout cela n'est nécessaire pour mémoriser et afficher une courbe de températures sur 24h. Un petit Arduino Uno, un shield Ethernet et programme adéquat suffisent.

Un serveur distant n'est utile que s'il faut stocker des données correspondant à une plus grande durée, et d'une façon plus pérenne.

a moins de récupérer les logs dans un fichier et les passer sous excel, ou utiliser processing, je ne vois pas comment afficher un graph avec un nono.
sauf utiliser jquery sur une page html avec lecture des logs.

lorsque l'on log des données de temp, en général, on veut pouvoir les comparer par la suite avec les nouvelles données.

pour ce qui est de

Je parle de php et mysql car j ai beaucoup chercher sur internet et trouve plein de tuto qui font des mesure ressemblante
Mais aucune avec une sonde ds1820

que ce soit avec un dht11-21-22 ou un ds1820, le principe est toujours le même, donc il faut adapter un peut le code du nono pour transformer les données comme il faut.

En restant dans le cahier des charges de nonobike :
hardware Arduino Ethernet = Mega328 + W5100 + µSD et les fonctionalités suivantes

je voudrai mesurer la température chez moi toute les 5 minutes et garder au moins 24:00 heure de stockage
En suite avoir une page web qui m affiche une belle courbe de la température

N'y aurait-il pas , dans ce cas particulier, la possibilité qu'une programmation efficace, astucieuse... permette au Mega328 de servir une page web comportant la description du graphe en SVG , quitte a ne conserver par exemple que 4 points par heurepour limiter le nombre de segments à tracer ? Tout dépend bien entendu de la beauté attendue !

Simple question sur la faisabilité , n'étant pas versé dans le HTTP !!
Est-ce ce genre de réalisation que tu as en vue, pepe ? ... autre réalisation permettant de produire et servir le 'beau graphe' (en éliminant donc je suppose le 'graphisme ASCII') ?

Bonjour

tout d'abord MERCI a vous tous pour vos reponse

PEPE Tu a exactement compris ce que je voulais faire et ton code est presque PARFAIT :slight_smile:

serai t'il possible d'affiché les °C sur le cote et non des %

Pour l'heure en bas peut ton faire afficher toute les demi heure ? sur 24:00 ?

Merci en tout cas de ton aide j'ai essayer de modifier ton code mais j'ai fait que des betises :confused: ne j'ai pas assez de mettrise de cote la

Merci pour ton code il fonctionne parfaitement

le seul beug viens au bout de 24H00 de fonctionnement on est obligé de reseter le arduino
il ne supprime pas les donnees :confused:

sais tu pourquoi ?

Desole pepe mais c est mon iphone qui refuse d'y affiché

sur un PC aucun soucis