Lesson 11 - Tiny House Temperature Monitoring

From Sensors in Schools
Jump to navigation Jump to search

1 - Using Python to Download Tiny House Temperature Data

# Get Tiny House data for MPPS

import dweepy

url = dweepy.get_latest_dweet_for('MPPS-Tiny-House-8-bundoora')
print(url)

2 - Put Temperature Data in Variables

# Get Tiny House data for MPPS

import dweepy

url = dweepy.get_latest_dweet_for('MPPS-Tiny-House-8-bundoora')
print(url)

dict = url[0]

internalTemp = dict['content'][('intTemp')]
print(f'The internal temperature is {internalTemp}')

externalTemp = dict['content'][('extTemp')]
print(f'The outside temperature is {externalTemp}')

3 - Recording Current Date and Time

# Get Tiny House data for MPPS

import dweepy

url = dweepy.get_latest_dweet_for('MPPS-Tiny-House-8-bundoora')
print(url)

dict = url[0]

internalTemp = dict['content'][('intTemp')]
print(f'The internal temperature is {internalTemp}')

externalTemp = dict['content'][('extTemp')]
print(f'The outside temperature is {externalTemp}')

# Current Date and Time
datetime = dict['content'][('date')]
print(f'The current date_time is {datetime}')

4 - Prepare Data for Saving

  1. Get Tiny House data for MPPS
import dweepy

url = dweepy.get_latest_dweet_for('MPPS-Tiny-House-8-bundoora')
print(url)

dict = url[0]

internalTemp = dict['content'][('intTemp')]
print(f'The internal temperature is {internalTemp}')

externalTemp = dict['content'][('extTemp')]
print(f'The outside temperature is {externalTemp}')

# Current Date and Time
datetime = dict['content'][('date')]
print(f'The current date_time is {datetime}')

# Prepare data for saving
data = str(datetime) + "," + str(internalTemp) + "," + str(externalTemp) + "\n"
print(f'The data that will be saved is =  {data}')

5 - Saving Data to your Computer

# Get Tiny House data for MPPS
import dweepy
url = dweepy.get_latest_dweet_for('MPPS-Tiny-House-8-bundoora')
print(url)
dict = url[0]

internalTemp = dict['content'][('intTemp')]
print(f'The internal temperature is {internalTemp}')

externalTemp = dict['content'][('extTemp')]
print(f'The outside temperature is {externalTemp}')

# Current Date and Time
datetime = dict['content'][('date')]
print(f'The current date_time is {datetime}')

# Prepare data for saving
data = str(datetime) + "," + str(internalTemp) + "," + str(externalTemp) + "\n"
print(f'The data that will be saved is =  {data}')

# Save data
f = open('/home/pi/MPPS/MPPS_Tiny_House_8_data.txt','a')
f.write(data)
f.close()
print("The data has been saved")

Technical Support

NodeRED Code

[
    {
        "id": "2062606fea9508f9",
        "type": "tab",
        "label": "Tiny House 8",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "27798e25b3283306",
        "type": "mqtt in",
        "z": "2062606fea9508f9",
        "name": "whi-tinyhouse-8",
        "topic": "#",
        "qos": "0",
        "datatype": "json",
        "broker": "309bdb6af62b946a",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 100,
        "y": 80,
        "wires": [
            [
                "bc8307e72be8882c"
            ]
        ]
    },
    {
        "id": "3b119ec45a0bfd04",
        "type": "debug",
        "z": "2062606fea9508f9",
        "name": "debug 9",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 640,
        "y": 220,
        "wires": []
    },
    {
        "id": "da62c13bca155cc1",
        "type": "function",
        "z": "2062606fea9508f9",
        "name": "process tiny house 8 data",
        "func": "var battery; // battery voltage data\nvar int_humidity; // humidity data from within the sensor housing\nvar ext_temp; // external temperature data\nvar int_temp; // temperature data from within the sensor housing\n\nbattery = msg.payload.uplink_message.decoded_payload.bat;\nint_humidity = msg.payload.uplink_message.decoded_payload.humid;\next_temp = msg.payload.uplink_message.decoded_payload.onewire_temp;\nint_temp = msg.payload.uplink_message.decoded_payload.temp;\n\nmsg.payload = \"bat=\" + String(battery) + \"&\"\n    + \"intHumid=\" + String(int_humidity) + \"&\"\n    + \"extTemp=\" + String(ext_temp) + \"&\"\n    + \"intTemp=\" + String(int_temp) + \"&\"\n    + \"date=\" + String(msg.myymd) + \" \" + String(msg.mytimes);\n\nmsg.url = \"https://dweet.io/dweet/for/MPPS-Tiny-House-8-bundoora?\" + msg.payload;\n\n// check dweet with - https://dweet.io/get/latest/dweet/for/<My_Dweet_address>\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 510,
        "y": 140,
        "wires": [
            [
                "034c6221e7c582b1"
            ]
        ]
    },
    {
        "id": "bc8307e72be8882c",
        "type": "simpletime",
        "z": "2062606fea9508f9",
        "name": "",
        "mydate": true,
        "myymd": true,
        "myyear": true,
        "mymonth": true,
        "mymonthn": true,
        "mydom": true,
        "mydoy": true,
        "myday": true,
        "myhourpm": true,
        "myhour": true,
        "mytime": true,
        "mytimes": true,
        "myminute": true,
        "myminutes": true,
        "mysecond": true,
        "mymillis": true,
        "myepoch": true,
        "myrawdate": true,
        "mypm": true,
        "x": 290,
        "y": 80,
        "wires": [
            [
                "da62c13bca155cc1",
                "e142b286eb6a05f2"
            ]
        ]
    },
    {
        "id": "e142b286eb6a05f2",
        "type": "debug",
        "z": "2062606fea9508f9",
        "name": "debug 10",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 480,
        "y": 80,
        "wires": []
    },
    {
        "id": "034c6221e7c582b1",
        "type": "http request",
        "z": "2062606fea9508f9",
        "name": "dweet tiny house 8 data",
        "method": "POST",
        "ret": "obj",
        "paytoqs": "body",
        "url": "",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [],
        "x": 410,
        "y": 220,
        "wires": [
            [
                "3b119ec45a0bfd04"
            ]
        ]
    },
    {
        "id": "309bdb6af62b946a",
        "type": "mqtt-broker",
        "name": "whi-tinyhouse-8",
        "broker": "au1.cloud.thethings.network",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]