#!/usr/bin/python # -*- coding:utf-8 -*- import smbus import time from pca9534d import PCA9534D address = 0x78 busNumber = 1 bus = smbus.SMBus(busNumber) macPause = [0x6D, 0x61, 0x63, 0x20, 0x70, 0x61, 0x75, 0x73, 0x65, 0x0D, 0x0A] # Content: mac pause\r\n str = "" class expBoard: def __init__(self, addr, port): self.addr = addr self.bus = smbus.SMBus(port) def write_block_data(self, byte, array): self.bus.write_i2c_block_data(self.addr, byte, array) def write_data(self, value): self.bus.write_byte(self.addr, value) def read_data(self): self.bus.read_byte(self.addr) def read_nbytes_data(self, data, n): return self.bus.read_i2c_block_data(self.addr, data, n) def main(): pca9534d = PCA9534D(i2c_bus=1, device_address=0x20) pca9534d.set_rst_high() # set reset to HIGH value i2c_bus = expBoard(address, busNumber) i2c_bus.write_data(123) # reset LoRa module time.sleep(0.7) i2c_bus.write_data(17) # set baudrate to 57600 time.sleep(0.1) while True: print("---> {}".format(str.join(chr(n) for n in macPause))) i2c_bus.write_block_data(0x00, macPause) # write 'mac pause\r\n' to register 0 time.sleep(0.7) rx = i2c_bus.read_nbytes_data(0x00, len("4294967245")+2) #from register 0, length of bytes requested: 12 list = [chr(n) for n in rx] print(str.join(list)) # print rx as integer if __name__ == "__main__": main()