1-1-2. 気象情報のメール送信 Python PGM List


DOCOMO メール送信結果。

#! /usr/bin/env /usr/bin/python
# -*- coding: utf-8 -*-

import datetime
import time
import signal, sys
from Adafruit_ADS1x15 import ADS1x15
import smbus
import mpl1152a2
from acm1602 import acm1602
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

# アナログ変換セットアップ
ADS1015 = 0x00
ADS1115 = 0x01
gain = 4096
sps = 250
adc = ADS1x15( ic=ADS1015 )

# メールセットアップ
def create_message2(from_addr, to_addr, subject, body, encoding):
    # 'text/plain; charset="encoding"'というMIME文書を作ります
    msg = MIMEText(body, 'plain', encoding)
    msg['Subject'] = Header(subject, encoding)
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()
    return msg

def send_via_gmail(from_addr, to_addr, msg):
    s = smtplib.SMTP('smtp.gmail.com', 587)
    s.ehlo()
    s.starttls()
    s.login ('メールアドレス@gmail.com', 'パスワード')
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()

# ループ
SLEEPTIME = 3600
while True:

	# 日時取得
	d1 = datetime.datetime.today()
	d2 = datetime.datetime.strftime(d1,"%Y-%m-%d/%H:%M:%S")

	# 照度取得
	volts = adc.readADCSingleEnded( 0, gain, sps ) / 1000
#if volts > 1:
#	print( "Well Lighted : " + str(volts) + "V" )
#else:
#	print( "Dark : " + str(volts) + "V" )

	# 湿度・気温・気圧取得
	i2c_channel = 1
	i2c = smbus.SMBus( i2c_channel )
	dac = i2c.read_i2c_block_data( 0x27, 0, 4 )
	h = ( ( dac[0] & 0x3f ) << 8 ) | dac[1]
	humi = (float)(h) / 16383 * 100
	t = ( dac[2] << 6 ) | (dac[3] >> 2)
	temp = (float)(t) /16383 * 165 - 40
	pres = mpl1152a2.getpressur( i2c_channel )

	# メール送信
	if __name__ == '__main__':
	    from_addr = 'xxxxx@gmail.com'
	    to_addr = 'yyyyy@hotmail.co.jp'
	    subject = u'3F-気象情報'.encode('ISO-2022-JP')
	    body = '%s\n' % d2  + u' 照度 :
	     ' + str(volts) + " V\n" + u' 温度 :
	     %.2f C\n' % temp  + u" 湿度 :
	     %.2f %%\n" % humi + u" 気圧 :
	     %.2f hPa\n" % pres + u"onjipi より、送信しています。\n"
	    msg = create_message2(from_addr, to_addr, subject, body,'ISO-2022-JP')
	    send_via_gmail(from_addr, to_addr, msg)

	time.sleep( SLEEPTIME )
	



スポンサー リンク




関連ページ


スポンサー リンク


スポンサー リンク