This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

class PPP – create network connections over serial PPP

This class allows you to create a network connection over a serial port using the PPP protocol. It is only available on selected ports and boards.

Example usage:

import network

ppp = network.PPP(uart)
ppp.connect()

while not ppp.isconnected():
    pass

print(ppp.ipconfig("addr4"))

# use the socket module as usual, etc

ppp.disconnect()

Constructors

class network.PPP(stream)

Create a PPP driver object.

Arguments are:

  • stream is any object that supports the stream protocol, but is most commonly a machine.UART instance. This stream object must have an irq() method and an IRQ_RXIDLE constant, for use by PPP.connect.

Methods

PPP.connect(security=SEC_NONE, user=None, key=None)

Initiate a PPP connection with the given parameters:

  • security is the type of security, either PPP.SEC_NONE, PPP.SEC_PAP, or PPP.SEC_CHAP.

  • user is an optional user name to use with the security mode.

  • key is an optional password to use with the security mode.

When this method is called the underlying stream has its interrupt configured to call PPP.poll via stream.irq(ppp.poll, stream.IRQ_RXIDLE). This makes sure the stream is polled, and data passed up the PPP stack, wheverver data becomes available on the stream.

The connection proceeds asynchronously, in the background.

PPP.disconnect()

Terminate the connection. This must be called to cleanly close the PPP connection.

PPP.isconnected()

Returns True if the PPP link is connected and up. Returns False otherwise.

PPP.status()

Returns the PPP status.

PPP.config(config_parameters)

Sets or gets parameters of the PPP interface. The only parameter that can be retrieved and set is the underlying stream, using:

stream = PPP.config("stream")
PPP.config(stream=stream)
PPP.ipconfig('param')
PPP.ipconfig(param=value, ...)

See AbstractNIC.ipconfig.

PPP.ifconfig([(ip, subnet, gateway, dns)])

See AbstractNIC.ifconfig.

PPP.poll()

Poll the underlying stream for data, and pass it up the PPP stack. This is called automatically if the stream is a UART with a RXIDLE interrupt, so it’s not usually necessary to call it manually.

Constants

PPP.SEC_NONE
PPP.SEC_PAP
PPP.SEC_CHAP

The type of connection security.