You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/sv/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

3.7 KiB

Publicera temperatur - Virtuell IoT-hårdvara och Raspberry Pi

I denna del av lektionen kommer du att publicera temperaturvärden som upptäcks av Raspberry Pi eller Virtuell IoT-enhet via MQTT så att de senare kan användas för att beräkna GDD.

Publicera temperaturen

När temperaturen har lästs kan den publiceras via MQTT till någon "server"-kod som kommer att läsa värdena och lagra dem redo att användas för en GDD-beräkning.

Uppgift - publicera temperaturen

Programmera enheten att publicera temperaturdata.

  1. Öppna projektet för appen temperature-sensor om det inte redan är öppet.

  2. Upprepa stegen du gjorde i lektion 4 för att ansluta till MQTT och skicka telemetri. Du kommer att använda samma offentliga Mosquitto-broker.

    Stegen för detta är:

    • Lägg till MQTT pip-paketet
    • Lägg till koden för att ansluta till MQTT-brokern
    • Lägg till koden för att publicera telemetri

    ⚠️ Se instruktionerna för att ansluta till MQTT och instruktionerna för att skicka telemetri från lektion 4 om det behövs.

  3. Se till att client_name återspeglar namnet på detta projekt:

    client_name = id + 'temperature_sensor_client'
    
  4. För telemetrin, istället för att skicka ett ljusvärde, skicka temperaturvärdet som lästs från DHT-sensorn i en egenskap i JSON-dokumentet kallad temperature:

    _, temp = sensor.read()
    telemetry = json.dumps({'temperature' : temp})
    
  5. Temperaturvärdet behöver inte läsas särskilt ofta - det kommer inte att ändras mycket på kort tid, så ställ in time.sleep till 10 minuter:

    time.sleep(10 * 60);
    

    💁 Funktionen sleep tar tiden i sekunder, så för att göra det lättare att läsa skickas värdet som resultatet av en beräkning. 60 sekunder på en minut, så 10 x (60 sekunder på en minut) ger en fördröjning på 10 minuter.

  6. Kör koden på samma sätt som du körde koden från den tidigare delen av uppgiften. Om du använder en virtuell IoT-enhet, se till att CounterFit-appen körs och att fukt- och temperatursensorerna har skapats på rätt pinnar.

    pi@raspberrypi:~/temperature-sensor $ python3 app.py
    MQTT connected!
    Sending telemetry  {"temperature": 25}
    Sending telemetry  {"temperature": 25}
    

💁 Du kan hitta denna kod i mappen code-publish-temperature/virtual-device eller mappen code-publish-temperature/pi.

😀 Du har framgångsrikt publicerat temperaturen som telemetri från din enhet.


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiska översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.