Raspberry Pi – die besten Beiträge

Python variable ändern (erhöhen oder verringern)?

Ich bin ein absoluter Anfänger was programmieren angeht, lerne aber immer mehr und mehr dazu. Ich möchte für etwas ein Python Script erstellen, was auf meinem Pi die ganze Zeit läuft und die MQTT Nachrichten mitliest, um diese auszuführen und/oder eine Nachricht zurück zu senden.

Ich habe versucht eine Nachricht zu senden der den wert der Variable um 1 erhöhen soll und damit auch die While schleife aktivieren soll. Jedoch funktioniert es nicht, da die variable nicht in "def on_message" verfügbar ist und es die Erhöhung quasi nicht nach außen austrägt.

Was gibt es für Möglichkeiten die variable zu erhöhen, sodass sich die while schleife aktiviert? Und gibt es auch andere Ansätze wie man eine diese Schleife machen kann?

Script:

import paho.mqtt.client as mqtt
import os
import subprocess
import time
import smbus2
import bme280

#Bme280_basic Temperature
# BME280 sensor address (default address)
address = 0x76
# Initialize I2C bus
bus = smbus2.SMBus(1)
# Load calibration parameters
calibration_params = bme280.load_calibration_params(bus, address)
# to activate loop
y = int(1)
#Temperature loop
while y == 2:
      data = bme280.sample(bus, address, calibration_params)

      # Extract temperature, pressure, and humidity
      temperature_celsius = data.temperature      
      # Print the readings
      print("Temperature: {:.2f} °C".format(temperature_celsius))
      # Wait for a few seconds before the next reading
      time.sleep(2)
      #print(y)
else:
      print("stopped") 
    
#Connection successfull
def on_connect(client, userdata, flags, rc):
  print("Connected to MQTT broker")


#Checking for messages to execute code
def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload))
    if msg.payload.decode() == "temp_bme280_start":
        print("Calling script to for temperature start...")
        # activate loop by adding 1
        y += 1   
        print(y)
    if msg.payload.decode() == "temp_bme280_stop":
        print("Calling script to for temperature stop...")
        # deactivate loop by remove 1
        y -= 1  
        print(y)  

def on_subscribe(client, userdata, mid, granted_qos):
    print("Subscribed to topic : " + str(mid) +" with QoS" + str(granted_qos))

client = mqtt.Client()

client.username_pw_set( "userxxx" , "passwortxxx" )

client.connect( "192.16x.xxx.xxx", 1883, 60)

client.subscribe( "frame/monitor" , qos=1)

client.on_connect = on_connect

client.on_message = on_message

client.loop_forever()

Würde Chat GPT sowas lösen können?

Code, Programmiersprache, Python, Script, Python 3, Raspberry Pi, while-Schleife, ChatGPT

Passende Sata- M.2 SSD für 24/7 Betrieb?

Hallo zusammen,

ich bin aktuell auf der Suche nach einer passenden Sata-SSD für mein Raspberry Pi Gehäuse;

https://www.amazon.de/Argon-Aluminium-Geh%C3%A4use-SSD-Unterst%C3%BCtzung-Einschaltknopf-Kompatibel/dp/B08MJ3CSW7

Es handelt sich um das Argon ONE M.2, wie oben im Link auf Amazon zu finden.

Ich kenne mich mit SSD's allerdings nicht so gut aus und weiss jetzt nicht genau, welche Art von SSD in dieses Gehäuse passt.

In der Beschreibung steht:

  • "Entdecke die Möglichkeiten: Bringe dein Raspberry Pi 4-Gehäuse auf ein neues Level mit dem mitgelieferten M.2 SATA-Erweiterungsbrett. Maximiere die Raspberry Pi 4 SSD-Nutzung mit jedem M.2 SATA SSD B Key oder B+M Key."

Heisst das, ich kann auch eine Kingston A400 SSD in das Gehäuse einbauen? (https://www.digitec.ch/de/s1/product/kingston-a400-480-gb-25-ssd-6305464?supplier=406802)

Dabei handelt es sich ja um eine Sata einfache SSD, aber nicht um eine M.2, oder?

Als Alternative habe ich im Internet folgende 2 SSD's gefunden (128 Gb reichen mir), die auch auf Amazon gute Bewertungen haben:

  1. https://www.amazon.de/gp/product/B0779F4DHF/ref=ask_ql_qh_dp_hza
  2. https://www.amazon.de/Intenso-3832430-Performance-interne-128GB/dp/B077D1WYW3/?_encoding=UTF8&pd_rd_w=A8SB1&content-id=amzn1.sym.adb6b60a-ec96-4295-8e84-3a18efb7292c%3Aamzn1.symc.cdb151ed-d8fe-485d-b383-800c8b0e3fd3&pf_rd_p=adb6b60a-ec96-4295-8e84-3a18efb7292c&pf_rd_r=PYV3BH8QC18ST78KPSPV&pd_rd_wg=MCHle&pd_rd_r=2187be48-69c6-4872-a6a9-245645f81563&ref_=pd_gw_ci_mcx_mr_hp_atf_m
  3. https://www.amazon.de/Patriot-P300-PCIe-Power-Consumption/dp/B0822Y6N1C/?_encoding=UTF8&pd_rd_w=A8SB1&content-id=amzn1.sym.adb6b60a-ec96-4295-8e84-3a18efb7292c%3Aamzn1.symc.cdb151ed-d8fe-485d-b383-800c8b0e3fd3&pf_rd_p=adb6b60a-ec96-4295-8e84-3a18efb7292c&pf_rd_r=PYV3BH8QC18ST78KPSPV&pd_rd_wg=MCHle&pd_rd_r=2187be48-69c6-4872-a6a9-245645f81563&ref_=pd_gw_ci_mcx_mr_hp_atf_m

Treffen diese SSD's aber nun auf die Beschreibung "M.2 SATA SSD B Key oder B+M Key" zu? Ich habe keine Ahnung, was ein B Key oder B+M Key ist und in der Beschreibung der SSD steht auch nichts dazu.

Es wäre super falls mir das jemand kurz verständlich erklären könnte und mir mitteilen könnte, ob die SSD's passend sind und wenn nicht, oder wenn es eine bessere (schneller oder zumbeispiel besseres Preis-Leistungsverhältnis etc.) gibt, einfach kurz Rückmeldung geben.

Die SSD soll ausserdem dazu in der Lage sein, 24/7 zu laufen und dadurch nicht kaputt zu gehen. Infos warum weiter unten.

Kurzer Kontext wofür ich das alles überhaupt brauche:

Ich versuche mit einem Raspberry Pi 4b ein Home Assistant "Server" aufzusetzen (eine Software für die Hausautomation). Das ganze soll eben 24/7 laufen.

Vielen Dank🙌🏼

Server, Technik, Festplatte, SSD, SATA, Solid-State-Drive, Raspberry Pi, M.2 SSD, Raspberry Pi 4

Meistgelesene Beiträge zum Thema Raspberry Pi