1、mysql

http://dev.mysql.com/doc/refman/5.5/en/tutorial.html

mysql+python

http://dev.mysql.com/doc/connector-python/en/connector-python-examples.html

先打开数据库连接:

conn=mdb.connect(host="localhost",user='root',passwd='******',db='sensor',charset='utf8')

再取得指针

cur=conn.cursor()

执行sql语句字符串

sql="insert into infrared_sensor(record_time,in_range) values(now(),'%s')"%param
cur.execute(sql)

提交事务,关闭指针,关闭连接

conn.commit()
cur.close()
conn.close()


# -*- coding: utf-8 -*-
"""
Created on Mon Feb 3 21:23:08 2014 @author: pi
""" import smtplib
from email.mime.text import MIMEText
import RPi.GPIO as gpio
import MySQLdb as mdb
import time mail_to="*******@qq.com" def store_in_database(param):
conn=mdb.connect(host="localhost",user='root',passwd='******',db='sensor',charset='utf8')
cur=conn.cursor()
sql="insert into infrared_sensor(record_time,in_range) values(now(),'%s')"%param
cur.execute(sql)
conn.commit()
cur.close()
conn.close() def send_mail(to_list,title,content):
mail_host="smtp.126.com"
mail_user="*****"
mail_pass="******"
mail_postfix="126.com"
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg=MIMEText(content)
msg['Subject']=title
msg['From']=mail_user
msg['To']=to_list mail=smtplib.SMTP()
mail.connect(mail_host)
mail.login(mail_user,mail_pass)
mail.sendmail(me,to_list,msg.as_string())
mail.close() def is_anybody_home():
gpio.setwarnings(False)
gpio.setmode(gpio.BOARD)
gpio.setup(22,gpio.IN)
if gpio.input(22)==1:
return 1
else:
return 0 current_time="%d" % time.localtime().tm_hour+":"+ "%d" % time.localtime().tm_min if is_anybody_home()==1:
send_mail(mail_to,"Is someone in sensor range?--"+current_time,"Yes--"+current_time)
param="Yes"
store_in_database(param)
else:
send_mail(mail_to,"Is someone in sensor range?--"+current_time,"No--"+current_time)
param="No"
store_in_database(param)

【Raspberry pi+python+mysql】红外传感器-发邮件-存数据库的更多相关文章

  1. (RaspBerry Pi) Python GPIO 基本操作

    目前打算由潛入深慢慢學習RaspBerry Pi, 所以先由最容易下手的Python進入樹莓派的世界 首先要使用 GPIO 需要利用RPI.GPIO package想當然爾必須先安裝 所以先執行下列命 ...

  2. 手把手教你使用Python轻松搞定发邮件

    前言 现在生活节奏加快,人们之间交流方式也有了天差地别,为了更加便捷的交流沟通,电子邮件产生了,众所周知,电子邮件其实就是客户端和服务器端发送接受数据一样,他有一个发信和一个收信的功能,电子邮件的通信 ...

  3. Python+selenium自动循环发邮件

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  4. python使用网易邮箱发邮件

    # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText import email.mime.multip ...

  5. 用Python的smtp模块发邮件的示例

    # -*- coding: UTF-8 -*- import smtplib from email.mime.multipart import MIMEMultipart from email.mim ...

  6. Python 小练习三 发邮件

    import smtplib,os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipar ...

  7. Python+selenium整合自动发邮件功能

    主要实现的目的是:自动将测试报告以邮件的形式通知相关人员 from HTMLTestRunner import HTMLTestRunner import HTMLTestReport from em ...

  8. 检测MYSQL不同步发邮件通知的脚本

    脚本代码如下:#!/bin/bash                                                                                   ...

  9. python 向qq邮箱发邮件

    #coding:utf-8 ''' Created on 2017-1-12 @author: xiaochun ''' import smtplib from email.mime.text imp ...

随机推荐

  1. 解决ios7.0 以后自己定义导航栏左边button靠右的问题

    1.自己定义button //左button UIButton *leftBtn = [[UIButton , , , )]; [leftBtn addTarget:self action:@sele ...

  2. 算法笔记_086:蓝桥杯练习 9-2 文本加密(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B" ...

  3. 保存登陆username和password

    在一些软件中登陆时保存username和password是常见的功能,它实现起来也特别简单,其原理就是在点击登陆button时推断是否勾选保存password选项,假设勾选,则在内存中保存一份包括us ...

  4. 把IIS日志导入到数据库

    1.建表 CREATE TABLE [dbo].[inetlog0828]( [date] [date] NULL, ) NULL, ) NULL, ) NULL, ) NULL, ) NULL, [ ...

  5. 两名技术人员,历经8小时Piranha Games成功集成Xsolla

    w=580&h=304" alt="" width="580" height="304" style="max- ...

  6. iOS开发一个制作Live Photo的工具

    代码地址如下:http://www.demodashi.com/demo/13339.html 1.livePhoto简介 livePhoto是iOS 9.0 之后系统相机提供的拍摄动态照片的功能,但 ...

  7. Android数据格式解析对象JSON用法

    1.JSON概念: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON可以将 ...

  8. python-循环while

    while 只要…条件成立,就一直做…. for 循环会在可迭代的序列被穷尽的时候停止,while 则是在条件不成立的时候停止,因此 while 的作用概括成一句话就是:只要…条件成立,就一直做…. ...

  9. git diff 文件对比

    1.  git diff  filepath 工作区与暂存区比较 2. git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 3. git diff --stage ...

  10. loading数据加载的6种形式

    数据加载的几种形式及对应的交互设计 1.全屏加载 多出现在H5页面,例如微信的文章详情页.全屏加载的特点是数据一次性加载完成,内容加载完成之前界面都会停留在loading界面.进度条和有趣的动画设计, ...