python模块不断崩溃

时间:2019-06-10 16:41:49

标签: python-3.x

我正在尝试用树莓派零创建门铃。当我按下按钮时,它将向电报发送图片。该模块正常工作,但是在按下按钮几下后,模块崩溃了。

并在终端中看到错误:

*`python3'中的错误:两次释放或损坏(出):0x01f306e8 *

或者出现此错误:

  

python3:malloc.c:2406:sysmalloc:断言`(old_top == initial_top   (av)&& old_size == 0)|| ((无符号长)(old_size)> = MINSIZE &&   prev_inuse(old_top)&&((无符号长)old_end&(页面大小-1))==   0)'失败。

我希望有人知道如何解决该问题 非常感谢!

python

import time
import random
import datetime
import telepot
from telepot.loop import MessageLoop
from picamera import PiCamera
import pygame
from settings import getstring
import RPi.GPIO as GPIO

camera = PiCamera()

bot = telepot.Bot('TOKEN')
ring = 'tones/doorbell.mp3'
pin = 22
pressed = 0

pygame.mixer.init()
pygame.mixer.music.load(ring)

def sendpic(chat_id):
    camera.resolution = (1024, 768)
    camera.capture('snapshots/test.jpg')
    photo = open('snapshots/test.jpg', 'rb')
    bot.sendPhoto(chat_id, photo)

def handle(msg):
    chat_id = msg['chat']['id']
    command = msg['text']

    print('Got command: %s' % command)

    if command == '/roll':
        bot.sendMessage(chat_id, random.randint(1,6))
    elif command == '/time':
        bot.sendMessage(chat_id, str(datetime.datetime.now()))
        pygame.mixer.music.play()

        sendpic(chat_id)

MessageLoop(bot, handle).run_as_thread()
print('I am listening ...')

# Define GPIO -pins as standard
GPIO.setmode(GPIO.BCM)

# Define pin X as input and enable internal resistors
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# function for button press
while True:
    input_state = GPIO.input(pin)
    if input_state == False:
        pressed = 1
    else:
        if pressed == 1:
            print('Someone at the door.')
            pygame.mixer.music.play()

            pressed = 0

while 1:
    time.sleep(10)

0 个答案:

没有答案