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:51] 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 | + | **napajeny 3v3** |
+ | * pouzivam gpio1 | ||
+ | * potrebujeme pipnout Adafruit-Python-DHT, | ||
<file | dht22-mqtt.py> | <file | dht22-mqtt.py> | ||
# | # | ||
Řádek 121: | Řádek 259: | ||
print(' | print(' | ||
</ | </ | ||
+ | kde je conf v config.ini | ||
+ | <file | config.ini> | ||
+ | [mqtt] | ||
+ | |||
+ | hostname = 10.133.1.41 | ||
+ | port = 1883 | ||
+ | timeout = 60 | ||
+ | topict = temp/chodba | ||
+ | topich = humid/ | ||
+ | [sensor] | ||
+ | |||
+ | pin = 18 | ||
+ | type = dht22 | ||
+ | # interval = 3000000 | ||
+ | decimal_digits = 4 | ||
+ | |||
+ | </ | ||
+ | sluzba je dht22.service |