remove portion of the code to fit on m0 rfm9x feather

This commit is contained in:
brentru 2019-01-31 15:28:47 -05:00
parent e1fa963ec9
commit ed60265c85

View file

@ -1,46 +1,19 @@
"""
bme280_lorawan.py
CircuitPython TinyLoRa Node
for a BME280 sensor
Learn Guide: https://learn.adafruit.com/multi-device-lora-temperature-network
by Brent Rubell for Adafruit Industries, 2019
"""
import time
import busio
import digitalio
import board
# Import BME280 Sensor Library
import busio
from digitalio import DigitalInOut
import adafruit_bme280
# Import TinyLoRa Library
from adafruit_bme280 import Adafruit_BME280_I2C
from adafruit_tinylora.adafruit_tinylora import TTN, TinyLoRa
# Device ID
FEATHER_ID = 0x01
# Delay between sending radio data, in minutes.
SENSOR_SEND_DELAY = 0.5
# Create library object using our Bus I2C port
# BME280
i2c = busio.I2C(board.SCL, board.SDA)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
bme280 = Adafruit_BME280_I2C(i2c)
# Board LED
led = digitalio.DigitalInOut(board.D13)
led.direction = digitalio.Direction.OUTPUT
# Feather M0 RFM9x Pinouts
# pylint: disable=c-extension-no-member
irq = digitalio.DigitalInOut(board.RFM9X_D0)
# pylint: disable=c-extension-no-member
cs = digitalio.DigitalInOut(board.RFM9X_CS)
# Create library object using our bus SPI port for radio
spi = busio.SPI(board.SCK, MISO=board.MISO, MOSI=board.MOSI)
# TinyLoRa/RFM9x Setup
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
cs = DigitalInOut(board.RFM9X_CS)
irq = DigitalInOut(board.RFM9X_D0)
# TTN Device Address, 4 Bytes, MSB
devaddr = bytearray([0x00, 0x00, 0x00, 0x00])
@ -55,43 +28,25 @@ app = bytearray([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
ttn_config = TTN(devaddr, nwkey, app, country='US')
lora = TinyLoRa(spi, cs, irq, ttn_config)
lora = TinyLoRa(spi, cs, irq, ttn_config, channel = 6)
# Data Packet to send to TTN
bme280_data = bytearray(7)
# bme data packet
bme_d = bytearray(7)
while True:
# Get sensor readings
temp_val = int(bme280.temperature * 100)
print("\nTemperature: %0.1f C" % bme280.temperature)
humid_val = int(bme280.humidity * 100)
print("Humidity: %0.1f %%" % bme280.humidity)
pres_val = int(bme280.pressure * 100)
print("Pressure: %0.1f hPa" % bme280.pressure)
# Build packet with float data and headers
# packet header with feather node ID
bme280_data[0] = FEATHER_ID
bme_d[0] = 0x01
# Temperature data
bme280_data[1] = (temp_val >> 8) & 0xff
bme280_data[2] = temp_val & 0xff
bme_d[1] = (temp_val >> 8) & 0xff
bme_d[2] = temp_val & 0xff
# Humid data
bme280_data[3] = (humid_val >> 8) & 0xff
bme280_data[4] = humid_val & 0xff
# Pressure data
bme280_data[5] = (pres_val >> 8) & 0xff
bme280_data[6] = pres_val & 0xff
# Send data packet
bme_d[3] = (humid_val >> 8) & 0xff
bme_d[4] = humid_val & 0xff
print('Sending packet...')
led.value = True
lora.send_data(bme280_data, len(bme280_data), lora.frame_counter)
print('Packet Sent!')
led.value = False
lora.send_data(bme_d, len(bme_d), lora.frame_counter)
print('Packet sent!')
lora.frame_counter += 1
time.sleep(SENSOR_SEND_DELAY * 60)
time.sleep(2)