예제 #1
0
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
예제 #2
0
    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"'))
예제 #3
0
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)
예제 #4
0
    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)