def main(): # Controller(spi = spi, # pin_id_led = ON_BOARD_LED_PIN_NO, # on_board_led_high_is_on = ON_BOARD_LED_HIGH_IS_ON, # pin_id_reset = PIN_ID_FOR_LORA_RESET, # blink_on_start = (2, 0.5, 0.5)) controller = config_lora.Controller() # SX127x(name = 'SX127x', # parameters = {'frequency': 433E6, 'tx_power_level': 2, 'signal_bandwidth': 125E3, # 'spreading_factor': 8, 'coding_rate': 5, 'preamble_length': 8, # 'implicitHeader': False, 'sync_word': 0x12, 'enable_CRC': False}, # onReceive = None) # controller.add_transceiver(transceiver, # pin_id_ss = PIN_ID_FOR_LORA_SS, # pin_id_RxDone = PIN_ID_FOR_LORA_DIO0, # pin_id_RxTimeout = PIN_ID_FOR_LORA_DIO1, # pin_id_ValidHeader = PIN_ID_FOR_LORA_DIO2, # pin_id_CadDone = PIN_ID_FOR_LORA_DIO3, # pin_id_CadDetected = PIN_ID_FOR_LORA_DIO4, # pin_id_PayloadCrcError = PIN_ID_FOR_LORA_DIO5) lora1 = controller.add_transceiver(sx127x.SX127x(name='LoRa1'), pin_id_ss=PIN_ID_SS_1, pin_id_RxDone=PIN_ID_FOR_LORA1_DIO0) lora2 = controller.add_transceiver(sx127x.SX127x(name='LoRa2'), pin_id_ss=PIN_ID_SS_2, pin_id_RxDone=PIN_ID_FOR_LORA2_DIO0) LoRaReceiverCallback_dual_channels.receiveCallback(lora1, lora2)
def main(): # Controller( # pin_id_led = ON_BOARD_LED_PIN_NO, # on_board_led_high_is_on = ON_BOARD_LED_HIGH_IS_ON, # pin_id_reset = PIN_ID_FOR_LORA_RESET, # blink_on_start = (2, 0.5, 0.5)) controller = config_lora.Controller() # SX127x(name = 'SX127x', # parameters = {'frequency': 433E6, 'tx_power_level': 2, 'signal_bandwidth': 125E3, # 'spreading_factor': 8, 'coding_rate': 5, 'preamble_length': 8, # 'implicitHeader': False, 'sync_word': 0x12, 'enable_CRC': False}, # onReceive = None) # controller.add_transceiver(transceiver, # pin_id_ss = PIN_ID_FOR_LORA_SS, # pin_id_RxDone = PIN_ID_FOR_LORA_DIO0, # pin_id_RxTimeout = PIN_ID_FOR_LORA_DIO1, # pin_id_ValidHeader = PIN_ID_FOR_LORA_DIO2, # pin_id_CadDone = PIN_ID_FOR_LORA_DIO3, # pin_id_CadDetected = PIN_ID_FOR_LORA_DIO4, # pin_id_PayloadCrcError = PIN_ID_FOR_LORA_DIO5) lora = controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) print('lora', lora) # LoRaDumpRegisters.dumpRegisters(lora) LoRaSender.send(lora)
def createLoRa(syncWord=0x34): ''' Create LoRa Instance ''' ''' pin_id_led = ON_BOARD_LED_PIN_NO on_board_led_high_is_on = ON_BOARD_LED_HIGH_IS_ON pin_id_reset = PIN_ID_FOR_LORA_RESET blink_on_start = (2, 0.5, 0.5) ''' controller = config_lora.Controller() ''' name = 'SX127x' parameters = {'frequency': 433E6, 'tx_power_level': 2, 'signal_bandwidth': 125E3, 'spreading_factor': 8, 'coding_rate': 5, 'preamble_length': 8, 'implicitHeader': False, 'sync_word': 0x12, 'enable_CRC': False} onReceive = None ''' SX127x_Ins = sx127x.SX127x(name='LoRa') ''' transceiver: SX127x pin_id_ss = PIN_ID_FOR_LORA_SS pin_id_RxDone = PIN_ID_FOR_LORA_DIO0 pin_id_RxTimeout = PIN_ID_FOR_LORA_DIO1 pin_id_ValidHeader = PIN_ID_FOR_LORA_DIO2 pin_id_CadDone = PIN_ID_FOR_LORA_DIO3 pin_id_CadDetected = PIN_ID_FOR_LORA_DIO4 pin_id_PayloadCrcError = PIN_ID_FOR_LORA_DIO5 ''' lora = controller.add_transceiver( SX127x_Ins, pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) lora.setSyncWord(syncWord) return lora
def __init__(self): self.controller = config_lora.Controller() self.lora = self.controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) self.INTERVAL_BASE_RESEND = 10000 # interval to resend data self.msgSendFlag = 0 self.IDSERVIDOR = 1001 # el id 1001 es cuando no sabe quien es el servidor self.IDNODO = 0000 #busca la id del dispositivos try: fileID = open("id", "rt") except FileNotFoundError: # doesn't exist fileID = open("id", "wt") self.IDSNODO = randint(1002, 9999) fileID.write(str(self.IDSNODO)) fileID.close() else: # exists self.IDNODO = int(fileID.read()) fileID.close() print("EL ID del nodo es ", self.IDNODO) self.MessageClient()
def main(): controller = Controller() lora = controller.add_transceiver(sx127x.SX127x(name='LoRa'), pin_id_ss=Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=Controller.PIN_ID_FOR_LORA_DIO0) LoRaDuplex.duplex(lora)
def main(): controller = config_lora.Controller() lora = controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) print('lora', lora) LoRaDuplexCallback.duplexCallback(lora)
def __init__(self, lora_freq=915E6, lora_txpwr=2): self._i2c = machine.I2C(-1, scl=machine.Pin(15), sda=machine.Pin(4), freq=400000) self._oled = ssd1306.SSD1306_I2C(128, 64, self._i2c) self._d_rst = machine.Pin(16, machine.Pin.OUT) self._d_rst.value(0) time.sleep_ms(20) device_pins = { 'miso': 19, 'mosi': 27, 'ss': 18, 'sck': 5, 'dio_0': 26, 'reset': 16, 'led': 2, } lora_parameters = { 'frequency': lora_freq, 'tx_power_level': lora_txpwr, 'signal_bandwidth': 125E3, 'spreading_factor': 8, 'coding_rate': 5, 'preamble_length': 8, 'implicit_header': False, 'sync_word': 0x12, 'enable_CRC': False, 'invert_IQ': False, } self._device_spi = machine.SPI( baudrate=10000000, polarity=0, phase=0, bits=8, firstbit=machine.SPI.MSB, sck=machine.Pin(device_pins['sck'], machine.Pin.OUT, machine.Pin.PULL_DOWN), mosi=machine.Pin(device_pins['mosi'], machine.Pin.OUT, machine.Pin.PULL_UP), miso=machine.Pin(device_pins['miso'], machine.Pin.IN, machine.Pin.PULL_UP)) self._lora = sx127x.SX127x(self._device_spi, pins=device_pins, parameters=lora_parameters) self._d_rst.value(1) self._oled.init_display() self._oled.contrast(1) self.show('System Initialized', 'Call receiver()', '...or sender()')
def init(): controller = Controller() l = None count = 0 while not l and count < 3: try: l = controller.add_transceiver(sx127x.SX127x(name = 'LoRa'),pin_id_ss = controller.PIN_ID_FOR_LORA_SS,pin_id_RxDone = controller.PIN_ID_FOR_LORA_DIO0) except Exception as e: count += 1 if count > 2: raise e return l
def start_gateway(): import node nd = node.Node() gw = nd.worker lora = gw.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) lora.onReceive(gw.received_packet_update_link) lora.receive() nd.run()
def main(): ip = webserver.connect() controller = config_lora.Controller() lora = controller.add_transceiver(sx127x.SX127x(name = 'LoRa'), pin_id_ss = config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone = config_lora.Controller.PIN_ID_FOR_LORA_DIO0) print('lora', lora) gate = lora_node.Lora_Gate("Master", lora, ip) gate.working() print("Error ,program over")
def __init__(self): self.controller = config_lora.Controller() self.lora = self.controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) self.INTERVAL_BASE_RESEND = 10000 # interval to re send data self.msgSendFlag = 0 self.MessageClient()
def main(): ip = webserver.connect() controller = config_lora.Controller() lora = controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_lora.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_lora.Controller.PIN_ID_FOR_LORA_DIO0) print('lora', lora) print("ready to create node") #node = lora_node.Lora_Node("xbw","001",1) #gate = lora_node.Lora_Gate("Master1", lora_node.MODE_RECEIVER, lora, node) #node = lora_node.Lora_Node("xbw","001",1) #gate = lora_node.Lora_Gate("Master1", lora_node.MODE_TRANSFER, lora, node) gate = lora_node.Lora_Gate("Master1", lora_node.MODE_GATE, lora, ip) gate.working() print("Error ,program over")
timer = machine.Timer(1) timer.init(period=timer_delay, mode=machine.Timer.PERIODIC, callback=timer_callback) send_flag = False # Initialize controller # add lora transceiver controller = config_sensorboard.Controller() lora = controller.add_transceiver( sx127x.SX127x(name='LoRa', parameters={ 'frequency': 868.3E6, 'tx_power_level': 10, 'signal_bandwidth': 125E3, 'spreading_factor': 10, 'coding_rate': 1, 'preamble_length': 12, 'implicitHeader': False, 'sync_word': 0x12, 'enable_CRC': True })) controller.show_text("Hello HackTM!", x=0, y=0, clear_first=True) gc.collect() while 1: if send_flag == True: payload = "x" controller.lora_send(lora, payload) print("sending %s" % payload)
# import LoRaDumpRegisters import LoRaSender import LoRaReceiver # import LoRaSetSpread # import LoRaSetSyncWord # import LoRaReceiverCallback # import LoRaReceiverCallback_dual_channels # import LoRaDuplex # import LoRaDuplexCallback # import LoRaPingPong PIN_ID_SS = 26 PIN_ID_FOR_LORA_DIO0 = 21 controller = config_lora.Controller() lora = controller.add_transceiver(sx127x.SX127x(name='LoRa'), pin_id_ss=PIN_ID_SS, pin_id_RxDone=PIN_ID_FOR_LORA_DIO0) LoRaSender.send(lora) def main(): # Controller(spi = spi, # pin_id_led = ON_BOARD_LED_PIN_NO, # on_board_led_high_is_on = ON_BOARD_LED_HIGH_IS_ON, # pin_id_reset = PIN_ID_FOR_LORA_RESET, # blink_on_start = (2, 0.5, 0.5)) controller = config_lora.Controller() # SX127x(name = 'SX127x',
import config_sensorboard #GPIOs (all input): # 0 -> Pin 36 # 1 -> Pin 37 # 2 -> Pin 38 # 3 -> Pin 39 uart_rx = 12 uart_tx = 13 uart = machine.UART(1, rx=uart_rx, tx=uart_tx) controller = config_sensorboard.Controller() lora = controller.add_transceiver( sx127x.SX127x(name='LoRa'), pin_id_ss=config_sensorboard.Controller.PIN_ID_FOR_LORA_SS, pin_id_RxDone=config_sensorboard.Controller.PIN_ID_FOR_LORA_DIO0) data = {} while True: for i in range(3): uart.write(str(i + 1) + "\r\n") sleep(0.3) rec = uart.read() if rec != None: value = rec.decode()[:-2] data[i] = value else: