Skip to main content

Asynchronous websocket client for ESP32 controller.

Project description

micropython-async_websocket_client

This module is designed for ESP32 (and other) controllers. Goal: create and keep alive connection channel with websocket server. You may send captured data from controlled devices through this channel to server and accept managing signals on your controller. This data channel works as background task while main control cycle is running too. The break of websocket channel doesn't corrupt main cycle of control.

This project based on: https://github.com/danni/uwebsockets https://github.com/peterhinch/micropython-async

My gratitudes to authors.

requirements

This module is designed and tested on ESP32S-WROOM-32. Development and tests were done based on esp32-20220618-v1.19.1.bin.

installation

Run this commands on your controller:
You have to reflash your board with [micropython](https://micropython.org/).
Details are explained in https://github.com/Vovaman/start_ESP32_with_micropython.
You may use VSCode as explained in link above or use `picocom` tool (also explained) to connect your board and run python console (REPL) on it.
So, after you are in your board...
>>> import network
>>> wifi = network.WLAN(network.STA_IF)
>>> wifi.active(1)
>>> wifi.connect(<name_of_your_wifi_net>, <wifi_password>)
>>> import upip
>>> upip.install('micropython-async-websocket-client')

All needed dependencies are in esp32-20220618-v1.19.1.bin.

example

Sample using of this module is in https://github.com/Vovaman/example_async_websocket.

0.2.0

Fix for big data packet. Author: mutatrum

0.1.9

Method close() is added and example project (see link above) is changed to demonstrate it.

0.1.8

Partial support for wss protocol is added. Author: huytranle

Disclaimer! Server and client certificates verification is not supported in this version. Waiting for new micropython release...

0.1.7

Websocket can send custom headers to server in handshake function. Author: pluzmedia

0.1.6

First release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page