Erstellen eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (3) Empfangen einer Python-Datei

Spezifikation

Registrieren Sie die an den Himbeerkuchen gesendeten ESP32-Daten in SQLite

Ich habe gerade PHP gelernt, also plane ich, etwas schrecklich Einfaches zu machen.

Dateiorganisation

home/pi/   └SQLiteHTMLShow/      ├UDP_SQLite.py      └ db/        └data.db

UDP-Empfang → SQLite-Registrierung

Erstellen Sie eine Python-Datei, die UDP empfängt und Daten in SQLite registriert.

python UDP_SQLite.py



# -*- coding: utf-8 -*-
import socket #UDP-Übertragung
import struct #Für die Konvertierung von Zahlen → Byte-Strings
from contextlib import closing #Für mit

import sqlite3
import time
import datetime

import sys

UDP_IP = "" #So ist es gut
UDP_PORT = 1234 #Portnummer empfangen
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #Steckdosengenerierung

sock.bind((UDP_IP, UDP_PORT)) #Registrieren Sie die Steckdose
#Datenbank angeben
dbname = '/home/pi/SQLiteHTMLShow/db/data.db'

with closing(sock): #Socket beim Beenden des Programms automatisch schließen
    
  while True: #Endlosschleife
    try:
      data, addr = sock.recvfrom(1024) #Erhalten
      
      #print ( data ) #Zeigen Sie die Byte-Zeichenfolge so an, wie sie ist
      #print(addr[0]) #Anzeige der IP-Adresse
      #print(addr[1]) #Anzeige des Quellports
      
      #Der Name der Tabelle in der Datenbank
      ESP32 =addr[0].split('.')
      print('dbtable = ' + 'ip' + str(ESP32[2] + ESP32[3]))#IP-Adresse 192.Verwenden Sie 168 oder weniger als Tabellennamen
      dbtable = 'ip' + str(ESP32[2] + ESP32[3])
      
      #Stellen Sie eine Verbindung zu SQLite her
      conn = sqlite3.connect(dbname)
      c = conn.cursor()
   
      #Überprüfen Sie, ob in SQLite eine Tabelle vorhanden ist
      checkdb = conn.execute("SELECT * FROM sqlite_master WHERE type='table' and name='%s'" % dbtable)

      #Wenn keine Tabelle vorhanden ist, erstellen Sie eine neue
      if checkdb.fetchone() == None:
          create_table = '''create table ''' + dbtable + '''(id integer primary key autoincrement, time text,
                    ip text, port integer, temp text, humi text)'''
          print(create_table)

          c.execute(create_table)#Lauf
          conn.commit()

      #Speichern Sie Temperatur, Luftfeuchtigkeit und Zeitstempel.
      sql = 'insert into ' + dbtable + '(time,ip,port,temp,humi) values (?,?,?,?,?)'
      
      todaydetail = datetime.datetime.today()
      time = todaydetail.strftime("%Y/%m/%d %H:%M:%S")
      ip = addr[0]
      port=addr[1]

      print(str(data))
      #Zerlegen Sie die Zeichenfolgen für Gerätenummer, Temperatur und Luftfeuchtigkeit, die zusammen gesendet werden
      val=str(data).replace('b','').replace("'",'').split(',')
      
      print(float(val[0]),float(val[1]))
      
      data= (time,ip,port,float(val[0]),float(val[1]))
      c.execute(sql, data)
      conn.commit()
      #Trennen
      conn.close()
    except:
      print(sys.exc_info())

Damit wird die in ESP32 angegebene IP-Adresse so wie sie ist und in SQLite registriert.

Wenn die IP-Adressen von ESP32 einzeln festgelegt werden, wird eine separate Tabelle erstellt.

Ich denke, wenn ich es für die Arbeit benutze, wird es die IP-Adresse des Unternehmens weitestgehend belegen, daher werde ich nur eine IP-Adresse verwenden.

Recommended Posts

Erstellen eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (3) Empfangen einer Python-Datei
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (1)
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (2) Herstellung eines Übertragungsgeräts
Erstellen einer einfachen Power-Datei mit Python
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
[Python + PHP] Erstellen Sie mit Raspberry Pi einen Temperatur-, Feuchtigkeits- und Druckmonitor
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Messen Sie die CPU-Temperatur von Raspeye mit Python
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Messen Sie Temperatur und Luftfeuchtigkeit mit Raspberry Pi3 und visualisieren Sie mit Ambient
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Installieren Sie pyenv auf Raspberry Pi, um Python zu verwalten
Steuern Sie die Musikwiedergabe auf einem Smartphone, das mit Raspberry Pi 3 und Bluetooth mit AVRCP verbunden ist
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Messen und vergleichen Sie Temperaturen mit Raspberry Pi und generieren Sie automatisch Diagramme
getrpimodel: Erkennen Sie das Himbeer-Pi-Modell (A, B, B +, B2, B3 usw.) mit Python
Erstellen Sie mit Raspberry Pi + DHT11 ganz einfach einen TweetBot, der Sie über Temperatur und Luftfeuchtigkeit informiert.
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Servomotorsteuerung mit Raspberry Pi
Erstellen Sie ein Empfehlungssystem mit Python
Verwenden einer Webkamera mit Raspberry Pi
Weihnachtsklassiker (?) Einen Weihnachtsbaum mit Raspberry Pi und Philips Hue anzünden
Machen Sie ein Thermometer mit Raspberry Pi und machen Sie es im Browser Teil 4 sichtbar
Erstellen Sie einen Kanji-Kompass mit Raspberry Pi und Sense Hat
[Hinweis] Verwenden eines 16x2-stelligen LCD-Zeichens (1602A) von Python mit Raspeye
So laden Sie Dateien mit Python in den Cloud-Speicher hoch [Erstellen Sie mit Raspberry PI # 1 eine Festkommakamera]
Erstellen einer verteilten Umgebung mit der Raspberry PI-Serie (Teil 2: PiServer-Analyse und alternatives Systemdesign)
Exklusive Steuerung mit Sperrdatei in Python
Lesen und formatieren Sie CSV-Dateien gemischt mit Komma-Registerkarten mit Python-Pandas
[Raspberry Pi] Fügen Sie ein Thermometer und ein Feuchtigkeitsmessgerät hinzu
Erkennen Sie analoge Signale mit dem A / D-Wandler mithilfe von Python auf Raspberry Pi 3!
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Ein Memo mit Python2.7 und Python3 in CentOS
Erstellen Sie mit Raspberry Pi einen WLAN-Ethernet-Konverter und einen einfachen Router
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Rabbit MQ Nachrichtenbenachrichtigungs-App mit Growl in Python ~ mit Raspeye und Julius ~
Machen Sie einen Waschtrocknungs-Timer mit Raspberry Pi
Bedienen Sie das Oszilloskop mit dem Raspberry Pi
Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3!
Erstellen Sie eine Auto-Anzeige mit Himbeer-Pi
Ich habe mit Python eine Einstellungsdatei erstellt
Arbeiten mit GPS in Python für Raspberry Pi 3
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --2 PHP Einführung
Cross-Compilieren von Raspberry Pi und Erstellen einer Remote-Debug-Entwicklungsumgebung mit VS Code
Erstellen wir ein einfaches Empfangssystem mit dem serverlosen Python-Framework Chalice und Twilio
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver. 1. Apache-Einführung
[Für Anfänger] Ich habe mit Raspberry Pi einen menschlichen Sensor erstellt und LINE benachrichtigt!
Verwendung des digitalen 1-Draht-Temperatursensors DS18B20 mit Raspberry Pi von Python
Erstellen einer verteilten Umgebung mit der Raspberry PI-Serie (Teil 3: Installieren und Konfigurieren von dnsmasq)
Verwenden Sie den analogen Temperatursensor Raspberry Pi Python to TMP36 und den AD-Wandler MCP3008
Raspberry Pi 3 x Julius (Lese- und Grammatikdatei)
Lesen einer CSV-Datei mit Python 2/3
Discord Bot Himbeere Pi Null mit Python [Hinweis]
Erstellen einer Python-Umgebung mit virtualenv und direnv
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.