Форум сайта python.su
0
Всем Привет! Прошу помочь в написании кода!
Есть ардуинка к ней прицепил датчик влажности и температуры.
Питон : нужно считать с ком порта данные влажности и температуры и отправлять их на почту
Условие что если температура больше 25 градусов то он с переодичностью 1 минуту отправляет на почту: температура такая то и влажность такая то. Если меньше то отправлять ничего не надо
Офлайн
61
https://www.instructables.com/id/Arduino-Python-Communication-via-USB/
Расписано и понятно как соединиться
отправка письма с питона ровно как и проверка данных вообще плевое задание и примеров кода в интернете просто огромное количество.
Добейтесь того что бы получать данные с вашей ардуины - а там уже совсем все просто будет.
Офлайн
0
Как отправлять я знаю. А как считать инфу с порта и отправлять ее на почту не понимаю.
Офлайн
294
Makerвам же ZerG ссылочку дал, там все расписано , с картинками как для 3-х летних детей.
А как считать инфу с порта и отправлять ее на почту не понимаю.
[code python][/code]
Офлайн
0
PEHDOMЯ не понимаю. Как код будет выгледить ? Если температура выше 25 градусов то отправлять внимание температура 25 градусов и влажность 77 процентов
Офлайн
27
Обработка данных, полученных с ардуинки, зависит от того в каком формате поступают. Исходя из этого пишется код, “расшифровывающий” результаты. Не зная что и как грузится с COM порта ничего определённого сказать невозможно.
Насчёт
Makerздесь хорошо подойдут if-ы, вывод результата можно сделать на консоль через print, можно даже запустить какой-либо звуковой файл, например через проигрыватель командой os.startfile(“имя_твоего_файла.mp3”)
Если температура выше 25 градусов то отправлять внимание температура 25 градусов и влажность 77 процентов
Офлайн
61
Для начала покажите в каком формате вы получаете данные.
Ну и собственно сам код которых их получает.
Офлайн
6
В самом Ардуино можно писать скетчи на сях и отправлять куда нужно. Если уж надо питон и через комп то надо получить данные с порта и уже их обрабатывать с условиями.
Офлайн
6
на почту отправить не проблема
def mail(text): import smtplib #Параметр, передаваемый при запуске скрипта: txtparam= text #От кого: fromaddr = 'Mr. Robot <От кого@gmail.com>' #Кому: toaddr = 'Administrator <кому@gmail.com>' #Тема письма: subj = 'Notification from system' #Текст сообщения: msg_txt = 'Notice:\n\n ' + txtparam + '\n\nBye!' # #Создаем письмо (заголовки и текст) msg = "From: %s\nTo: %s\nSubject: %s\n\n%s" % ( fromaddr, toaddr, subj, msg_txt) #Логин gmail аккаунта. Пишем только имя ящика. #Например, если почтовый ящик someaccount@gmail.com, пишем: username = 'someaccount' #Соответственно, пароль от ящика: password = 'xxxxxxxxx' #Инициализируем соединение с сервером gmail по протоколу smtp. server = smtplib.SMTP('smtp.gmail.com:587') #Выводим на консоль лог работы с сервером (для отладки) server.set_debuglevel(1); #Переводим соединение в защищенный режим (Transport Layer Security) server.starttls() #Проводим авторизацию: server.login(username,password) #Отправляем письмо: server.sendmail(fromaddr, toaddr, msg) #Закрываем соединение с сервером server.quit()
Отредактировано Kasta_neda (Ноя. 3, 2018 10:43:54)
Офлайн