Hovedside Kontakt oss Logg inn Registrer nytt medlem  
Sider: [1]
  Skriv ut  
Skrevet av Emne: Styring med Raspberry Pi  (Lest 1314 ganger)
OS
Legende
*****
Innlogget Innlogget

Kjønn: Mann
Innlegg: 667



« på: April 22, 2017, 19: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

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:

Sitat
import 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.

Loggført
ivarw
Junior
**
Utlogget Utlogget

Kjønn: Mann
Innlegg: 76



« Svar #1 på: Mai 14, 2017, 22: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.


* Skjermbilde.JPG (120.77 KB, 1832x1185 - vist 81 ganger.)
Loggført

Morningstar Tristar 60 MPPT
3 x 150W paneler 
4 x 290Ah AGM @12V
Victron Multiplus 12/3000/120/16
Victron Color Control
Victron BMV700
Honda EU30iS FS
SeSe
Fersking
*
Innlogget Innlogget

Kjønn: Mann
Bosted: Ringerike
Innlegg: 34

A


« Svar #2 på: Oktober 05, 2017, 17: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
Loggført
OS
Legende
*****
Innlogget Innlogget

Kjønn: Mann
Innlegg: 667



« Svar #3 på: Oktober 05, 2017, 19:17:05 »

Sjekk diskusjonsgruppen nedenfor. Der finner du sikkert mange tips.
https://groups.google.com/forum/#!forum/victron-dev-venus
Loggført
SeSe
Fersking
*
Innlogget Innlogget

Kjønn: Mann
Bosted: Ringerike
Innlegg: 34

A


« Svar #4 på: Oktober 06, 2017, 18:56:12 »

Takker!
La inn ferdig image --> funker.  Glad
Pakkeinstall får jeg ikke til.
Mulig jeg velger å ha en dedikert RPI til dette formålet..
Loggført
Sider: [1]
  Skriv ut  
 
Gå til:  

Velkommen, Gjest. Vennligst logg inn eller registrer deg.
Har du ikke mottatt e-post for aktivering ?
Desember 13, 2017, 02:22:10

Logg inn med brukernavn, passord og innloggingstid
Powered by SMF 1.1.15 | SMF © 2006, Simple Machines
TinyPortal v0.9.8 © Bloc