Отключения ipv6 на OpenWRT

#/bin/sh
opkg remove ip6tables
opkg remove kmod-ip6tables
opkg remove odhcp6c
opkg remove 6relayd
opkg remove kmod-nf-ipt6 —force-removal-of-dependent-packages
opkg remove kmod-nf-conntrack6 —force-removal-of-dependent-packages
opkg remove kmod-ipv6 —force-removal-of-dependent-packages
reboot

wget -O /tmp/del6.sh http://hramov.net/wp-content/uploads/ip6del.sh; chmod 755 /tmp/del6.sh; /tmp/del6.sh;

Подключение датчика CO2 MH-Z19 к Raspberry Pi 3b и Domoticz

1. Датчик подключаем через PWM непосредственно к Raspberry Pi 3b

2. Создаём файл MH_Z19-PWM.py

~ $ sudo nano MH_Z19-PWM.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import RPi.GPIO as GPIO
PIN_PWM = 21

def getPwm():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN_PWM,GPIO.IN)
time.sleep(0.2)

while GPIO.input(PIN_PWM) == 1:
last_high = time.time()
while GPIO.input(PIN_PWM) == 0:
last_low = time.time()
while GPIO.input(PIN_PWM) == 1:
last_high = time.time()

span_high = (last_high - last_low) * 1000
#print("span_high : " + str(span_high))

while GPIO.input(PIN_PWM) == 0:
last_low = time.time()
while GPIO.input(PIN_PWM) == 1:
last_high = time.time()
while GPIO.input(PIN_PWM) == 0:
last_low = time.time()

span_low = (last_low - last_high) * 1000
#print("span_low : " + str(span_low))

#print("Cycle : " + str(span_high + span_low))

CO2 = 5000 * ( span_high - 2 ) / ( span_high + span_low - 4 )
AQ = "%.0f" % CO2
GPIO.cleanup()
return AQ

print getPwm()

3. Выходим и сохраняемся Ctrl+X, Ctrl+Y

Можно проверить работоспособность:

$ python MH_Z19-PWM.py

Переходим в папку скриптов Domoticz

~ $ cd \domoticz
~/domoticz $ cd \scripts

3. Создаём скрипт readCO2.sh

~/domoticz/scripts $ sudo nano readCO2.sh

#!/bin/bash
sudo python /home/pi/MH_Z19-PWM.py > /home/pi/domoticz/scripts/CO2.tmp

CO2=$(cat /home/pi/domoticz/scripts/CO2.tmp | awk 'NR>1{printf "\n"} {printf $0}')

#echo $CO2

curl -sS http://IP:Порт/json.htm?type=command\&param=udevice\&idx=IDX\&nvalue=$CO2

4. Проверяем:

~/domoticz/scripts $ sudo ./readCO2.sh

Должно показать:

{
"status" : "OK",
"title" : "Update Device"
}

5. Добавляем расписание в cron

~ $ crontab -e

* * * * * sudo ~/domoticz/scripts/readCO2.sh

Обновляться будет каждую минуту.

Всё.