Bonjour à tous,
Je suis nouveau sur ce forum, et débutant dans le Raspberry PI.
Je suis en BTS SN, et pour l'année prochaine je dois présenter un projet avec :
- un capteur
- un Raspberry PI
- une base de données
- une interface Web
Pour cela, je dispose d'un Raspberry PI 4 Go, ainsi qu'un capteur BME 280.
J'arrive à lire les données du capteur via un script en Python, mais je ne parviens pas à les envoyer dans ma base de données
Mon script :
import bme280
from time import sleep
import MySQLdb
import mysql.connector
import requests
import datetime
import sys
import serial
import pymysql
temperature,pressure,humidity = bme280.readBME280All()
(chip_id, chip_version) = bme280.readBME280ID()
conn = MySQLdb.connect(host="localhost",user="admin",passwd="admin",db="test")
c = conn.cursor()
while True:
c.execute("INSERT INTO bmetest (temperature) VALUES ($s)" %(temperature))
conn.commit()
print ("Chip_ID :", chip_id)
print ("Version :", chip_version)
print ("Température :", temperature, "C")
print ("Humidité :", humidity, "%")
print ("Pression:", pression, "hPa")
sleep(3)
J'obtiens l'erreur : TypeError : not all arguments converted durint string formatting
J'ai tout essayé, je comprends pas, j'aimerai juste que toutes les 3 secondes, la pression, l'humidité et la température soient intégrés dans la base
Pouvez-vous m'aider SVP
Merci,
Cordialement,
Lucas
Problème envoi données capteur BME280
Modérateurs : Francois, maxty01
-
- Messages : 1
- Enregistré le : lun. 14 nov. 2022 09:21
Re: Problème envoi données capteur BME280
Erreur basique en python / C / java / javascript / php sur le formatage des données
L'erreur n'a RIEN A VOIR avec la base de données
Mais à voir avec la construction de la chaîne de caractère correspondant à l'ordre insert.
dans ton insert, la partie valeur, tu as choisis de dire que c'est une chaïne de caractères (s comme string) : OK
Sauf que la syntaxe, ce n'est pas $s (dollar s) mais %s (pourcent s)
L'erreur n'a RIEN A VOIR avec la base de données
Mais à voir avec la construction de la chaîne de caractère correspondant à l'ordre insert.
dans ton insert, la partie valeur, tu as choisis de dire que c'est une chaïne de caractères (s comme string) : OK
Sauf que la syntaxe, ce n'est pas $s (dollar s) mais %s (pourcent s)
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32