@up
Witam ponownie, dalej nie udało mi się tego rozwiązać. Chcę odebrać dane z bluetooth które wysyła moduł hc-06 i zapisać to do bazy danych w odpowiednie kolumny. Może ktoś ma jakiś pomysł :/
Pozdrawiam.
@Edit napisałem takie coś :/ Na początku zapisywało do bazy danych ale 30 rekordów aż. Później to zmodyfikowałem i usuwałem plik do którego dopisuje to wypełniało 30 rekordów bazy danych pustymi wartościami. Wróciłem do wersji bez usuwania pliku i przestało działać i dalej wypełnia pustymi wartościami po 30 rekordów bazy danych co jedno wyświetlenie w terminalu odczytów z czujników. (Wiem, że wypełniało ciągle tymi samymi danymi pierwszych odczytów, to jest tylko do sprawdzenia czy działa ale wymiękam... :/ )
import sys
import serial
import subprocess
import linecache
import sqlite3
import os
import time
db = sqlite3.connect('/home/pi/sensordata.db')
print("Usunieto niepotrzebny plik rfcomm0")
ser = serial.Serial('/dev/rfcomm0', 9600)
while True:
result = ser.read()
plik = open('/home/pi/readfile.txt', 'a+')
plik.write(str(result))
sys.stdout.write(result)
temp = plik.readline() # inaczej nie przypisywalo do zmiennych jak to dodalem zaczeło :/ ale dodaje 30 rekordow do bazy nie wiedziec czemy
temp = linecache.getline('/home/pi/readfile.txt',1)
wil = linecache.getline('/home/pi/readfile.txt',2)
wys = linecache.getline('/home/pi/readfile.txt',3)
cis = linecache.getline('/home/pi/readfile.txt',4)
opa = linecache.getline('/home/pi/readfile.txt',5)
cursor = db.cursor()
temperature = temp
wilgotnosc = wil
wysokosc = wys
cisnienie = cis
opady = opa
cursor.execute('''INSERT INTO OutdoorWeather(Temperatura, Wilgotnosc, Wysokosc, Cisnienie, Opady)
VALUES(?,?,?,?,?)''', (temperature, wilgotnosc, wysokosc, cisnienie, opady))
db.commit()
Do pliku zapisuje normalnie i wyglada to tak:
25.45
49
109.70
1000.14
3
@edit2
Udało mi się zapisać do bazy danych, ale tworzy mi się od razu 30 rekordów :/