カメラの分(キャプチャのみ)
# 元のコード https://tony-mooori.blogspot.com/2015/10/pythonwebpython.html
# カメラ選択 https://crimnut.hateblo.jp/entry/2018/04/04/123147
# -*- coding: utf-8 -*-
import numpy as np
import cv2
from time import sleep
#引数0でデフォルトのカメラ(デスクトップ)、-1で接続されたカメラ
cap = cv2.VideoCapture(0)
while(True):
# フレームをキャプチャする
ret, frame = cap.read()
# 画面に表示する
cv2.imshow('frame',frame)
# キーボード入力待ち
key = cv2.waitKey(1) & 0xFF
# qが押された場合は終了する
if key == ord('q'):
break
# sが押された場合は保存する
if key == ord('s'):
path = "photo.jpg"
cv2.imwrite(path,frame)
# キャプチャの後始末と,ウィンドウをすべて消す
cap.release()
cv2.destroyAllWindows()
python読みとり(温度)
# -*- coding: utf-8 -*-
import numpy as np
import serial
import datetime
import re
from time import sleep
def queue(src, a):
dst = np.roll(src, -1)
dst[-1] = a
return dst
def main():
# 1次元配列の生成
temps = np.zeros(10)
ser = serial.Serial('COM3') # Arduinoが接続されているコムポートを指定
todaydetail = datetime.datetime.today()
line = ser.readline() # 行終端まで読み込む
temp = line.rstrip() # 行終端コード削除
temp_a = str(temp).split(",")
t = int(re.sub("\\D", "", str(temp_a[0])))/100
h = int(re.sub("\\D", "", str(temp_a[1])))
# キュー操作
print(todaydetail.strftime("%Y/%m/%d %H:%M:%S"),t,h)
ser.close()
i = 0
while(True):
i = i+1
main()
sleep(1)
if i == 10:
break
arduino分(温度)
#include <DHT.h> //ライブラリ読み込み
#include<Wire.h>
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
const int DHTPIN=7; //7番pinをDHTpinに設定
#define DHTTYPE DHT11 // DHTの種類をDHT 11に設定
DHT dht(DHTPIN, DHTTYPE);//DHT11に関する情報を入力
Adafruit_SSD1306 display(-1);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Serial.begin(9600); //9600bpsでシリアルポートを開く
dht.begin(); //DHT11による計測開始
}
void loop() {
float h = dht.readHumidity(); // 湿度を測定
float t = dht.readTemperature(); // 温度を摂氏で測定
Serial.print(String(t,1));
Serial.print(",");
Serial.println(String(h,0));
// ディスプレイをクリア
display.clearDisplay();
// 出力する文字の大きさ
display.setTextSize(2);
// 出力する文字の色
display.setTextColor(WHITE);
// 文字の一番端の位置
display.setCursor(10, 10);
// 出力する文字列
// display.println();
display.print(String(t,1));
display.print(" / ");
display.print(String(h,0));
// ディスプレイへの表示
display.display();
delay(2000);
}
ラズパイ(うまくいかない)
import re
from time import sleep
def queue(src, a):
dst = np.roll(src, -1)
dst[-1] = a
return dst
def main():
# 1次元配列の生成
temps = np.zeros(10)
ser = serial.Serial('/dev/ttyUSB0') # Arduinoが接続されているコムポートを指定
line = ser.readline() # 行終端まで読み込む
temp = line.rstrip() # 行終端コード削除
temp_a = str(temp).split(",")
v = int(re.sub("\\D", "", str(temp_a[0])))
# キュー操作
print(v)
ser.close()
i = 0
while(True):
i = i+1
main()
if i == 100:
break