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. NGUI图集切割代码

    原地址:http://blog.csdn.net/u011440375/article/details/9707491 因为最近工作用NGUI比较多,修改图集时还没原图,有时候需要把图集重新切割开来, ...

  2. [iOS开发] 使用Jenkins自动打包并上传至蒲公英

    设置构建触发器 Poll SCM H/2 * * * * 设置 构建脚本 # #xodebuild & jenkins 自动构建并上传至pgyer.com #2017年5月9日 # #定义一些 ...

  3. canvas锯齿

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 解决grep的结果无法显示文件名的问题

    有时候想在代码中执行某个关键词,会用下面的语句: find . -type f -name "*.java" | xargs grep -n "<keyword&g ...

  5. 【DB2】NVL2函数

    语法: NVL2(表达式1,表达式2,表达式3) 如果表达式1为空,返回值为表达式3的值.如果表达式1不为空,返回值为表达式2的值. 例子: SELECT ID, NVL2(SEX,'非空','空值' ...

  6. hibernate 一对多关联

    package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistenc ...

  7. ECS 实例网络带宽

    1. 带宽是否独享? 是独享. 2. 带宽单线还是双线,电信还是网通? 多线 BGP(中国电信.联通.移动.教育网等)接入,确保全国用户访问畅通. 3. 5 Mbps 带宽怎么理解? 5 Mbps 带 ...

  8. Sphinx-实战

    配置完成后, 有了数据源.索引文件存储位置等, 便可以使用 indexer 工具创建索引, 收集要被检索的数据 -c 指定配置文件 默认使用 etc/sphinx.conf --all 对所有索引重新 ...

  9. PhpStorm和PHPstudy配置调试参数(Xdebug),问题描述Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration.

    配置phpstrom的Xdebug 问题描述: Error. Interpreter is not specified or invalid. Press "Fix" to edi ...

  10. php里面的编码问题

    1 获取当前字符串的编码 $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312",& ...