Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
|
smarthome:newpi [2019/04/23 19:53] mwk [DHT-22] |
smarthome:newpi [2021/10/13 13:42] (aktuální) mwk |
||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Nové SpiHOME ====== | ====== Nové SpiHOME ====== | ||
| + | ===== Souhrn služeb ===== | ||
| + | ^ nazev sluzby | ||
| + | | elmer.service | ||
| + | | dht22.service | ||
| + | | dallas.service | ||
| + | | mqtt-gpio.service | ||
| + | | relay.service | ||
| + | | zabbix-agent.service | ||
| + | | mpd.service | ||
| + | | bellj.service | ||
| + | | bells.service | ||
| + | ===== Sračky na úvod ===== | ||
| <code bash> | <code bash> | ||
| apt update && apt upgrade && apt install python-pip mc | apt update && apt upgrade && apt install python-pip mc | ||
| Řádek 24: | Řádek 36: | ||
| sudo systemctl enable myscript.service</ | sudo systemctl enable myscript.service</ | ||
| + | ==== Log2RAM ==== | ||
| + | https:// | ||
| + | ==== Zapojeni headeru ==== | ||
| + | {{ : | ||
| < | < | ||
| - | |||
| | | ||
| | BCM | wPi | | | BCM | wPi | | ||
| Řádek 32: | Řádek 47: | ||
| | | ||
| | | ||
| - | | + | |
| | | ||
| - | | + | |
| | | ||
| - | | + | |
| | | ||
| | | ||
| Řádek 59: | Řádek 74: | ||
| <code bash>pip install serial modbus_tk configparser pymodbus paho-mqtt</ | <code bash>pip install serial modbus_tk configparser pymodbus paho-mqtt</ | ||
| pouzivam upraveny kod [[https:// | pouzivam upraveny kod [[https:// | ||
| + | <file | sdm630-mqtt.py> | ||
| + | # | ||
| + | # -*- coding: utf_8 -*- | ||
| + | |||
| + | from sdm630 import * | ||
| + | |||
| + | import sys | ||
| + | import serial | ||
| + | import time | ||
| + | import paho.mqtt.client as mqtt | ||
| + | import logging | ||
| + | import os | ||
| + | import traceback | ||
| + | import configparser as ConfigParser | ||
| + | import time | ||
| + | |||
| + | CONFIG_FILE = '/ | ||
| + | |||
| + | logging.getLogger().setLevel(logging.WARNING) | ||
| + | |||
| + | # time.sleep(20) | ||
| + | |||
| + | def publish(topic, | ||
| + | info = mqclient.publish("/" | ||
| + | info.wait_for_publish() | ||
| + | |||
| + | |||
| + | if ((len(sys.argv) == 3) and sys.argv[1] == ' | ||
| + | CONFIG_FILE = sys.argv[2] | ||
| + | logging.info(" | ||
| + | config = ConfigParser.ConfigParser() | ||
| + | confread = config.read(CONFIG_FILE) | ||
| + | logging.info(" | ||
| + | |||
| + | |||
| + | logging.info(" | ||
| + | mqclient = mqtt.Client() | ||
| + | try: | ||
| + | mqclient.connect(config.get(" | ||
| + | config.getint(" | ||
| + | config.getint(" | ||
| + | mqclient.loop_start() | ||
| + | except: | ||
| + | traceback.print_exc() | ||
| + | logging.error(" | ||
| + | sys.exit(1) | ||
| + | |||
| + | logging.info(" | ||
| + | num_meters = config.getint(" | ||
| + | meters = [] | ||
| + | # | ||
| + | |||
| + | #for i in range(num_meters): | ||
| + | # if connection_type == ' | ||
| + | # | ||
| + | # meter = SDM630TCP(host=config.get(" | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # elif connection_type == ' | ||
| + | logging.info(" | ||
| + | meter = SDM630RS485(config.get(" | ||
| + | config.getint(" | ||
| + | config.getint(" | ||
| + | regfile=config.get(" | ||
| + | meters.append(meter) | ||
| + | |||
| + | logging.info(" | ||
| + | while (True): | ||
| + | for (num, | ||
| + | num += 1 | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | publish(str(num)+"/ | ||
| + | time.sleep(1) | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | service je / | ||
| + | <file | elmer.service> | ||
| + | [Unit] | ||
| + | Description=My Script Service | ||
| + | # | ||
| + | Requires=network.target | ||
| + | After=network.target | ||
| + | # After=multi-user.target | ||
| + | |||
| + | [Service] | ||
| + | Type=simple | ||
| + | ExecStart=/ | ||
| + | Restart=on-failure | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | |||
| + | </ | ||
| ===== relebord ===== | ===== relebord ===== | ||
| Řádek 65: | Řádek 201: | ||
| ===== DHT-22 ===== | ===== DHT-22 ===== | ||
| - | pouzivam gpio1, potrebujeme pipnout Adafruit-Python-DHT, | + | **napajeny 3v3** |
| + | * pouzivam gpio1 | ||
| + | * potrebujeme pipnout Adafruit-Python-DHT, | ||
| <file | dht22-mqtt.py> | <file | dht22-mqtt.py> | ||
| # | # | ||
| Řádek 138: | Řádek 276: | ||
| </ | </ | ||
| + | sluzba je dht22.service | ||