Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #radio
- import RPI.GPIO as GPIO
- from lib_nrf24 import NRF24
- import time
- import spidev
- GPIO.setmode (GPIO.BCM)
- #Rain gauge
- from gpiozero import Button
- #BME280 sensor
- import bme280
- import smbus2
- #BME280 sensor settings
- port = 1
- address = 0x77
- bus = smbus2.SMBus(port)
- bme280.load_calibration_params(bus,address)
- #Rain gauge settings
- BUCKET_SIZE = 0.2794
- rain_sensor = Button(6)
- rain_sensor.when_pressed = bucket_tipped
- count = 0
- #radio settings
- slaveAddress[5] = {'R','x','A','A','A'}
- radio = NRF24(GPIO, spidev.SpiDev())
- radio.begin(0, 17)
- radio.setDataRate(RF24.BR_250KBPS)
- radio.openWritingPipe(slaveAddress)
- radio.printDetails()
- import struct
- def bucket_tipped():
- global count
- count = count + 1
- print (rain_count * BUCKET_SIZE)
- def reset_rainfall():
- global count
- count = 0
- def read_all():
- bme280_data = bme.sample(bus,address)
- return bme280_data.humidity, bme280_data.pressure, bme280_data.temperature
- while True:
- #Rain gauge
- rainfall = rain_count * BUCKET_SIZE
- #reset_rainfall()
- #BME280 sensor
- humidity, pressure, ambient_temperature = bme280.read_all()
- print(rainfall, humidity, pressure, ambient_temperature)
- sleep(60)
- radio.write(&data, sizeof(data));
- data = struct.pack(25, 1020, 50, 20.5, 14, 00, 27, 06, 2019)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement