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
gpio readall
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 |
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:
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
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'
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):