Untitled
unknown
plain_text
2 years ago
2.9 kB
7
Indexable
import socket import time import binascii import pycom from network import LoRa from CayenneLPP import CayenneLPP from pysense import Pysense from LIS2HH12 import LIS2HH12 from SI7006A20 import SI7006A20 from LTR329ALS01 import LTR329ALS01 from MPL3115A2 import MPL3115A2, ALTITUDE, PRESSURE import config app_eui = config.app_eui app_key = config.app_key py = Pysense() si = SI7006A20(py) lt = LTR329ALS01(py) li = LIS2HH12(py) # Disable heartbeat LED pycom.heartbeat(False) # Initialize LoRa in LORAWAN mode. lora = LoRa(mode=LoRa.LORAWAN) # create an OTAA authentication parameters # app_eui = binascii.unhexlify('0101010101010101') print("DevEUI: %s" % (binascii.hexlify(lora.mac()))) print("AppEUI: %s" % (binascii.hexlify(app_eui))) print("AppKey: %s" % (binascii.hexlify(app_key))) # join a network using OTAA (Over the Air Activation) lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0) # wait until the module has joined the network while not lora.has_joined(): pycom.rgbled(0x140000) time.sleep(2.5) pycom.rgbled(0x000000) time.sleep(1.0) print('Not yet joined...') print('OTAA joined') pycom.rgbled(0x001400) # create a LoRa socket s = socket.socket(socket.AF_LORA, socket.SOCK_RAW) # set the LoRaWAN data rate s.setsockopt(socket.SOL_LORA, socket.SO_DR, 5) while True: s.setblocking(True) pycom.rgbled(0x000014) lpp = CayenneLPP() #print('\n\n** 3-Axis Accelerometer (LIS2HH12)') #print('Acceleration', li.acceleration()) #print('Roll', li.roll()) #print('Pitch', li.pitch()) #lpp.add_accelerometer(1, li.acceleration()[0], li.acceleration()[1], li.acceleration()[2]) #lpp.add_gryrometer(1, li.roll(), li.pitch(), 0) print('\n\n** Digital Ambient Light Sensor (LTR-329ALS-01)') print('Light', lt.light()) lpp.add_luminosity(1, lt.light()[0]) lpp.add_luminosity(2, lt.light()[1]) print('\n\n** Humidity and Temperature Sensor (SI7006A20)') print('Humidity', si.humidity()) print('Temperature', si.temperature()) lpp.add_relative_humidity(1, si.humidity()) lpp.add_temperature(1, si.temperature()) mpPress = MPL3115A2(py,mode=PRESSURE) print('\n\n** Barometric Pressure Sensor with Altimeter (MPL3115A2)') print('Pressure (hPa)', mpPress.pressure()/100) lpp.add_barometric_pressure(1, mpPress.pressure()/100) mpAlt = MPL3115A2(py,mode=ALTITUDE) print('Altitude', mpAlt.altitude()) print('Temperature', mpAlt.temperature()) lpp.add_gps(1, 0, 0, mpAlt.altitude()) lpp.add_temperature(2, mpAlt.temperature()) print('Sending data (uplink)...') s.send(bytes(lpp.get_buffer())) s.setblocking(False) data = s.recv(64) print('Received data (downlink)', data) pycom.rgbled(0x001400) time.sleep(30)
Editor is loading...