Skocz do zawartości

Czytnik RFID na raspberry pi - problem z kodem


Pomocna odpowiedź

Napisano
import time
import datetime
#datacala =  datetime.datetime.now()
dziś = datetime.date.today()
licznik = 0
#filePATH = "E:\blog\"+"lista breloków: "+dziś+".txt"
filename = "lista breloków: " + str(dziś)
for i in range (10):  #Tymczasowe
  while True:
      text = str(input("Write something: "))
      if text == '0':
        print("Dzisiaj odbito "+str(licznik)+" breloków")
        with open(filename, "a") as f:
          f.write(f"{'Dzisiaj odbito następującą liczbę breloków: '}\n")
          f.write(f"{licznik}\n") 
          
      else:
        pass
        with open(filename, "a") as f:
            f.write(f"{text}\n")
            #f.write(f"{datacala}\n")
            licznik = licznik + 1
            #nothing
            f.close()

import time
import datetime
dziś = datetime.date.today()
licznik = 0
#filePATH = "E:\blog\"+"lista breloków: "+dziś+".txt"
filename = "lista breloków: " + str(dziś)
for i in range (10):  #Tymczasowe
  while True:
      text = str(input("Write something: "))
      with open(filename, "a") as f:
          f.write(f"{text}\n")
          licznik = licznik + 1
          f.write(f"{text}\n")
          f.close()
print("Dzisiaj odbito "+str(licznik)+" breloków")

Mam skonfigurowany serwer lokalny na Raspberry Pi. Co konkretniej mogę zrobić z danymi by dodać je do SQL?
Czy można tam wysłać te dane?
Jak zaklasyfikować później numery do osób?
Czy mogę z Windowsa to kontrolować?

10 godzin temu, keytabspace napisał:

Co konkretniej mogę zrobić z danymi by dodać je do SQL?

Jeśli serwer MySQL już jest to dane możesz wysyłać wprost do bazy z Pythona. Tak ja teraz wykorzystujesz "print", tak możesz po prostu dodawać dane do bazy.

10 godzin temu, keytabspace napisał:

Czy można tam wysłać te dane?

Tak.

10 godzin temu, keytabspace napisał:

Jak zaklasyfikować później numery do osób?

Albo musisz zapisać te dane w programie, albo w osobnej tabeli w bazie danych.

10 godzin temu, keytabspace napisał:

Czy mogę z Windowsa to kontrolować?

Nie wiem co dokładnie chcesz kontrolować. Zdalny dostęp do bazy możesz mieć z dowolnego komputera w tej sieci np. przez phpMyAdmin.

(edytowany)

Najlepiej postawić lokalnie na rpi Postgresa i komunikować się z nim poprzez pythonową bibliotekę psycopg2. Polecam zainstalowanie jej poprzez

pip install psycopg2-binary

Instalowanie psycopg2 z binarki oszczędza problemów z dependencjami potrzebnymi do zbudowania biblioteki 🙂 Wskazanym byłoby skonteneryzowanie sobie wszystkiego, ale to już trochę wyższa szkoła. Daj znać jak Ci idzie, postaram się coś doradzić więcej.

 

Zresztą, skoro już masz serwer lokalny i potrzebujesz bazy danych, to rozważ użycie Django, ma wbudowany ORM do komunikacji z bazą danych, i wszystko stanie się łatwiejsze, polecam jako fan tego frameworku.

Edytowano przez stfn
1 godzinę temu, stfn napisał:

Najlepiej postawić lokalnie na rpi Postgresa

Dlaczego nie MariaDB?

1 godzinę temu, stfn napisał:

komunikować się z nim poprzez pythonową bibliotekę psycopg2

Dlaczego nie PyGreSQL?

1 godzinę temu, stfn napisał:

Polecam zainstalowanie jej poprzez

pip install psycopg2-binary

Dlaczego nie normalnie przez apt?

1 godzinę temu, stfn napisał:

rozważ użycie Django

Armata na muchy - 99% możliwości nie wykorzystasz.

 

26 minut temu, ethanak napisał:

Dlaczego nie MariaDB? Dlaczego nie PyGreSQL?

Polecam Postgresa i psycopg2 bo z nimi mam doświadczenie, nie polecałbym czegoś czego nie znam 🙂

 

27 minut temu, ethanak napisał:

Dlaczego nie normalnie przez apt?

Bo wolę instalować takie rzeczy lokalnie, najlepiej w środowisku wirtualnym niż globalnie przez package manager.

 

28 minut temu, ethanak napisał:

Armata na muchy - 99% możliwości nie wykorzystasz.

Czy to źle? Overkille w nauce to moim zdaniem bardzo dobra rzecz, więcej się nauczysz.

6 godzin temu, stfn napisał:

Polecam Postgresa i psycopg2 bo z nimi mam doświadczenie, nie polecałbym czegoś czego nie znam

Czyli zabrakło kluczowego sformułowania "moim zdaniem"

6 godzin temu, stfn napisał:

Bo wolę instalować takie rzeczy lokalnie, najlepiej w środowisku wirtualnym niż globalnie przez package manager.

Cóż - w tym przypadku akurat to się mija z celem. Konektor (czy to Postgresa, czy MySQL) będzie wykorzystywany w kilku aplikacjach (choćby PhpPgAdmin/PhpMyAdmin), a instalując globalnie masz pewność, że będzie związany z dokładnie tą wersją serwera Postgresa która została zainstalowana. Jeśli - jak twierdzisz - znasz Postgresa to pewnie wiesz, jakie cyrki mogą się dziać przy niezgodności wersji libpq i serwera. Takie "mieszane" instalowanie (pół przez apta, pół przez pip) raczej nie jest najlepszym rozwiązaniem. 

O korzyściach płynących z instalacji potężnego frameworka żeby wykonać dwie kwerendy na krzyż to już dyskutować nie będę...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...