Advertisement
Guest User

Untitled

a guest
Jul 1st, 2019
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #radio
  2. import RPI.GPIO as GPIO
  3. from lib_nrf24 import NRF24
  4. import time
  5. import spidev
  6.  
  7. GPIO.setmode (GPIO.BCM)
  8.  
  9. #Rain gauge
  10. from gpiozero import Button
  11.  
  12. #BME280 sensor
  13. import bme280
  14. import smbus2
  15.  
  16. #BME280 sensor settings
  17. port = 1
  18. address = 0x77
  19. bus = smbus2.SMBus(port)
  20. bme280.load_calibration_params(bus,address)
  21.  
  22. #Rain gauge settings
  23. BUCKET_SIZE = 0.2794
  24. rain_sensor = Button(6)
  25. rain_sensor.when_pressed = bucket_tipped
  26. count = 0
  27.  
  28. #radio settings
  29. slaveAddress[5] = {'R','x','A','A','A'}
  30. radio = NRF24(GPIO, spidev.SpiDev())
  31. radio.begin(0, 17)
  32. radio.setDataRate(RF24.BR_250KBPS)
  33. radio.openWritingPipe(slaveAddress)
  34. radio.printDetails()
  35.  
  36. import struct
  37.  
  38.  
  39. def bucket_tipped():
  40. global count
  41. count = count + 1
  42. print (rain_count * BUCKET_SIZE)
  43.  
  44. def reset_rainfall():
  45. global count
  46. count = 0
  47.  
  48. def read_all():
  49. bme280_data = bme.sample(bus,address)
  50. return bme280_data.humidity, bme280_data.pressure, bme280_data.temperature
  51.  
  52. while True:
  53.  
  54. #Rain gauge
  55. rainfall = rain_count * BUCKET_SIZE
  56. #reset_rainfall()
  57. #BME280 sensor
  58. humidity, pressure, ambient_temperature = bme280.read_all()
  59.  
  60. print(rainfall, humidity, pressure, ambient_temperature)
  61. sleep(60)
  62.  
  63.  
  64. radio.write(&data, sizeof(data));
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71. data = struct.pack(25, 1020, 50, 20.5, 14, 00, 27, 06, 2019)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement