[PYTHON] Verwendung des digitalen Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi

Neben Temperatur- und Feuchtigkeitssensoren gibt es einen Beleuchtungsstärkesensor als benutzerfreundlichen Sensor. Das Gerät kann in Lux gemessen werden. Dieses Mal haben wir einen digitalen Beleuchtungsstärkensensor von Adafruit TSL2561 vorbereitet. Es gibt auch einen menschlichen Sensor, der Infrarotstrahlen als optischen Sensor verwendet. Es scheint, dass Sie so etwas wie IoT tun können, wenn Sie es in Kombination verwenden.

Breadboard-Verkabelung

Die Verkabelung des Steckbretts ist eine Arduino-Version auf Adafruits Website, kann jedoch unter TSL2561 Luminosity Sensor abgerufen werden.

Wenn die Verkabelung erfolgreich ist, können Sie die 0x39-Adresse überprüfen.

$ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

I2C-Treiber

Python 2

Der Treiber zum Abrufen der Daten vom I2C-Bus ist [Adafruit_I2C.py] im Python-Repository Adafruit-Raspberry-Pi-Python-Code. ](Https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/blob/master/Adafruit_I2C/Adafruit_I2C.py) wird verwendet. Dieser Treiber funktioniert mit Python 2, das standardmäßig auf dem Raspberry Pi installiert ist.

$ cd ~/python_apps
$ git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code
$ cd Adafruit-Raspberry-Pi-Python-Code/Adafruit_I2C

Python 3

Quick2Wire wird auch in RPi-Light-Sensor verwendet. Ich werde. Ich habe Python 3 nicht auf meinem Raspberry Pi installiert, daher bereite ich eine virtuelle Umgebung vor und verwende sie beim nächsten Mal.

TSL2561-Programm

Das Programm zum Messen der Beleuchtungsstärke von TSL2561 ist [TSL2561.py](https: // github. com / seanbechhofer / raspberrypi / blob / master / python / TSL2561.py) wird eingeführt.

Außerdem hat Raspberry Pi Hacks tsl2561-lux.py. Die Methode -lux.py) wird veröffentlicht. Beide haben fast den gleichen Code, aber dieses Mal werde ich tsl2561-lux.py aus dem Repository rpihacks in das Verzeichnis Adafruit_I2C herunterladen und verwenden.

$ cd ./Adafruit_I2C
$ wget https://raw.githubusercontent.com/spotrh/rpihacks/master/tsl2561-lux.py
$ chmod +x tsl2561-lux.py

Selbst wenn Sie das Ende von "tsl2561-lux.py" auskommentieren, kann es extern als Modul aufgerufen werden.

~/python_apps/Adafruit-Raspberry-Pi-Python-Code/Adafruit_I2C/tsl2561-lux.py


...
#oLuxmeter=Luxmeter()

#print "LUX HIGH GAIN ", oLuxmeter.getLux(16)
#print "LUX LOW GAIN ", oLuxmeter.getLux(1)
#print "LUX AUTO GAIN ", oLuxmeter.getLux()

Leider enthält der Dateiname Bindestriche, sodass Python ihn nicht so importieren kann, wie er ist. Durch Unterstrich ersetzen, um eine symbolische Verknüpfung zu erstellen.

$ ln -s tsl2561-lux.py tsl2561_lux.py

Erstellen Sie "tsl2561.py" als Einstiegspunkt, um die Beleuchtungsstärke mithilfe der Luxmeter-Klasse zu messen.

~/python_apps/Adafruit-Raspberry-Pi-Python-Code/Adafruit_I2C/tsl2561.py


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

from time import sleep
from tsl2561_lux import Luxmeter

if __name__ == "__main__":

    while True:
        tsl=Luxmeter()
        sensor_value = tsl.getLux()
        print(sensor_value)
        sleep(5)

Lauf

Führen Sie das Programm aus, das die Beleuchtungsstärke in Intervallen von 5 Sekunden misst. Das Gerät ist Lux. Die Daten weisen Abweichungen auf, wahrscheinlich aufgrund der sofortigen Messung.

$ chmod u+x tsl2561.py
$ ./tsl2561.py
1691.71324345
961.73944068
1274.95548759
690.479479419
14.30208
0
11.50656
388.866054431
1316.01531121
0
0

Beleuchten Sie den Sensor mit der Taschenlampen-App des iPhones, um Ihr Aussehen zu verbessern. Das nächste Mal werde ich versuchen, stabile Daten durch Messen in einem pechschwarzen Raum zu erhalten.

19088.793866
0
0

UPDATE 2015-05-25

Ich habe das Programm so geändert, dass es in MQTT veröffentlicht wird, wenn es 500 Lux überschreitet. Das Messintervall wird ebenfalls auf 3 Sekunden verkürzt.

~/meshblu/publish.py


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

from time import sleep
from tsl2561_lux import Luxmeter
import paho.mqtt.client as mqtt
import json

def sensor():
    sensor = W1ThermSensor()
    celsius = sensor.get_temperature()
    return celsius

def on_connect(client, userdata, rc):
    print("Connected with result code " + str(rc))

def on_publish(client, userdata, mid):
    print("publish: " + str(mid))

def main():
    client = mqtt.Client(client_id='',clean_session=True,
        protocol=mqtt.MQTTv311)

    client.username_pw_set("{username}","{password}")
    client.connect("{mqtt_broker_host}", 1883, 60)

    client.on_connect = on_connect
    client.on_publish = on_publish

    tsl=Luxmeter()

    while True:
        sensor_value = tsl.getLux()
        print(sensor_value)
        if sensor_value > 500.0:
            message = json.dumps(dict(trigger="on"))
            client.publish("data",message)
        sleep(3)
if __name__ == '__main__':
    main()

Ich zog in einen dunklen Raum und testete ihn. Eine genaue Messung ist möglich, wenn die Beleuchtungsstärke stabil und dunkel ist. Es scheint 0 zu sein, wenn sich die Beleuchtungsstärke zu stark ändert. Ich brachte das iPhone-Licht langsam näher und veröffentlichte es zweimal.

$ python ./publish.py
1.42263737647
1.42263737647
1.42263737647
1.42263737647
1.42263737647
1.42263737647
1.42263737647
781.750737506
publish: 1
1212.30526902
publish: 2
2.45526898227
1.48479374557
119.459947915
287.1274
45.49168
0
0
1.45533948132
1.41892978382
1.41892978382

Recommended Posts

Verwendung des digitalen Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi
Ein Memo zur einfachen Verwendung des Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi 2
Versuchen Sie es mit dem Temperatursensor (LM75B) mit Raspeye.
Ich habe die Beleuchtungsstärke des Raumes mit Raspberry Pi, Arduino und einem optischen Sensor getwittert
Verwendung des digitalen 1-Draht-Temperatursensors DS18B20 mit Raspberry Pi von Python
Verwenden einer Webkamera mit Raspberry Pi
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Verwenden Sie den Grove-Sensor mit Raspberry Pi
Verbesserter menschlicher Sensor mit Raspberry Pi
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Protokollieren Sie die Omron-Umgebungssensorwerte regelmäßig mit Raspberry Pi
Protokollierung der Omron-Umgebungssensorwerte mit Raspberry Pi (USB-Typ)
Beobachten Sie die Futago-Meteorgruppe mit Raspberry Pi4
Lassen Sie den Summer mit Python auf Raspberry Pi 3 erklingen!
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Mit Akizuki Denshis 4WD Auto FT-MC-004 mit Raspberry Pi
Stellen wir uns den Raum mit Raspeltorte vor, Teil 1
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Verwirklichen Sie ein Super-IoT-Haus, indem Sie mit Raspberry Pi Sensordaten im Haus erfassen
Innenüberwachung mit Raspberry Pi
Spielen Sie mit dem Raspberry Pi Zero WH-Kameramodul Teil 1
Überprüfen Sie! Erhalten Sie Sensordaten über Bluetooth mit Raspberry Pi ~ Preparation
Holen Sie sich das Wetter mit API und lassen Sie Raspberry Pi sprechen!
Ich wollte den Motor mit einer Raspeltorte laufen lassen, also habe ich versucht, das Motor Driver Board von Waveshare zu verwenden
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
USB über Ethernet mit Raspberry pi
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe gelernt, wie die Infrarot-Fernbedienung mit Raspberry Pi funktioniert
Serielle Kommunikation mit Raspberry Pi + PySerial
Machen Sie einen einfachen CO2-Inkubator mit Raspberry PI und CO2-Sensor (MH-Z14A)
Betriebssystem-Setup mit Raspberry Pi Imager
Versuchen Sie es mit ArUco mit Raspberry Pi
Probieren Sie L Chika mit Himbeerpi
Verwenden Sie "TSL2561 Beleuchtungssensormodul (Hersteller-Teilenummer: TSL2561)", hergestellt von Strawberry Linux mit Rasberry pi 3 (Zusammenfassung)
Aufbau eines VPN-Servers mit Raspberry Pie
Raspberry Pi --1 - Zum ersten Mal (Schließen Sie einen Temperatursensor an, um die Temperatur anzuzeigen)
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
[Hinweis] Verwenden eines 16x2-stelligen LCD-Zeichens (1602A) von Python mit Raspeye
Erkennen Sie analoge Signale mit dem A / D-Wandler mithilfe von Python auf Raspberry Pi 3!
Hinweis: Ich möchte die Heimautomation mit Home Assistant + Raspberry Pi + Sensor Nr. 1 durchführen
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Erfassen Sie den Sensorwert von Grove Pi + mit Raspberry Pi und speichern Sie ihn in Kintone
Messen Sie die SIM-Signalstärke mit Raspberry Pi
Haustierüberwachung mit Rekognition und Raspberry pi
Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3!
Hinter dem Flyer: Docker mit Python verwenden
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Versuchen Sie, die Kamera mit Pythons OpenCV zu verwenden
Verwenden Sie OpenJtalk, damit Raspberry Pi Japanisch spricht
Versuchen Sie, mit Raspberry Pi nach Wakasagi zu fischen
Arbeiten mit OpenStack mit dem Python SDK