raspberry pi pico wでメモリ不足のエラーを防ぐ方法

ラズベリーパイピコをmicropythonにて動作テスト中、
メモリ不足を表すエラー「OSError: [Errno 12] ENOMEM」が発生します

ラズベリーパイピコのメモリは256KB程度であり、
メッセージを送った程度ではいっぱいになるはずがないと思うのですが、
メモリ不足エラーを解消する方法はないでしょうか

・発生している問題・エラーメッセージ

message=red right
message=red right remind
message=red right remind
message=red right remind
message=red right remind
message=red right remind
Traceback (most recent call last):
File "<stdin>", line 39, in <module>
File "urequests.py", line 184, in post
File "urequests.py", line 83, in request
OSError: [Errno 12] ENOMEM

・ソースコードは以下の通りになります

import machine,utime,time,network, urequests
from utime import sleep

「ssid」ファイルにてSSIDとパスワードを読み込む

from ssid import SSID, PASS

ラズベリーパイピコがcds光センサーから光を受け取る

cds = machine.ADC(0)

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASS)

line_header = {
'Content-Type' : 'application/x-www-form-urlencoded',
'Authorization': 'Bearer' + ' ' + '(LINE API)' }

赤ライト リマインド3秒おきに5回
パトライトの明かりが30000以上になったらライトが点灯しているとみなす

while True:
if cds.read_u16() > 30000:
line_message = 'message=' + 'red right'
print(line_message)
urequests.post('https://notify-api.line.me/api/notify', headers = line_header, data = line_message)
time.sleep(3.0)
for i in range(5,0,-1):

リマインド中に明かりが30000を下回ったら作業者がライト消したとみなして、再度ループ

if cds.read_u16() < 30000: line_message = 'message=' + 'right off' print(line_message) urequests.post('https://notify-api.line.me/api/notify', headers = line_header, data = line_message) break line_message = 'message=' + 'red right remind' print(line_message) urequests.post('https://notify-api.line.me/api/notify', headers = line_header, data = line_message) time.sleep(3.0) line_message = 'message=' + 'remind end' print(line_message) urequests.post('https://notify-api.line.me/api/notify', headers = line_header, data = line_message) while True:

リマインド完了後、明かりが消えるまで待機
明かりが消えたら、改めてプログラムを最初から

if cds.read_u16() < 30000: line_message = 'message=' + 'restart' print(line_message) urequests.post('https://notify-api.line.me/api/notify', headers = line_header, data = line_message) machine.reset() else: time.sleep(5.0) else: time.sleep(5.0)

コメントを投稿

0 コメント