Magnetic contact state monitor
Project description
Magnetic contact state monitor, completely written in Python.
RPi.MC is using magnetic contact switch (door/window sensor) with Raspberry Pi GPIO.
To connect to Raspberry Pi plug into GPIO PIN 17 (Physical pin 11) and POWER PIN. Install and execute raspi-mc and it should work. Alternatively you can user different PIN and execute raspi-mc with parameter: raspi-mc --pin pin_number.
RPi.MC supports number of parameters and also configuration file. For more details see raspi-mc --help or sample config.
Sensor is based on RPi.Sensor library, which make base for implementing different types of sensors in Python.
Pre-Installation requirements
Update system and install required dependencies:
sudo apt-get update
Update system and install required dependencies:
sudo apt-get install build-essential python3-dev python3-pip
Installation
Install the latest released version using pip:
pip install https://github.com/ricco386/RPi.MC/zipball/master
Alternatively install latest released version from pypi:
pip install --upgrade RPi.MC
Integration as a systemd service
Make sure all dependencies (listed below) are installed (done automatically when installing via pip)
The raspi-mc command should be installed somewhere in your PATH (done automatically when installing via pip), make sure raspi-mc.service has corect path in ExecStart set to raspi-mc executable.
Systemd scripts are available: https://github.com/ricco386/RPi.MC/tree/master/init.d to install them you will need root privileges, so we execute them as sudo:
sudo cp init.d/raspi-mc.conf /etc/tmpfiles.d/ sudo cp init.d/raspi-mc.service /etc/systemd/system/ sudo systemd-tmpfiles --create /etc/tmpfiles.d/raspi-mc.conf sudo systemctl enable raspi-mc.service # Enable service to start at system boot sudo systemctl start raspi-mc.service # Start
Systemd scripts should be run under default Raspberry Pi user (pi), scripts have to be able access GPIO.
Dependencies:
RPi.Sensor (0.5.3+)
Usage
You have to create a .sensor.cfg file and place into /home/pi/.sensor.cfg you can find example file in RPi.Sensor repo: https://github.com/ricco386/RPi.Sensor/blob/master/raspi_sensor/sensor.cfg.example and create section [Magnetic_Contact] where you can override default values.
raspi-mc also support multiple parameters to overwrite config parameters. For more info run:
raspi-mc --help
Zabbix support
In directory zabbix_template there is a Zabbix template that can be imported to Zabbix and monitor systemd process if it is running and how much memory it consumes. It also supports Zabbix trapper rpi.mc-state that can receive a sensor state changes.
License
For more information see the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.