MultiDeviceProvisioning/provision_wifi.py (26 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. import provision import sys import time def configure_wifi(device): result = provision.azspherecommand(["device", "wifi", "show-status"], device) if result.returncode != 0: return False # not ok # add wifi if missing result = provision.azspherecommand(["device", "wifi", "list"], device) if result.returncode != 0: return False # not ok if bytes(wifi_ssid, 'utf-8') not in result.stdout: result = provision.azspherecommand(["device", "wifi", "add", "-s", wifi_ssid, "-p", wifi_network_key], device) if result.returncode != 0: return False # not ok print("Added WiFi network to device at " + device["DeviceConnectionPath"]) else: print("No need to add WiFi network to device at " + device["DeviceConnectionPath"]) return True if len(sys.argv) != 3: print("Please provide the SSID and Network Key") sys.exit(-1) wifi_ssid=sys.argv[1] wifi_network_key=sys.argv[2] print("Configuring Wi-Fi for any attached Azure Sphere devices in parallel (",wifi_ssid, ':', wifi_network_key, "). Press Ctrl-C to exit.") ret = provision.perdevice(configure_wifi) sys.exit(ret)