print("sys.platform:", sys.platform) print("machine.unique_id:", ubinascii.hexlify(machine.unique_id())) print("machine.freq:", machine.freq()) print("machine.info:") machine.info() print("pycom.wifi_on_boot:", pycom.wifi_on_boot()) print("pycom.wdt_on_boot:", pycom.wdt_on_boot()) # print("pycom.smart_config_on_boot:", pycom.smart_config_on_boot()) sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=RCZ) print("sigfox version:", sigfox.version()) print("sigfox ID:", ubinascii.hexlify(sigfox.id())) print("sigfox PAC:", ubinascii.hexlify(sigfox.pac())) print("sigfox region:", RCZ) print("sigfox frequencies:", sigfox.frequencies()) print("sigfox rssi offset:", sigfox.rssi_offset()) # sigfox config rcz3_config_test_mode = ( 1, 0x2ee0, 0x100 ) # ie, 1 retry, 12sec timeout, 3rd config is always ignored in R3 # rcz3_config_default = (3, 5000, 0x100) # ie, 3 retries, 5sec timeout print("sigfox config:", sigfox.config()) # by default put the device into private key mode sigfox.public_key(False) print("sigfox public key:", sigfox.public_key()) s = socket.socket(socket.AF_SIGFOX, socket.SOCK_RAW) s.setblocking(True) # by default configure socket as uplink only
print(lora.frequency()) print(lora.has_joined()) print(lora.tx_power()) print(lora.power_mode()) #print(lora.stats()) except: pass try: print("===== sigfox =====================================") from network import Sigfox sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ1) print("id", binascii.hexlify(sigfox.id())) print("mac", binascii.hexlify(sigfox.mac())) print("pac", binascii.hexlify(sigfox.pac())) print("frequencies", sigfox.frequencies()) except: pass try: print("===== lte ========================================") from network import LTE lte = LTE() print("imei", lte.imei()) print("iccid", lte.iccid()) print("is_connected", lte.isconnected()) print("ue_coverage", lte.ue_coverage()) def send_at_cmd_pretty(cmd): return lte.send_at_cmd(cmd).replace('\r', '').strip().replace('\n\n','\n') print('AT+CGCONTRDP=1', send_at_cmd_pretty('AT+CGCONTRDP=1')) print('AT!="config"', send_at_cmd_pretty('AT!="ifconfig"'))
from network import Sigfox import pycom import utime def cw(f): print("continous", f, " Hz for", s, "seconds") pycom.rgbled(0x001100) sigfox.cw(f, True) utime.sleep(s) sigfox.cw(f, False) pycom.heartbeat(False) sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ3) print(sigfox.frequencies()) s = 10 cw(sigfox.frequencies()[0]) # cw(sigfox.frequencies()[1]) pycom.heartbeat(True)
config_file.write("0") config_file.close() print("Init /sd/mins_since_dl.txt with defaults: 0") mins_since_dl = 0 # init Sigfox with the correct RCZ #sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ4) sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=RCZ) # create a Sigfox socket s = socket.socket(socket.AF_SIGFOX, socket.SOCK_RAW) # make the socket blocking s.setblocking(True) print("Using Sigfox RCZ{}. Frequency range: {}-{} MHz".format( RCZ + 1, sigfox.frequencies()[0] / 1000000, sigfox.frequencies()[1] / 1000000)) while True: if mins_since_dl / 60.0 >= c["DOWNLINK_HR"]: print("Sending Downlink request with current configs") s.setsockopt(socket.SOL_SIGFOX, socket.SO_RX, True) raw = bytearray(binascii.unhexlify(config_hex)) print("Payload: {} Length: {}B".format(config_hex, len(raw))) print("Sending Sigfox DL message. Waiting for reply...") pycom.rgbled(0x0000FF) # Blue try: s.send(raw) except OSError: print("OSError. Resetting board") time.sleep(5)