Papercount

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from time import sleep
import RPi.GPIO as GPIO

def reading(sensor):
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)
TRIG = 11
ECHO = 13

if sensor == 0:
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG, GPIO.LOW)
time.sleep(0.3)

GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)

while GPIO.input(ECHO) == 0:
signaloff = time.time()

while GPIO.input(ECHO) == 1:
signalon = time.time()

timepassed = signalon - signaloff
distance = timepassed * 17000
return distance
GPIO.cleanup()
else:
print "Incorrect usonic() function varible."


def sheetwrite(p_distance):
import json
import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope=['https://spreadsheets.google.com/feeds']
credentials=ServiceAccountCredentials.from_json_keyfile_name('project-7766a0463656.json',scope)
gc=gspread.authorize(credentials)
wks=gc.open_by_key('1h41dJKqEmbHdZvM5zvM8MS4RJj7DxEicldyaa4ndC3E').sheet1

#各セルにアクセス
#print (wks.acell('A1'))
#print (wks.acell('B2'))

#書き換え
wks.update_acell('C4',p_distance)
print (wks.acell('C4'))




try:
p_count="false"
p_distance_before=0
while True:
p_distance_now=reading(0)
if p_count != "false":
p_distance_before=p_distance_now
p_count="true"
sheetwrite(p_distance_now)
else:
if abs(p_distance_before-p_distance_now)>2:
#print p_distance_now
p_distance_before=p_distance_now
sheetwrite(p_distance_now)
sleep(10)
except KeyboardInterrupt:
pass
GPIO.cleanup()

カラーセンサーS11059-02DT

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import smbus
import time
from datetime import datetime
from time import sleep
import RPi.GPIO as GPIO

def sheetwrite(p_distance):
import json
import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope=['https://spreadsheets.google.com/feeds']
credentials=ServiceAccountCredentials.from_json_keyfile_name('project-7766a0463656.json',scope)
gc=gspread.authorize(credentials)
wks=gc.open_by_key('1GqimZ714elIPRg_QHXSeWiObzr9W-f5g0BMv0Ts43cM').sheet1

#各セルにアクセス
#print (wks.acell('A1'))
#print (wks.acell('B2'))

#書き換え
wks.update_acell('B3',p_distance)
print (wks.acell('B3'))



def S11059_Sensor():
bus = smbus.SMBus(1)
addr = 0x2a
param=[0x0b,0x0a,0x09,0x08,0x03,0x02,0x01,0x00]

bus.write_byte_data(addr , 0x00, 0x80)
bus.write_byte_data(addr , 0x00, param[0] )
time.sleep(1)
data = bus.read_i2c_block_data(addr , 0x03, 8)
R = data[0] *256 + data[1]
return R

try:
while True:
p_light_R=S11059_Sensor()
if p_light_R >= 10000:
sheetwrite(datetime.now().strftime("%Y/%m/%d %H:%N:%S"))

print p_light_R
sleep(10)
except KeyboardInterrupt:
pass

距離センサーhcsr04

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

def reading(sensor):
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)
TRIG = 11
ECHO = 13

if sensor == 0:
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG, GPIO.LOW)
time.sleep(0.3)

GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)

while GPIO.input(ECHO) == 0:
signaloff = time.time()

while GPIO.input(ECHO) == 1:
signalon = time.time()

timepassed = signalon - signaloff
distance = timepassed * 17000
return distance
GPIO.cleanup()
else:
print "Incorrect usonic() function varible."

print reading(0)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#from oauth2client.service_account import ServiceAccountCredentials
import json
import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope=['https://spreadsheets.google.com/feeds']
credentials=ServiceAccountCredentials.from_json_keyfile_name('project-7766a0463656.json',scope)
gc=gspread.authorize(credentials)
wks=gc.open_by_key('1h41dJKqEmbHdZvM5zvM8MS4RJj7DxEicldyaa4ndC3E').sheet1

#各セルにアクセス
print (wks.acell('A1'))
print (wks.acell('B2'))

#書き換え
wks.update_acell('A1', u'Hello, gspread.')

既存のPDFに暗号化処理をする2

extrajarsの中にbcprov-jdk○○/bcpkix-jdk○○が入っているので外部参照に加える

package Chapter03StamUnder;

import java.io.FileOutputStream;
import java.io.IOException;


import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfEncryptor;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfWriter;


public class StamUnder {
public static void main(String[] args) {
//暗号化
try {
PdfEncryptor.encrypt(new PdfReader("C:\\java\\sample.pdf"),
new FileOutputStream("C:\\java\\EncryptedAganinSample.pdf"), "itextpdf".getBytes(), "2759".getBytes(),PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING,true);
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}

既存のPDFに暗号化処理をする1

extrajarsの中にbcprov-jdk○○が入っているので外部参照に加える

package Chapter03StamUnder;

import java.io.FileOutputStream;
import java.io.IOException;


import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;


public class StamUnder {
public static void main(String[] args) {
//暗号化
try {
//暗号化するための読み込みファイル
PdfReader reader = new PdfReader("C:\\java\\sample.pdf");
//暗号化されたファイルの設定
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
"C:\\java\\EncryptedSample.pdf"));
//ユーザーパスワード、オーナーパスワード、権限、暗号化強度の設定
stamper.setEncryption("itextpdf".getBytes(), "2759".getBytes(),
PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING,
PdfWriter.STANDARD_ENCRYPTION_40);
//stamperを閉じる
stamper.close();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}

PDFの指定ページを抽出して新しいPDFファイルを作る

package Chapter03StamUnder;

import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;


public class StamUnder {
public static void main(String[] args) {
try {
//読み込むPDFを指定
PdfReader reader = new PdfReader("C:\\java\\sample.pdf");
//奇数(odd)ページだけを選択する。renderは奇数ページしか残っていない
reader.selectPages("o");
//renderのページ数を調べる
int pages = reader.getNumberOfPages();
//新しいドキュメントを作る
Document document = new Document();
//
PdfCopy copy = new PdfCopy(document, new FileOutputStream(
"C:\\java\\SelectPageCopy.pdf"));
document.open();
//選択されたページ(奇数ページ)をコピーする
for (int i = 0; i < pages;) {
++i;
copy.addPage(copy.getImportedPage(reader, i));
}
//ドキュメントをクローズ
document.close();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}

複数のPDFファイルを連結する

package Chapter03StamUnder;

import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;


public class StamUnder {
public static void main(String[] args) {
try {
//1番目のコピードキュメント
PdfReader reader = new PdfReader("C:\\java\\sample.pdf");
//ドキュメントを作成
Document document = new Document(PageSize.A4);
//PdfCopyインスタンスを取得、オープン
PdfCopy copy = new PdfCopy(document, new FileOutputStream(
"C:\\java\\Copy3Pages.pdf"));
document.open();
//1番目:sample.pdfの1ページ目をコピーする
copy.addPage(copy.getImportedPage(reader, 1));
//2番目:spread.pdfの1ページ目をコピーする
reader = new PdfReader("C:\\java\\spread.pdf");
copy.addPage(copy.getImportedPage(reader, 1));
//3番目:image.pdfの1ページ目をコピーする
reader = new PdfReader("C:\\java\\image.pdf");
copy.addPage(copy.getImportedPage(reader, 1));
//ドキュメントクローズ
document.close();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}