mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
62 lines
1.8 KiB
Python
62 lines
1.8 KiB
Python
# WiFi AP Mode Example
|
|
#
|
|
# This example shows how to use WiFi in Access Point mode.
|
|
import network, socket, sys, time, gc
|
|
|
|
SSID ='OPENMV_AP' # Network SSID
|
|
KEY ='1234567890' # Network key (must be 10 chars)
|
|
HOST = '' # Use first available interface
|
|
PORT = 8080 # Arbitrary non-privileged port
|
|
|
|
# Init wlan module and connect to network
|
|
wlan = network.WLAN(network.AP_IF)
|
|
wlan.active(True)
|
|
wlan.config(essid=SSID, key=KEY, security=wlan.WEP, channel=2)
|
|
print("AP mode started. SSID: {} IP: {}".format(SSID, wlan.ifconfig()[0]))
|
|
|
|
def recvall(sock, n):
|
|
# Helper function to recv n bytes or return None if EOF is hit
|
|
data = bytearray()
|
|
while len(data) < n:
|
|
packet = sock.recv(n - len(data))
|
|
if not packet:
|
|
raise OSError("Timeout")
|
|
data.extend(packet)
|
|
return data
|
|
|
|
def start_streaming(server):
|
|
print ('Waiting for connections..')
|
|
client, addr = server.accept()
|
|
|
|
# set client socket timeout to 5s
|
|
client.settimeout(5.0)
|
|
print ('Connected to ' + addr[0] + ':' + str(addr[1]))
|
|
|
|
# FPS clock
|
|
clock = time.clock()
|
|
while (True):
|
|
try:
|
|
# Read data from client
|
|
data = recvall(client, 1024)
|
|
# Send it back
|
|
client.send(data)
|
|
except OSError as e:
|
|
print("start_streaming(): socket error: ", e)
|
|
client.close()
|
|
break
|
|
|
|
while (True):
|
|
try:
|
|
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
# Bind and listen
|
|
server.bind([HOST, PORT])
|
|
server.listen(1)
|
|
|
|
# Set server socket to blocking
|
|
server.setblocking(True)
|
|
while (True):
|
|
start_streaming(server)
|
|
except OSError as e:
|
|
server.close()
|
|
print("Server socket error: ", e)
|