Flashback bygger pepparkakshus!
2022-09-04, 21:31
  #1
Medlem
Hej! Kan ni råda mig? Har fått en utmaning att bygga/göra en skylt med ett ord som jag fjärrstyrt ska kunna få att blinka hemma hos min brorsa. Vi triggar varandra lite med ordet "duktig".

Jag ska alltså kunna styra hemifrån mig, eller telefonen och få den att blinka "DUKTIG" hemma hos honom.

Själva bygget klarar jag av, antar att jag kommer att fräsa ut det i trä och använda en LED-slinga av något slag, men min kunskap i programmering, och framförallt Raspberry Pi är begränsad, men jag kanske kan lära mig.

Är Raspberry Pi det bästa för ändamålet? Går det ens att göra fjärrstyrt? Hur? Den måste på nåt sätt kopplas upp på hans WiFi då eller, med/till vadå för server?

Är lite lost, men måste börja någonstans, så alla tips mottages tacksamt
Citera
2022-09-04, 21:47
  #2
Medlem
32åringens avatar
Jag tror att en Arduino uno med esp8266 modul kan vara ett enklare alternativ för dig.

https://youtu.be/6hpIjx8d15s
Citera
2022-09-04, 21:56
  #3
Medlem
StonedMonkeys avatar
https://www.instructables.com/Raspberry-Pi-Home-Automation-Control-lights-comput/

https://www.balena.io/blog/deploy-free-digital-signage-software-screenly-ose/

Tror absolut du kan lära dig programmera en Raspberry pi till det
Citera
2022-09-04, 22:36
  #4
Medlem
Citat:
Ursprungligen postat av 32åringen
Jag tror att en Arduino uno med esp8266 modul kan vara ett enklare alternativ för dig.

https://youtu.be/6hpIjx8d15s

Cool grej! Man verkar kunna göra mycket kul med Arduino Stött på den förut, men inte vågat mig på... Ser ett kul startkit på Amazon för inte alltför mycket pengar med massa kul grejer
Citera
2022-09-04, 22:38
  #5
Medlem
Citat:
Ursprungligen postat av StonedMonkey
https://www.instructables.com/Raspberry-Pi-Home-Automation-Control-lights-comput/

https://www.balena.io/blog/deploy-free-digital-signage-software-screenly-ose/

Tror absolut du kan lära dig programmera en Raspberry pi till det


Ohh, första länken verkar skitbra! Programmera hemsida kan jag göra, löda kan jag göra... Ja, typ allt utom att installera Raspberry Pi:en, haha. Och han skriver såklart... "I won't be showing how to install a Raspberry Pi because it's super simple and I am assuming you guys know how to setup one because you are reading this guide. So let's move on..."

Haha, men det kan jag väl hitta nån annanstans. Tror att det här blir min guide. Ska beställa ett par grejer på Amazon bara!
Citera
2022-09-16, 22:09
  #6
Medlem
Har kommit ganska långt! Fixat switchar så att jag kan slå på och av ljus och ljud.

Nu ska jag lägga till en php-sida som man kan nå på distans. Problemet är att jag följde nån guide och skapade en directory som är home/pi/FTP/duktig och jag kan connecta via FTP - men hur når jag sedan filerna på webben? det verkar vara home/var/www som visas när jag skriver in IP-adressen

Hur kommer jag åt dilerna i min duktig-mapp? Typ 192.168.0.15/home/pi/FTP osv på nåt sätt?
Eller måste jag komma på något sätt att lägga filerna i www-mappen?
Citera
2022-09-16, 22:56
  #7
Medlem
Löste det! Jag är så jäkla nära nu känns det som.

Min lampon.php som jag vill aktivera för att tända ser ut såhär:
<?php
exec("sudo -S python3 /scripts/lights/lampon.py");
header( "Location: index.php" );
?>

Min lampon.py ser ut såhär:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(2, GPIO.OUT)
GPIO.output(2, True)

Ingenting händer. När jag knappar in dessa i Terminalen tänds och släcks lampan, men inte via PHP...
Nån som har nån aning?
Citera
2022-09-17, 01:57
  #8
Medlem
Bonnatorps avatar
Du kan göra det där helt utan php.

På hemdatorn, kör en webserver som tillgängliggör en hemsida för detta bruk.
Hemsidan är en enkel html-fil vars body bara innehåller en etta eller en nolla i råtext, beroende på om lampan ska vara på eller av. Kan förstås utökas med fler element ifall du vill ha fler funktioner hemma hos honom.
Kör ett pythonscript på hemdatorn (eller för all del ändra variabeln direkt i notepad om du vill) som sätter den där variabeln till ett eller noll när du behagar.

Det kan hända att det är så enkelt som att du inte ens behöver göra en html-fil, utan bara en vanlig textfil som endast variabelvärdet står i, och hämta värdet med requests.get(IP-adress).
Har inte använt requests, men gissar att det bör vara ungefär så enkelt.
Vill du ha flera variabler antar jag att du kan använda JSON eller liknande.

På raspberryn, loopa ett program som hämtar och sätter textinnehållet till variabeln "lampa".
Sedan kör du som vanligt och låter lampans på eller av styras av den variabeln.
Requests bör som sagt vara den enklaste metoden.

Ett annat alternativ om du vill slippa hemsidan helt är om du kan ge din dator skrivrättigheter till raspberryns lagring, och lägga variabeln direkt i en textfil som ligger i samma mapp som lampscriptet.
Är dock osäker på hur omständigt det är, men omöjligt bör det inte vara.

Vill du vara lite rolig kan du koppla in en biltuta hos han också som du kör med samma system, bara med en duttsignal.
Köp någon rejäl gammal biltuta, några dioder, och en kondensator (för att göra en likriktare) några motstånd, och så en rejäl MOSFET för att aktivera tutan med signalström från raspberryn.
Koppla hela rasket direkt på eluttaget.
Annars går det ladda kondensatorn/batteriet med en gammal laptopladdare, men en MOSFET är nog enklaste sättet att aktivera tutan på.
MOSFET:s i största allmänhet är allmänt billigt och trevligt om du vill driva likströmsgrejer med en raspberry.
__________________
Senast redigerad av Bonnatorp 2022-09-17 kl. 02:37.
Citera
2022-09-17, 09:04
  #9
Medlem
BackToHegels avatar
Citat:
Ursprungligen postat av 32åringen
Jag tror att en Arduino uno med esp8266 modul kan vara ett enklare alternativ för dig.
Eller en ESP8266 ensam.

En Raspberry Pi funkar också, men är duktigt overkill för det som ska göras. Det finns massor av guider därute, hur man styr en lampa via Internet och sånt. Både för Raspberry Pi och för alla små billiga microcontrollers som finns därute. Kolla på några dem så har du en massa exempel på hur det kan göras.

Styr lampan/skylten via en MOSFET med en av output-pinnarna vars läge sätts via ett webbinterface. Kör lokalt först, sen när det funkar som det ska är det bara att göra den nåbar utifrån som vilken lokal resurs som helst. Kanske genom att forwarda en port i routerns inställningar.
Citera
2022-09-17, 10:49
  #10
Moderator
vhes avatar
Citat:
Ursprungligen postat av Mysmasken
Löste det! Jag är så jäkla nära nu känns det som.

Min lampon.php som jag vill aktivera för att tända ser ut såhär:
<?php
exec("sudo -S python3 /scripts/lights/lampon.py");
header( "Location: index.php" );
?>

Min lampon.py ser ut såhär:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(2, GPIO.OUT)
GPIO.output(2, True)

Ingenting händer. När jag knappar in dessa i Terminalen tänds och släcks lampan, men inte via PHP...
Nån som har nån aning?

Nu tycker jag det här verkar vara en rätt galen lösning, men just det där felet kan nog bero på att användaren som kör din webbserver inte har rätt att köra sudo.

Möjligen bör du undersöka vilka rättigheter man behöver för att styra GPIO-portarna och ge din webbserver-användare de rättigheterna. sudo är sällan rätt lösning. (Det här förslaget är egentligen inte heller rätt lösning, men något bättre i alla fall, och kanske genomförbart).
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in