Uživatelské nástroje

Nástroje pro tento web


smarthome:klient-opi-svetla

OPIone - Světla

WiringPi - ovládání GPIO

dokumentace wiring pi

git clone https://github.com/zhaolei/WiringOP.git -b h3
cd WiringOP
chmod +x ./build
sudo ./build 

po instalaci precteme a zobrazime gpio piny

gpio readall

inicializace na zapnuti pinu 23 pro vystup

gpio mode 23 out

zapnuti / vypnuti pinu 23

gpio write 23 0 && gpio write 23 1

osvedcene "standartni nastaveni"

gpio readall
  • vyhodi tabulku s cislovanim pinu
  • tabulka nize je jako priklad pro zapojeni 8-port rele
na rele na opi barva vodice (kvuli homogenite)
GND 0v cerny
IN1 wPI 11 bily
IN2 wPI 24 sedy
IN3 wPI 23 ruzovy
IN4 wPI 22 modry
IN5 wPI 21 zeleny
IN6 wPI 1 zluty
IN7 wPI 4 oranzovy
IN8 wPI 5 hnedy
VCC 5v cerveny
  • ostatni zapojeni
pripojena periferie jaky wPI pin pouzit barva vodice (kvuli homogenite)
data pro 433Mhz transmitter wPI 0 -
1wire, napriklad na dallas senzor teploty wPI 25 -

8-port moduly z ciny je lepsi inicializovat po startu, oproti logice rpi maji otoceny statusy, co je low a co high, proto skript nize spoustim po startu. da mmi to i vizualni kontrolu, ze vsechny svetla nabehnou.

relaystart.sh
#! /bin/sh
# /etc/init.d/relaystart
#
gpio mode 25 out && gpio write 25 0
sleep 1
gpio write 25 1
gpio mode 24 out && gpio write 24 0
sleep 1
gpio write 24 1
gpio mode 23 out && gpio write 23 0
sleep 1
gpio write 23 1
gpio mode 22 out && gpio write 22 0
sleep 1
gpio write 22 1
gpio mode 21 out && gpio write 21 0
sleep 1
gpio write 21 1
gpio mode 1 out && gpio write 1 0
sleep 1
gpio write 1 1
gpio mode 4 out && gpio write 4 0
sleep 1
gpio write 4 1
gpio mode 5 out && gpio write 5 0
sleep 1
gpio write 5 1

Pokud nam vse funguje pres commandlajnu, muzeme pokracovat:

MQTT - mosquitto

instalace

Importujeme repo eclipse:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
apt-key add mosquitto-repo.gpg.key

Pridame pro apt, podle verze armbianu:

cd /etc/apt/sources.list.d/
wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
wget http://repo.mosquitto.org/debian/mosquitto-sarge.list
apt-get update
apt-cache search mosquitto
apt-get install mosquitto

testování

subscribe na vsechny topicy (vetsinou jen pro ucely testu)

mosquitto_sub -v -h broker_ip -p 1883 -t '#'

a z jine masiny, kde mame nainstalovano pustime

mosquitto_pub -t 'test/topic' -m 'hellopico'

mosquitto >> command - mqtt-launcher

kdyz nam to funguje, spojime obe casti v celek, za pouziti mqtt-launcher potrebujeme pip

apt-get install python-pip
pip install paho-mqtt

launcher.conf.example prejmenujeme na launcher.conf:

logfile = 'logfile'
mqtt_broker = 'ip-brokera'      # default: 'localhost'
mqtt_port = 1883                # default: 1883
mqtt_clientid = 'mqtt-launcher-1'
mqtt_username = 
mqtt_password = 
topiclist = {
   # topic                     payload value       program & arguments
   "sys/file"          :   {
                               'create'        :   [ '/usr/bin/touch', '/tmp/file.one' ],
                               'false'         :   [ '/bin/rm', '-f', '/tmp/file.one'    ],
                               'info'          :   [ '/bin/ls', '-l', '/tmp/file.one' ],
                           },
   "prog/pwd"          :   {
                               None            :   [ 'pwd' ],
                           },
   "dev/1"             :   {
                               None            :   [ 'ls', '-l', '/' ],
                           },
   "dev/2"             :   {
                               None            :   [ "/bin/echo", "111", "*", "@!@", "222", "@!@", "333" ],
                           },
}

editujeme mqtt-launcher.py, protoze musime pridat „self“, aby vysledny radek vypadal

def on_connect(self, mosq, userdata, result_code):
smarthome/klient-opi-svetla.txt · Poslední úprava: 2018/12/17 15:16 autor: mwk