ESP32 urequests.post时OSError: 23问题

文章讲述了在MicroPython环境中,使用超声波传感器获取距离数据并发送POST请求时遇到的问题。程序在执行11次后出现OSError:23,原因是未关闭HTTP连接。解决方案是在每次POST请求后添加response.close()来关闭连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接:https://forum.micropython.org/viewtopic.php?t=7771

出现问题的代码:

    while True:
        us_dis = sensor.distance_cm()   # 获取超声波计算距离 ,也可以调用sensor.distance_mm() 得到mm值
        print (us_dis, 'cm')            # 打印超声波距离值
        #data = "{\"value\":\"" + str(round(us_dis)) + "\"}"
        formatted_number = "{:04d}".format(round(us_dis))
        response = urequests.post(
            'http://192.168.43.178:8000/',
            headers = {'content-type': 'application/json'},
            json={
                "value": formatted_number
            }
        )

问题内容:

  • while 循环只成功执行了11次,之后便报错OSError: 23

问题原因:

  • 没有关闭连接

处理办法:

  • 在post完之后加入response.close()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值