Какая наиболее вероятная проблема в моем сценарии RPI OS?Python

Программы на Python
Ответить
Anonymous
 Какая наиболее вероятная проблема в моем сценарии RPI OS?

Сообщение Anonymous »

Итак, моя проблема: я создал скрипт, частично скопированный с: https://issuu.com/themagpi/docs/issue27final/17?e=1, для отправки электронного письма, когда контакт на GPIO RPI становится высоким. Мне пришлось вручную исправлять все, что сломалось между Python1 и Python3, в командной строке оно не меняется с 0 на 1. Я пробовал заменить провода, но на этом все, так как я новичок. Вот мой код:
#/usr/bin/python

# Note: you must change lines 25-27

# Import Stuff
import subprocess

import RPi.GPIO as GPIO, feedparser
from time import sleep
import smtplib, os, sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

GPIO.setwarnings (False)
GPIO.setmode(GPIO.BOARD)

# Set up GPIO Inputs
# Yellow Input
GPIO.setup(7, GPIO.IN)

# Send email message and photo from Gmail
def send_email(msg):
# Change these 3 lines to your details.
USERNAME = "elislagle2012@gmail.com"
PASSWORD = "your Gmail password"
MAILTO = "elislagle2012@gmail.com"

msg['From'] = USERNAME
msg['To'] = MAILTO

server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo_or_helo_if_needed()
server.starttls()
server.ehlo_or_helo_if_needed()
server.login(USERNAME, PASSWORD)
server.sendmail(USERNAME, MAILTO, msg.as_string())
server.quit()

print("Email sent to: " + MAILTO)

# Send email when fire alarm activated
def Send_firealarm_email():
print("Fire Alarm Activated")
msg - MIMEMultipart()
msg.attach(MIMEText('Fire Alarm on Zone 1'))
msg['Subject'] - 'Fire Alarm Notification'
send_email(msg)

player = subprocess.Popen(["mplayer", "song.mp3", "-ss", "30"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# Send email when fire alarm off
def Send_cancel_email():
print("Fire Alarm Reset")
msg - MIMEMultipart()
msg.attach(MIMEText('Fire Alarm Canceled'))
msg['Subject'] - 'Fire Alarm Canceled'
send_email(msg)

player.stdin.write("q")

# Main control loop
while True:
Input_yellow = GPIO.input(7)
print(Input_yellow)
if Input_yellow == True:
Send_firealarm_email()

# if Input_yellow == False:
# Send_cancel_email()


Подробнее здесь: https://stackoverflow.com/questions/792 ... -os-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»