micropython / micropython/micropython-lib

Raspberry Pi Pico W - umqtt clean_session=False -[Errno 12] ENOMEM

Aperta
#556 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
2.9k
Fork
1.1k
Merge medio
7g 6h
PR unite (30g)
3

Descrizione

Hello,
I'm using a raspberry pi pico w to connect to a mqtt server. The clean sesssion connection works pretty well but when I try to use client.connect(False) it returns the error: OSError: [Errno 12] ENOMEM

Here a snippet of the code:

`
from umqtt.robust import MQTTClient
def mqtt_connect():

client = MQTTClient(client_id, mqtt_server, port, username, pwd,  keepalive=3600)
client.set_callback(on_message)
client.on_message = on_message
while (client.connect(False) != 0):
    print('Waiting for MQTT connection...')
    sleep(1)
print('Connected to %s MQTT Broker'%(mqtt_server))
client.subscribe(topic_sub)
print("Connected to %s, subscribed to %s topic" % (mqtt_server, topic_sub))

return client

`
and the Error:

Waiting for MQTT connection...
Waiting for MQTT connection...
Waiting for MQTT connection...
Waiting for MQTT connection...
Waiting for MQTT connection...
Traceback (most recent call last):
File "", line 189, in
File "", line 71, in mqtt_connect
File "/lib/umqtt/simple.py", line 66, in connect
OSError: [Errno 12] ENOMEM

Can you help me please?

Thanks

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riprodurre il percorso di connessione segnalato su un Raspberry Pi Pico W usando lo snippet mqtt_connect fornito, confrontando client.connect(False) con la connessione clean-session funzionante. Esaminare quindi /lib/umqtt/simple.py in connect, in particolare il percorso raggiunto da connect(False); il lavoro è completato quando viene identificata la causa di ENOMEM e il comportamento viene documentato o corretto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, raspberry-pi
Ambito
embedded-iot, networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.