1. 程式人生 > >樹梅派-溫溼度感測器

樹梅派-溫溼度感測器

#!/usr/bin/python
#coding=utf-8
 

import RPi.GPIO as GPIO

import time

import requests

import urllib

import urllib2

import random

import MySQLdb

from ftplib import FTP

import sys,getpass,os.path
 
import os  
  
#print time.time()  
aa=time.strftime('%m%d%H%I%M',time.localtime(time.time()))  
print aa  
bb=int(aa)
tt=2000

 

 

while True:

    channel = 17

    data = []

    j = 0

    GPIO.setmode(GPIO.BCM)

    time.sleep(1)

    GPIO.setup(channel, GPIO.OUT)

    GPIO.output(channel, GPIO.LOW)

    time.sleep(0.02)

    GPIO.output(channel, GPIO.HIGH)

    GPIO.setup(channel, GPIO.IN)

    while GPIO.input(channel) == GPIO.LOW:

             continue

    while GPIO.input(channel) == GPIO.HIGH:

            continue

    while j < 40:

            k = 0

            while GPIO.input(channel) ==GPIO.LOW:

                    continue

            while GPIO.input(channel) ==GPIO.HIGH:

                    k += 1

                    if k > 100:

                            break

            if k < 8:

                    data.append(0)

            else:

                    data.append(1)

            j += 1

    print "sensor is working."

    print data

    humidity_bit = data[0:8]

    humidity_point_bit = data[8:16]

    temperature_bit = data[16:24]

    temperature_point_bit = data[24:32]

    check_bit = data[32:40]

    humidity = 0

    humidity_point = 0

    temperature = 0

    temperature_point = 0

    check = 0

    for i in range(8):

            humidity += humidity_bit[i] * 2 **(7 - i)

            humidity_point +=humidity_point_bit[i] * 2 ** (7 - i)

            temperature += temperature_bit[i] *2 ** (7 - i)

            temperature_point +=temperature_point_bit[i] * 2 ** (7 - i)

            check += check_bit[i] * 2 ** (7 -i)

    tmp = humidity + humidity_point +temperature + temperature_point 
    random1=random.randint(10, 100)
    print "temperature : ",temperature, ", humidity : " , humidity, ", random1: " ,random1
    conn= MySQLdb.connect(  
                host='172.21.2.248',  
                port = 3306,  
                user='root',  
                passwd='111111',  
                db ='15jsj118',  
                )  
    cur = conn.cursor()  
        # cur.execute("creat table if not exists temp(time int,temperature int,humidity int)")  
    cur.execute("insert into sensor values('%d','%d','%d','%d','%d','%d')"%(tt,temperature,humidity,bb,random1,random1))  
    cur.close()  
    conn.commit()  
    conn.close()  
    tt=1+tt;
    GPIO.cleanup()
    time.sleep(10)