====== OPIone - Světla ====== ===== WiringPi - ovládání GPIO ===== [[http://www.orangepi.org/Docs/WiringPi.html|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. #! /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 [[https://mosquitto.org/|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 [[https://github.com/jpmens/mqtt-launcher|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):