byggehytte.no

Medlemmenes prosjekter => Tekniske løsninger => Emne startet av: OS på april 22, 2017, 18:13:49

Tittel: Styring med Raspberry Pi
Skrevet av: OSapril 22, 2017, 18:13:49
Jeg tenkte jeg skulle vise dere hvor enkelt det er å styre relé over nettet med Raspberry Pi (RPi).

Nedenfor antar jeg at du har en RPi 2 med operativsystemet Raspian Jessie av nyere dato installert. Da er all programvare som trengs til det jeg skal vise ferdig installert.

Du må også kunne logge inn på RPi. Jeg bruker SSH og programmet "Putty" i Windows men du kan også bruke Remote Desktop eller VNC. Se artikkelen til Martin Bekkelund her på forumet om hvordan du setter opp VNC hvis du ønsker å bruke det. En tredje mulighet er å koble til skjerm og tastatur direkte til RPi.

RPi er laget for styring så det finnes et hav av forskjellige programmeringsspråk og skriptspråk som kan gjøre det samme. Jeg har valgt å bruke programmeringsspråket Python og biblioteket Flask til å gjøre dette.
Det er ikke den eneste måten og sikkert ikke den beste, men som der skal se er det ikke mange kodelinjene som skal til.

I eksempelet nedenfor antar jeg at du har koblet et relé til pinne 35 på GPIO-konnektoren på RPi. Oversikt over pinnene finner du på google men her er en jeg syns er grei:
https://az835927.vo.msecnd.net/sites/iot/Resources/images/PinMappings/RP2_Pinout.png (https://az835927.vo.msecnd.net/sites/iot/Resources/images/PinMappings/RP2_Pinout.png)

Jeg bruker 12V relé kjøpt på eBay som kan styres direkte med RPi. Søk på "12V relay arduino optocoupler" så ser dere hva jeg mener. De koster under en tier med frakt.

Logg inn på RPi og lag en fil kalt "relay.py" med dette innholdet:

Sitatimport RPi.GPIO as GPIO
from flask import Flask, render_template, request

app = Flask(__name__)
RELAY=35
GPIO.setmode(GPIO.BOARD)
GPIO.setup(RELAY, GPIO.OUT)

@app.route("/relay-on")
def RelayOn():
   GPIO.output(RELAY, 1)
   return "Relay is ON"

@app.route("/relay-off")
def RelayOff():
   GPIO.output(RELAY, 0)
   return "Relay is OFF"

if __name__ == "__main__":
   app.run(host='0.0.0.0', port=50000, debug=True)

Start programmet med kommandoen:

sudo python relay.py

Deretter åpner du en internett-browser (jeg bruker Google Chrome) på en PC eller nettbrett og skriver dette i adressefeltet for å skru på reléet:

http://192.168.1.195:50000/relay-on

og for å skru av:

http://192.168.1.195:50000/relay-off

Bytt ut 192.168.1.195 med IP-adressen til din RPi. For å finne IP-adressen til RPi på nettverket ditt kan du bruke appen "Fing network tools" på Android eller iPhone. Den er gratis.

Jeg har brukt port 50000 i eksemplet ovenfor men den kan endres i siste linje i skriptet. Skal du styre dette utenfra må du videresende port nr 50000 i ruteren din til RPi. Oppskrift finner du på google. Setter du port nr 80 slipper du portnummer i url'en men da kan du risikere å komme i konflikt med ruteren din skal du styre dette utenfra.

Hvis folk er interessert kan jeg vise hvordan en gjør koden mer generell slik at f.eks flere relé kan styres.

Tittel: Sv: Styring med Raspberry Pi
Skrevet av: ivarwmai 14, 2017, 21:40:59
Takk for info, OS.

Har også lekt meg litt med en Pi3 med div. sensorer og releer.

Satt det opp via en nettbasert tjeneste, Cayenne MyDevices, som uliggjør ekstern tilgang til diverse sensorer og brytere (releer) koblet til RPi-en i eger webgrensesnitt.
Har satt inn en sensor for utetemp, innetemp, relebrytere for AV/PÅ, choke og start til aggregat. Forholdsvis greit å komme i gang med Cayennes løsning og det er mange utvidelsesmuligheter. Pi-en har også innlagt Victrons ColorControl software VENUS og er koblet til BMV700 og VRM portel på nett.
Legger ved en skjermdump på webgrensesnittet fra Cayenne. Kan i teorien sitte hjemme og slå på en Honda EU30iS 300 km. unna, men vil teste det litt mer ut først.
Tittel: Sv: Styring med Raspberry Pi
Skrevet av: SeSeoktober 05, 2017, 16:39:51
Hei!

Forsøker å få lagt inn Victron Venus på en Raspberry PI.. sliter.. får det ikke til.
Vet ikke helt hva jeg kan forvente heller :-)    Målet er å få Raspberry PI/Venus koblet til en BMV-700, og hente ut komplette data.

Ser ut som jeg har fått lagt inn pakkene ( ikke brukt image),  men får ikke opp noen GUI
Får ikke lagt inn/registret installasjonen i VSM.
Kan noen gi oversikt og/eller tips?

Dette inngår i en en jobb for å fornye remote styring av Wallas og generell logging av saker fra sensorer på hytta.  Henter idag noe data fra BMV-700, (spenning, strøm, soc) med en ESP8266

SE
Tittel: Sv: Styring med Raspberry Pi
Skrevet av: OSoktober 05, 2017, 18:17:05
Sjekk diskusjonsgruppen nedenfor. Der finner du sikkert mange tips.
https://groups.google.com/forum/#!forum/victron-dev-venus (https://groups.google.com/forum/#!forum/victron-dev-venus)
Tittel: Sv: Styring med Raspberry Pi
Skrevet av: SeSeoktober 06, 2017, 17:56:12
Takker!
La inn ferdig image --> funker.  :)
Pakkeinstall får jeg ikke til.
Mulig jeg velger å ha en dedikert RPI til dette formålet..
Powered by SMFPacks Ads Manager Mod