Inlägg

Inlägg som mr2clean har skrivit i forumet
Av mr2clean

Projekt: DIY 3D Printer - RepRap Prusa i3

Hej,
Har nu bestämt mig för att starta upp ännu ett projekt medans jag väntar på delar till mitt hemlarm (Annan tråd) efter mycket surfande hittade jag en modell av 3D skrivare som jag fick för mig att den skulle vara görbar med mina kunskaper och en hel del informationssökande.

http://reprap.org/mediawiki/images/c/c2/Visuel_Prusa_i3_Rework.p...

RepRap Prusa i3

De började med att jag hade en gräns på 2000:- för en färdig skrivare... men den gränsen lyckades jag spränga, fast jag räknat på de dyraste delarna. Tror det ligger på 2800:- i skrivande stund och då saknar jag några skruvar och muttrar.

Tanken med den här tråden är att komma i kontakt med andra som byggt 3D skrivare och utbyta lite kunskap och samtidigt dela med mig av mina erfarenheter. Om bygget går vägen, kan jag tänka mig att hjälpa andra komma igång med sina byggen genom att hjälpa er printa ut delarna som behövs för stommen, är rätt så dyrt att köpa dessa delar.

LÄNKAR:
http://reprap.org/wiki/Prusa_i3_Build_Manual
Minitronics v1.0
http://reprapworld.com/?products_details&products_id=359&cPath=1591_1647
RAMPS 1.4
http://reprap.org/wiki/RAMPS_1.4#Source
Arduino MEGA 2560 Rev3 requires Arduino software version 0023:
http://arduino.googlecode.com/files/arduino-0023.zip
RAMPS Firmware
http://reprap.org/wiki/List_of_Firmware#RepRap_Firmware
RAMPS Firmware (Sprinter)
https://github.com/kliment/Sprinter
printrun / Slic3r (Utskrift)
http://koti.kapsi.fi/~kliment/printrun/
Repetier (Utskrift)
http://www.repetier.com/download/
NetFabb basic (Fixa 3D modellen så att den går att skriva ut)
www.netfabb.com/download.php?pikey=djYQuWW2VO65kx4
Kalibrering - http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide
Printbed - http://reprap.org/wiki/Bed_material#Experiments_with_ABS_on_various_bed_materials

Inköpslista
http://reprap.org/wiki/Prusa_i3_Rework_Bill_of_materials

Här kan ni köpa de flesta delarna som behövs.
3dReserven.se

Min inköpslista
1. 1 Mega2560 R3 + 5 pcs A4988 + RAMPS 1.4 3D Printer Kit For Arduino RepRap, 405:- (Ebay)
2. 1 High 5pcs nema 17 stepper motor 1.7A 4000g.cm 2phase CNC&Reprap 3D Printer CNC, 464:- (Ebay)
3. 1 J-Head MKV Hot End 0.5mm/3mm, 228:- (Ebay)
*4. 1 RepRap Prusa Mendel i3 Printed Parts Kit,421:- (Ebay)
4. 1 Prusa i3 Printed Parts - White - ABS 550:- (Reprapuniverse.com)
4b. 1 Hobbed Bolt for RepRap 3D Printer 45:- (Reprapuniverse.com)
5 1 2st GT2 kugghjul till steppermotor (GT2 Pully) 2m GT2 rem +skruvar, 107:- (Ebay)
5. 10 LM8UU glidlager,41:- (Ebay)
6. 1 4st 608 kullager 1st 624 kullager,94:- (Kullagergrossisten.se)
7. 2 CNC 5x5mm Top Tight Motor Encoder Shaft Coupler Flexible Coupling D20L25,68:- (Ebay)
8. 1 3st Endstop switch Prusa Mendel,CNC, 80:- (Ebay)
9. 1 Geeetech 70cm 5pcs 2pin & 3pin & 4pin Female-Female Jumper wires connector cable,58:- (Ebay)
10. 1 3D Printer MK2 heated bed Prusa with resistor and LEDs soldered for Reprap, 163:- (Ebay)
*11. 3 RUNDSTAV AL/SILVERELOX., 8mm X 1M,286:- (materialbutiken.se) / Bauhaus
11. 3 CENTERLESS SLIPAD AXEL 8 MMx1000MM, 114:-
12. 1 Kablage 1,5mm röd 20m, 69:- (Jula)
13. 1 Kablage 1,5mm svart 20m, 69:- (Jula)
*14. 1 Gängstav M10 X 1m, 25:- (Bauhaus / Biltema / ÖoB)
14. 2 Gängstav M8 x 1m, 18:- (Bauhaus / Biltema / ÖoB)
15. 1 Gängstav M5 X 1m, 15:- (Bauhaus / Biltema / ÖoB)
16. 1 Nätaggregat från dator (380w, 18Ax2), 0:-
17. 1 12volt chassifräkt från dator, 0:-
18. - Muttrar och brickor 100:- (Bauhaus / Byggmax)
19. 1 Aluminum Groove Mount Plate for Hot End, 50:-
20. 1 19mm Bulldog Clips (4 pieces), 20:-

(*Gäller ej längre)

Drift
1. 1 Symaskinsolja 150 ml (Smörja axlar), 29:-
2. 1 ABS plast Ø3mm 1Kg, 299:-

Blueprints: 3D modell av i3

2x Smooth rod Ø8x320 mm
2x Smooth rod Ø8x350 mm
2x Smooth rod Ø8x370 mm
2x Threaded rod M5x300 mm
* 4x Threaded rod M10x210 mm (För Prusa i3 Rework, kommer ej användas då jag bytt till orginal printed parts)
4x Threaded rod M8x210 mm (205mm för vanlig mutter, 210mm för låsmutter)
* 2x Threaded rod M10x380 mm (För Prusa i3 Rework, kommer ej användas då jag bytt till orginal printed parts)
2x Threaded rod M8x380 mm

10x LM8UU
2x Coupling 5x5mm
1x 624 ball bearing
4x 608 ball bearing
5x NEMA17 motor
1x GT2 belt 760mm
1x GT2 belt 900mm
2x GT2 Pulley

41x M3x14mm
7x M3x30mm
2x M3x60mm
6x M4x20mm
1x M8x30mm
1x M8x20mm

50x M3 mutter
6x M4 mutter
2x M5 mutter
14x M8 mutter
8x M8 Nylon låsmutter
*12x M10 mutter

60x Ø3mm bricka
24x Ø8mm bricka
*24x Ø10mm bricka
5x M3 låsskruv

(OBS! Inte helt hundra på dessa än)

Strömförsöjning
Ett nätaggregat från en gammal dator. Öppna nätaggregatet och koppla samman den gröna (ON/OFF) kabeln (Från den stor kontakten) med en av de svarta.

http://softwaist.se/3d/bilder/DSC_EL01.JPG

Kontrollera sedan hur de gula (12v+) kablarna är löddade i kretskortet. mitt nätaggregat har alla gula indelade i en anslutning förutom 2st (4pin kontakten).
Koppla samman lika många gula kablar som svarta (+, -) så att ni får två olika plus och två minus kablar som på bilden. På så sätt får man två stycken separata 12v kablar. Jag har valt att ha ytterligare ett par kablar för att driva en datorfläkt, 1 röd (5v+) och 1 svart kabel används då från nätaggregatet

Koppa sedan ihop dessa med 1,5mm tjocka kablar för att ansluta till Audrino RAMP 1,4. Ett par kommer vara för att driva motorerna (2st gula, 2st svarta) 12v 5A är minst rekommenderat. Det andra paret kommer användas för att driva värmeplattan och munstycket (4st gula, 4st svarta) Minst rekommenderat är 12v 11A.

(om ni är osäkra, kolla youtube: Hack a power supply

http://softwaist.se/3d/bilder/DSC_EL02.JPG

Med lite Ikea kabelsamlare ser det ut så här:

http://softwaist.se/3d/bilder/DSC_EL03.JPG

RAMPS 1.4 kopplingschema:

http://reprap.org/mediawiki/images/6/6d/Rampswire14.svg

http://reprap.org/mediawiki/images/thumb/2/2c/Arduinomega1-3conn...

RAMPS 1.4 Firmware
Tror jag kommer använda mig av Sprinter Firmware (Sprinter) till att börja med, men har också sneglat på Marlin_v1 (Länk). Då den mjukvaran har varit mest använd till RepRap Prusa Mendel skrivarna.

Sprinter konfiguration (Kan laddas ner här):
Configuration.h (Mina ändringar, enligt guide http://reprap.org/wiki/Sprinter)

//// The following define selects which electronics board you have. Please choose the one that matches your setup // MEGA/RAMPS up to 1.2 = 3, // RAMPS 1.3/1.4 = 33 #define MOTHERBOARD 33 //// Thermistor settings: // 1 is 100k thermistor // 2 is 200k thermistor // 3 is mendel-parts thermistor // 4 is 10k thermistor // 5 is ParCan supplied 104GT-2 100K // 6 is EPCOS 100k // 7 is 100k Honeywell thermistor 135-104LAG-J01 #define THERMISTORHEATER 1 #define THERMISTORBED 1 //// Calibration variables // X, Y, Z, E steps per unit - Metric Prusa Mendel with Wade extruder: #define _AXIS_STEP_PER_UNIT {80, 80, 3200/1.25,700} // This determines the communication speed of the printer //#define BAUDRATE 115200 #define BAUDRATE 250000

pins.h

// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1 #define RAMPS_V_1_3 // #define RAMPS_V_1_0

RAMPS 1.4 - Stepping:
Vet inte riktigt hur inställningen fungerar, men enligt http://reprap.org/wiki/RAMPS_1.4#Stepper_Driver_Boards så är standard... "For now the default is 1/16 micro stepping (all jumpers installed under drivers) " vilket innebär att alla tre jumpers (Små svarta kontakter som sluter en krets) under stepper-kontrollern ska vara kopplade.

RAM:
Har valt att inte lägga pengar på att köpa en färdig Prusa I3 platta, utan kommer bygga en av spånskiva.

Orginalet :

http://reprap.org/mediawiki/images/6/66/I3-DXFPlate.png

(1:1 skala http://reprap.org/mediawiki/images/6/66/I3-DXFPlate.png)

DIY:

Sketchup!
Om ni vill kolla på ritningen i Sketchup, hittar ni den här! (OBS NY DESIGN, Bilden nedan stämmer inte riktigt!)

http://www.softwaist.se/3d/bilder/chassi_metric_mm.jpg

http://www.softwaist.se/3d/bilder/3D_20140119_new_chassi_1.jpg

Vet inte om man ser så bra, men har gjort hål för att fästa RAMPS-kortet på ena stödet

http://www.softwaist.se/3d/bilder/3D_20140119_new_chassi_2.jpg

Hann med lite måleri idag också

http://www.softwaist.se/3d/bilder/3D_20140119_DIY_2.jpg

De slipade axlar för X,Y,Z:

http://www.softwaist.se/3d/bilder/3D_20140108_193527.jpg

Stepper motors, NEMA 17
Löddning:
Förlänger och sätter på 4-pin kontakt (Från vänster: 1:Svart, 2:Grön, 3:Blå, 4:Röd), Snusdosor fungerar grymt bra som "Helping hands"

http://www.softwaist.se/3d/bilder/3D_20140120_DIY_2.jpg

Testar motorerna via Pronterface:

http://www.softwaist.se/3d/bilder/3D_20140120_DIY_1.jpg

Felsökning (Det fick jag göra )
- Snurrar inte motorn, testa byt plats på Pin 4 och Pin 3, fungerar inte det, fortsätt och byt plats på Pin 3 och Pin 2. Snurrar inte motorn kollar här, (Länk).
- Snurrar motorn åt ett håll men inte andra; koppla in endstop!
- Snurrar motorn åt båda hållen när ni håller inne endstop; ändra i firmware enligt nedan i Configuration.h, i mitt fall var det X:

//// Endstop Settings #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. //If your axes are only moving in one direction, make sure the endstops are connected properly. //If your axes move in one direction ONLY when the endstops are triggered, set [XYZ]_ENDSTOP_INVERT to true here: const bool X_ENDSTOP_INVERT = true; const bool Y_ENDSTOP_INVERT = true; const bool Z_ENDSTOP_INVERT = true;

2014-02-08 Testkör via Pronterface
Som ni ser så är det ett ormbo just nu runt mitt Ramps kort, det får jag nog ta och fixa

2014-02-16
Nu när jag inte fick mina printade delar från Ebay så beställde jag ett kit med orginaldelar (Inte i3 Rework) från reprapuniverse.com, dvs med 4st M8 210mm Gängstång, så M10 fick bytas ut.

2014-02-17
ÄNTLIGEN anlände mina printade delar... om dock fel färg. Beställde först svarta, fick dom inte (Ebay), beställde sedan från reprapuniverse.com, vita.. men fick neongröna.. jaja, nu har jag iaf fått dom. Dock inte den bästa kvalité på printen. Fick knåpa i någon timme med att få bort all överflödig plast.. sitter riktigt hårt. Vissa delar borrade jag ut med 0,5mm större borr, annars med samma diameter som skruv eller slipad axel.

http://www.softwaist.se/3d/bilder/DIY3d_20140217_01.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_02.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_03.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_04.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_05.JPG

Mycket att rensa med rakblad och borr. Fick iaf ett extra kullager

http://www.softwaist.se/3d/bilder/DIY3d_20140217_06.JPG

Att få glidlagerna på plats var inte det enklaste. En värmepistol hade varit att föredra.

http://www.softwaist.se/3d/bilder/DIY3d_20140217_07.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_08.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_09.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_10.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_11.JPG

Hmm.. Hur ska jag fästa min Hotend på den här..? (Man skruvar av övre munstycket, det är tydligen för Bowden Extruder:) )

http://www.softwaist.se/3d/bilder/DIY3d_20140217_13.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140217_14.JPG

Nästan klar!

http://www.softwaist.se/3d/bilder/DIY3d_20140217_12.JPG

2014-02-18

Tog bort "distanserna" (Muttrarna ni ser, där motorn fästs) efter ha monterat min extruder några gånger.. typ 20 fick dock använda några brickor för att få kugghjulen att passa.

http://www.softwaist.se/3d/bilder/20140218_01.JPG

http://www.softwaist.se/3d/bilder/20140218_02.JPG

Verkligen inte "perfekt fit" på Z-axeln... men ser inte att det sviktar när Z går upp och ner.

http://www.softwaist.se/3d/bilder/20140218_03.JPG

Snart framme!

2014-02-20
Nästa steg blir att köra en kalibrerings-kub från Thingiverse. Får se om jag hinner med det ikväll.

Edit: Det var ingen bra ide att göra utan att kalibrera maskinen först

Kalibrering:

Mät en startpunkt till den rörliga delen, X,Y,Z och E. Förflytta sedan en axel i taget. Nedan ser ni att jag på Z började på 152mm, i Pronterface förflyttade jag mig -50mm men i verkligheten var det endast 32mm. För att då få ut rätt värde för Z tar jag 2560/(Verklig förflyttning) x (Förväntad förflyttning), alltså 2560/32 x 50 som är lika med 4000. z: 152mm (startläge) z: 120mm (Move -50mm) rörelse 32mm = 2560/32 x 50 =4000 x: 34mm (startläge) x: 134mm (Move 10mm) rörelse 10mm = 80/10 x 100 = 80 y: 60mm (startläge) y: 163mm (Move 10mm) Rörelse 10.3mm = 80/103 = 77,66 E: 16mm (startläge) E: 29mm (Move 10mm) Rörelse 13mm 700/13 x 10 = 538.4

Mina värden ändrades då till {80, 77.66, 4000,538.4}
Default för sprinter är //#define _AXIS_STEP_PER_UNIT {80,80,2560,700}

Kolla in det här om ni inte förstår, länk.

2014-02-23 - Första kalibreringsprintet!
Första kalibreringsprintet fick jag igenom idag! Dock är det så att jag hade sönder min tempgivare till värmeplattan.. så fick köra utan någon värme.. värmeplattans uppgift är ju att hålla nere plasten. Jag körde med 2-3 lager av "extra hold" hårsprej och det verkar fungera hyfsat. Hade värmeplattan varit igång så tror jag att vi sett lite andra resultat.

24x24x24mm kalibreringskub med 0.4 Honeycomb infill.

Lägg märke till ljudet av brickor som rasslar mot ramen (Jo, jag ska spänna dessa)

Här ser ni att kanterna på botten av kuben har kupat sig och släppt från plattan.

http://www.softwaist.se/3d/bilder/DIY3d_20140223_01.JPG

http://www.softwaist.se/3d/bilder/DIY3d_20140223_02.JPG

2014-02-28
Har nu försökt köra skrivaren med värmeplattan, detta visade sig vara svårare än bara koppla på och köra.. mitt ström agg från datorn ska klara 12v 18A.. men tror inte det räcker, får konstigt beteende på motorerna.. de gör för stora rörelser och oftast backar all plast ut ur extrudern. Har läst att man kan använda sig av separata strömkällor för 12v 11a och 12v 5a ingångarna på ramps-kortet, men inte vågat prova.
Det andra jag stötte på var att bulten i extrudern börjar gräva in i plasten när skrivaren ska lägga första infill lagret. Har på känn att det kan bero på att jag inte kör hotend:en på tillräckligt hög värme.. så testkörde igår med 0.25mm lagerhöjd och hotend:en på 240grader, fick betydligt jämnare finish.

Hittade en bra kalibreringsguid, klicka här!

2014-03-02
Kalibreringen av min extruder var inte helt hundra, när det gäller så små marginaler. Så enligt guiden åvan räknade jag ut exakt.

Stora kughjulet 45 kuggar, lilla kugghjuelt 11 kuggar. A = (200 x 16) # 3200 B = 45 / 11 # 4,0909 C = 7 x 3,14159 # 21,99113 A x B / C = 595,28 // Wade with a 45:11 gear ratio (200 * 16) * (45 / 11) / (7 * 3.14159) = 595,28

Så nu verkar extrudern fungera prima! Är också viktigt att nämna att jag slice:ar numera med 0,2mm layer height. Har inte haft stopp sedan dess.
Problemet som kvarstår är att ABS-plasten har svårt för att fästa på värmeplattan när jag använder hårspray. Man måste tajma det rätt så att hårsprayet hinner torka helt innan första lagret är lagt.

2014-03-04
Så... efter att ha jobbat stenhårt med att få ABS att fastna på printbädden så övergav jag den.. Hade sedan innan köpt hem PLA för att byta efter jag skrivit ut lite reservdelar.. men men nu blev det ikväll, utan några fungerande reservdelar på lager.

Måste säga att PLA är grymt trevligt att ha och göra med. ska ni börja 3d-printa. Börja med PLA!

Körde nog lite varmt.. 210grader, var menat att köra 210 på första de första lagerna och sedan gå ner till 200.

Resultatet:

http://www.softwaist.se/3d/bilder/PRINT_20140304_Yoda.JPG

2014-03-05
Ikväll gjorde jag mitt längsta print, tidsmässigt. 3h 45min ca.. Inte helt nöjd med infill för printet, tror jag måste minska hastigheten.

En spool holder till plasten:

http://www.softwaist.se/3d/bilder/PRINT_20140305_Spoolhoder.JPG

Monterade 4st 624 kullager så att rullen kan snurra fritt.

2014-03-07
Vilken fröjd att printa med en spool holder printern tar precis vad den behöver.

Gårdagens print, minsta lager höjden hitintills (0.15mm)... R2D2.. hittade dock ingen .stl som var riktigt bra.. Printad från den här

http://www.softwaist.se/3d/bilder/PRINT_20140307_R2D2.jpg

Inställningar:

; layer_height = 0.15 ; perimeters = 3 ; top_solid_layers = 3 ; bottom_solid_layers = 3 ; fill_density = 0.25 ; perimeter_speed = 30 ; infill_speed = 20 ; travel_speed = 80 ; nozzle_diameter = 0.5 ; filament_diameter = 3 ; extrusion_multiplier = 1 ; perimeters extrusion width = 0.50mm ; infill extrusion width = 1.34mm ; solid infill extrusion width = 0.85mm ; top infill extrusion width = 0.85mm ; support material extrusion width = 0.50mm ; first layer extrusion width = 0.20mm

2014-03-08

Printade en låda till Ramps 1.4 kortet (.stl hittar ni här). Tog ca 4h 30min...

http://www.softwaist.se/3d/bilder/PRINT_20140308_Rampsbox_1.JPG

http://www.softwaist.se/3d/bilder/PRINT_20140308_Rampsbox_2.JPG

; layer_height = 0.4 ; perimeters = 3 ; top_solid_layers = 3 ; bottom_solid_layers = 3 ; fill_density = 0.5 ; perimeter_speed = 30 ; infill_speed = 40 ; travel_speed = 80 ; nozzle_diameter = 0.5 ; filament_diameter = 3 ; extrusion_multiplier = 1 ; perimeters extrusion width = 0.50mm ; infill extrusion width = 0.53mm ; solid infill extrusion width = 0.53mm ; top infill extrusion width = 0.53mm ; first layer extrusion width = 0.70mm

2014-03-11
Printade en mugg så att min kollega har någonstans att ställa sina pennor... 50% av orginalets storlek.. 1h 30m.
Men det är rätt lugnt för min kollega har bara en penna

http://www.softwaist.se/3d/bilder/PRINT_20140311_DarthVader.JPG

; layer_height = 0.30 ; perimeters = 3 ; top_solid_layers = 3 ; bottom_solid_layers = 3 ; fill_density = 0.3 ; perimeter_speed = 30 ; infill_speed = 40 ; travel_speed = 80 ; nozzle_diameter = 0.5 ; filament_diameter = 3 ; extrusion_multiplier = 1 ; perimeters extrusion width = 0.48mm ; infill extrusion width = 0.48mm ; solid infill extrusion width = 0.48mm ; top infill extrusion width = 0.48mm ; first layer extrusion width = 0.47mm ; Första lager M104 S210 ; set temperature M140 S70 ;set bed temp, no wait. M106 S150 ;set fan speed to 100 of 255 ; Alla andra lager M104 S205 ; set temperature M140 S45 ;set bed temp, no wait. M106 S150 ;set fan speed to 100 of 255

Av mr2clean
Skrivet av Romoes:

Intressant! Gillade ditt förra lampprojekt så det ska bli kul att följa detta.

Vill du spara några kronor på din ip-camera knske detta kan vara av intresse: http://www.codeproject.com/Articles/665518/Raspberry-Pi-as-lo...

Amazon ska ha en rätt ok texting service, kanske kan vara värt att kika in:
http://learn.adafruit.com/sms-texting-pet-food-dish

Har du tänkt att lägga till trådlösa sensorer och fler kameror också eller ska allt vara med kabel till PIn?

Den sms-tjänsten verkar ju vara något, finns många olika till varierande priser. sett den här? http://www.kjell.com/sortiment/el/el-produkter/starkstrom/fjarrstrombrytare/fjarrlarm/sms-sandare-och-mottagare-p50134

Jag har redan två st FOSCAM trådlösa IP kameror att köra på, så det är löst. Men den kamera modulen skulle man kunna ha i keypaden, så man ser vem som larmar av/på.

Funderar på att koppla in tellstick eller något liknande för att tända, släcka lampor.

Av mr2clean
Skrivet av DaBone:

Är det för att lura eventuella kodknäckare, som panelen är bakofram...?

Annars intressant projekt..

Hehhe, vet inte vad sketchup programmet höll på med. Spegelvände bilden.. men ingen dum ide?? Hehe

Skickades från m.sweclockers.com

Av mr2clean
Skrivet av addek83:

Tänker du skaffa någon backup-kraft om du har tjuvar som bryter strömmen? Eller det är kanske bara på film som de gör det?

Hehe, nja inga planer på ups ännu, bor i radhus-lgh. Annars kan man nog koppla ett mobilbatteri mellan strömadaptern och pajen... men hela systemet bygger på wifi i dagsläget, så det finns lite att fixa då. En sms gateway hade varit bra då.

Skickades från m.sweclockers.com

Av mr2clean
Skrivet av tiny_man:

Kommer du använda motion till övervakningen? eller finns det något annat med bättre fps?

Kommer köra på inbyggda funktionen i kameran för att skicka upp bilder till ftp, sedan matcha mot tidstämpel i namnet... är det tänkt..

Skickades från m.sweclockers.com

Av mr2clean
Skrivet av metalkiller78:

Låter som ett spännande projekt! Kommer du publicera scripten?

Skripten kommer upp så fort jag fått hem grejerna, keypad mm. Kodade lite ikväll, tror jag har löst input funktionen för pinkod.

Skickades från m.sweclockers.com

Av mr2clean

Projekt: Raspberry Pi Inbrottslarm/Hemlarm/Övervakning

Hej,
Detta blir mitt tredje projekt med Raspberry Pi. I min föregående tråd skrev jag om hur man styr GPIO via PHP. I den här tråden kommer jag bygga ett hemlarm med Keypad (för pinkod, larma på/av), magnetkontakter och webkameror.

Det jag vill åstadkomma är ett hemlarm som ljuder och skickar e-post när larmet triggas, antingen av magnetkontakterna eller webkamerorna.
Byggde en prototyp för ett tag sedan som fungerade bra, dock var det lite jobbigt att behöva surfa in på min hemsida för att larma av. Så nu blir det med en keypad vid dörren istället, plus att webkamerorna ska integreras.

Skriptspråk blir, HTML,PHP,Python

I dagsläget tror jag inte att jag kommer lödda, men vi får se.

Kommer ni på en bra ide till mitt projekt, håll det inte för er själva!

GPIO pins Rev 2.0
------------------------------------
3v3 ------- | ----- 5v
GPIO2 ----- | ----- 5v
GPIO3 ----- | ----- GND
GPIO4 ----- | ----- GPIO14
GND ------- | ----- GPIO15
GPIO17 ---- | ----- GPIO18
GPIO27 ---- | ----- GND
GPIO22 ---- | ----- GPIO23
3v3 ------- | ----- GPIO24
GPIO10 ---- | ----- GND
GPIO9 ----- | ----- GPIO25
GPIO11 ---- | ----- GPIO8
GND ------- | ----- GPIO7
------------------------------------
VIDEO out |
------------------------------------

Inköpslista (Mycket är köpt på Ebay):

1.a Raspberry Pi (OS, Rasbian Weezy). 349:-
1.b SDHC 4GB. 119:-
1.c Strömadapter. 149:-
1.d Mini/Slim USB WiFI dongel. 80:-
1.e Inbyggnadslåda för Raspberry Pi, Breadboard och kopplingar (19x19x7cm). 100:-

http://www.plastboxuk.com/Ebay/Z1/Z1_7.JPG

1.f "Breadboard" 20:-

http://kachail96.weebly.com/uploads/9/3/7/9/9379777/6888392_orig...

1.g Labborationskablar (JumperCables) ha-ha, ha-ho 40pack. 18:-

http://i.ebayimg.com/t/80-Pcs-20cm-2-54MM-Male-to-Female-Dupont-...

1.h Resistorer/motstånd blandat (270Ohm, 1kOhm behövs) Ebay. 10-20:-
1.i Kopplingsplint 19:-

http://www.biltema.se/ProductImages/35/large/35-810_l.jpg

1.j VELLMAN SV3 12volt siren 30:-

2.a Matrix Keypad "0-9 *#". 10:-

http://i.ebayimg.com/t/HOT-Design-1pcs-4-x3-Matrix-Array-12-Key-...

2.b Inbyggnadslåda för kablage (Keypad klistras på locket). 35:-

http://www.kjell.com/images/Product_130400492324992570/full/1/in...

2.c RJ45 10m hane-hane. 60:-
(Matrix Keypad 4x3 behöver 7 ledare till GPIO, rj45 har 8)

2.d Moduljack RJ45 "tool-free" för enkelheten att flytta keypad, byggs in i lådan. 35:-

http://www.kjell.com/images/Product_133361605743833021/full/1/mo...

3.a Magnetkontakt (Larma dörr/fönster) 49:-

http://www.kjell.com/images/Product_130400159586067306/full/1/ma...

3.b Kablage 4 ledare telefonkablage 6:-/meter

http://www.kjell.com/images/Product_130399940617587113/full/1/ka...

4.a Foscam Webcam (wifi) ca 400:-

http://i.ebayimg.com/t/Foscam-FI8918W-Wireless-IP-Network-Camera...

5.a SMS tjänst (http://www.textlocal.com/)

Ritning.

Keypad:

http://softwaist.se/raspberrypi/projekt2/layout_keypad.JPG

http://softwaist.se/raspberrypi/projekt2/layout_keypad2.JPG

Kommer använda mig av en RJ45 kontakt för att koppla in Keypaden, i lådan kommer "JumperCables" koppla samman RJ45 kontakten med keypaden.

Chassi för Raspberry och Breadboard:

http://softwaist.se/raspberrypi/projekt2/layout_chassi.JPG

Här kommer alla kablar att kopplas in till Raspberry PIs GPIO via breadboard, Kabelplinten är för att snabbt kunna flytta på lådan.

Kod:
Edit 2013-12-26.

Har med hjälp av Gaven McDonald på Youtube lyckats skapa ett Pythonskript som är tänkt att ta emot input från keypaden. Här hittar ni videon:

Började med att labba med olika loopar, tanken är att man knappar in koden och avslutar med "#", om man skriver fel, radera allt med "*":
http://softwaist.se/raspberrypi/projekt2/keypad.py

correctPassword = '1234#' passwordCount = '' password = '' # Keypad password check while True: if password == '#' and passwordCount == correctPassword: print("Password Correct") #Call external script, external script checks if alarm is going to be set on or off. #os.system("HomeSurveillance.py 1") passwordCount = "" password = "" if password == correctPassword: print("Password Correct") #Call external script, external script checks if alarm is going to be set on or off. #os.system("HomeSurveillance.py 1") passwordCount = "" password = "" elif passwordCount != correctPassword: password = input("Enter PIN ") passwordCount += password if password == "*": print("Keypad Reset") passwordCount = "" password = ""

Sedan gick jag vidare med skriptet som Gaven har skrivit:
keypad_pincode.py

Koden är testad! 2014-01-21
:Uppdaterat:
- def för siren
- kontrollera status för larmet via textfil

############################################### # Created by Gaven MacDonald # # http://www.youtube.com/watch?v=yYnX5QodqQ4 # # # # Modified by Ted Elmenheim # ############################################### #KEYPAD LAYOUT #---------- #|1 2 3 | --7 ----\ #|4 5 6 | --6 ---\| #|7 8 9 | --5 -- || #|* 0 # | --4 - \|| #---------- \||| # | | | |||| GPIO.BCM # | | | ||| \---7---- 4 # 1 2 3 || \----6---- 3 # | | | | \-----5---- 2 # | | \ \------4---- 10 # | \ ---------------3---- 9 # \ ------------------2---- 8 # --------------------1---- 7 #GPIO pins Rev 2.0 #------------------------------------ #3v3 ------- | ----- 5v #GPIO2 ----- | ----- 5v #GPIO3 ----- | ----- GND #GPIO4 ----- | ----- GPIO14 #GND ------- | ----- GPIO15 #GPIO17 ---- | ----- GPIO18 #GPIO27 ---- | ----- GND #GPIO22 ---- | ----- GPIO23 #3v3 ------- | ----- GPIO24 #GPIO10 ---- | ----- GND #GPIO9 ----- | ----- GPIO25 #GPIO11 ---- | ----- GPIO8 #GND ------- | ----- GPIO7 #------------------------------------ # VIDEO out | #------------------------------------ import RPi.GPIO as GPIO import time import os GPIO.setmode(GPIO.BCM) #Setup PIN CODE CHECKER correctPassword = '1234#' passwordCount = '' password = '' #Setup GPIO for siren GPIO.setup(11, GPIO.OUT) #Define sounds def SoundSiren_PIN_Correct(): GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) def SoundSiren_PIN_Reset(): GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) MATRIX = [ [1,2,3], [4,5,6], [7,8,9], ['*',0,'#'] ] #GPIO BCM rev.2 ROW = [7,8,9,10] COL = [2,3,4] #Setup GPIO COL output pins for j in range(3): GPIO.setup(COL[j], GPIO.OUT) GPIO.output(COL[j], 1) #Setup GPIO ROW input pins for i in range(4): GPIO.setup(ROW[i], GPIO.IN, pull_up_down = GPIO.PUD_UP) try: while(True): time.sleep(0.2) for j in range(3): GPIO.output(COL[j],0) for i in range(4): if GPIO.input(ROW[i]) == 0: #print(MATRIX[i][j]) #KEYPAD PIN CODE CHECKER password = MATRIX[i][j] passwordCount += str(password) print(passwordCount) if password == '#' and passwordCount == correctPassword: print("Password Correct") #Sound siren SoundSiren_PIN_Correct() #Get status of alarm 1=on 0=off if "off" in open("alarm_status").read(): SetActive = open('alarm_status','w') SetActive.write('on') SetActive.close() #Call external script to turn on Alarm. #os.system("HomeSurveillance.py 1") print("Alarm Active!") else: #Set status to "off" SetDisabled = open('alarm_status','w') SetDisabled.write('off') SetDisabled.close() #Call external script to turn off Alarm. #os.system("HomeSurveillance.py 1") print("Alarm Disabled!") passwordCount = "" password = "" if password == correctPassword: print("Password Correct") #Call external script, external script checks if alarm is going to be set on or off. #os.system("HomeSurveillance.py 1") passwordCount = "" password = "" if password == '#' and passwordCount != correctPassword: print("Wrong PIN - Keypad Reset") passwordCount = "" password = "" #Sound siren SoundSiren_PIN_Reset() if password == "*": print("Keypad Reset") passwordCount = "" password = "" #Sound siren SoundSiren_PIN_Reset() while(GPIO.input(ROW[i]) == 0): pass GPIO.output(COL[j],1) except KeyboardInterrupt: GPIO.cleanup() print("...............") print("Script terminated - GPIO reset!") print("...............")

Larm via SMS
Skapat ett gratiskonto på http://www.textlocal.com/, fungerar bra, verkar också ha helt ok priser (83 SMS för 68sek, ca 80öre/st).
Kommer använda mig av följande guide för att skicka larm:

#!/usr/bin/python #----------------------------------- # Send SMS Text Message # # Author : Matt Hawkins # Site : http://www.raspberrypi-spy.co.uk/ # Date : 30/08/2012 # # Requires account with TxtLocal # http://www.txtlocal.co.uk/?tlrx=114032 # #----------------------------------- # Import required libraries import urllib # URL functions import urllib2 # URL functions # Define your message message = 'Test message sent from my Raspberry Pi' # Set your username and sender name. # Sender name must alphanumeric and # between 3 and 11 characters in length. username = 'joebloggs@example.com' sender = 'RPiSpy' # Your unique hash is available from the docs page # https://control.txtlocal.co.uk/docs/ hash = '1234567890abcdefghijklmnopqrstuvwxyz1234' # Set the phone number you wish to send # message to. # The first 2 digits are the country code. # 44 is the country code for the UK # Multiple numbers can be specified if required # e.g. numbers = ('447xxx123456','447xxx654321') numbers = ('447xxx123456') # Set flag to 1 to simulate sending # This saves your credits while you are # testing your code. # To send real message set this flag to 0 test_flag = 1 #----------------------------------- # No need to edit anything below this line #----------------------------------- values = {'test' : test_flag, 'uname' : username, 'hash' : hash, 'message' : message, 'from' : sender, 'selectednums' : numbers } url = 'http://www.txtlocal.com/sendsmspost.php' postdata = urllib.urlencode(values) req = urllib2.Request(url, postdata) print 'Attempt to send SMS ...' try: response = urllib2.urlopen(req) response_url = response.geturl() if response_url==url: print 'SMS sent!' except urllib2.URLError, e: print 'Send failed!' print e.reason

DIY:

Idag har jag påbörjat bygget, fick hem keypaden och var på kjell och handlade en inbyggnadslåda 120x70x20 och en "keystone CAT6 UTP Toolless" RJ45 hona.

Borrade hål i locket så att kabeln kom igenom och klistrade på keypaden (Självhäftande baksida). Sågade sedan ett jack i kortsidan så att RJ45 kontakten fick plats.. inte helt hundra då kontakten var för stor, fast jag sågat av alla fästen...menmen, det blir ok, kommer inte se undersidan. Limmade sedan fast RJ45 kontakten med kontaktlim så att den inte ska kunna röra sig (Den är dock fastkilad).

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Så här ser den ut stängd. kommer visa kabeldragningen i dosan vid annat tillfälle, har inte fått mina "jumper cables" än.

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

2014-01-11:
Limmade fast kopplingslisten och laborationsplattan i lådan.
Borrade två hål (3mm) för att fästa RPi. Det gick inget vidare att limma fast muttrar i plasten, men det gör inte så mycket då undersidan har gummifötter. Satte även distanser av krympslang mellan RPi och lådan.
Borrade 1 hål (10mm) i ena sidopanelen för att dra ström och andra kablar igenom.

http://softwaist.se/raspberrypi/projekt2/projektbilder/SURV_2014...

2014-01-21:
Har äntligen tagit mig tiden att fixa kablaget för keypad-dosan. I och med att jag inte följde någon Ethernet-standard så fick jag snällt använda mig av en multimeter för att se vart kablarna gick

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Gick ändå ganska smidigt, kopplar på min patchkabel och drar in den i min låda

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Snyggt och prydligt.. eller hur..eeeh.. om jag bara orkat sparka igång löddkolven så hade jag minskat antalet kablar lite.
3st 1kΩ (Ohm) resistor kopplas emellan mina columns. Hade också kunnat köra 4st men då för row. (Keypaden är 3 kolumner och 4 rader)

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Editerade sedan skriptet för Keypaden. Uppdaterade med funktion (def) för sirenen och av/på funktion via textfil för att vet om jag ska sätta igång larmet eller stänga av det.

editerade rader:

#rad 49 (används för att skriva till en textfil): import os #rad 60-75 (Funktion för ljud/siren): #Define sounds def SoundSiren_PIN_Correct(): GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) def SoundSiren_PIN_Reset(): GPIO.output(11, True) time.sleep(0.25) GPIO.output(11, False) time.sleep(0.25) #rad 116-136 (sirenen kallar på en funktion istället. On/Off funktion tillagd): #Sound siren SoundSiren_PIN_Correct() #Get status of alarm 1=on 0=off if "off" in open("alarm_status").read(): SetActive = open('alarm_status','w') SetActive.write('on') SetActive.close() #Call external script to turn on Alarm. #os.system("HomeSurveillance.py 1") print("Alarm Active!") else: #Set status to "off" SetDisabled = open('alarm_status','w') SetDisabled.write('off') SetDisabled.close() #Call external script to turn off Alarm. #os.system("HomeSurveillance.py 1") print("Alarm Disabled!") #rad 149-155 (Om man slår fel kod, får man en Keypad Reset): if password == '#' and passwordCount != correctPassword: print("Wrong PIN - Keypad Reset") passwordCount = "" password = "" #Sound siren SoundSiren_PIN_Reset()

2014-02-02:

Kopplingsdiagram för magnetkontakter

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Kopplade dock ihop det med separata GND och 3.3v, hade inga ha till ha jumper cables och orkade inte luska ut något annat

http://www.softwaist.se/raspberrypi/projekt2/projektbilder/SURV_...

Skrev lite kod för att får input från magnetkontakterna:

#!/usr/bin/python #GPIO pins Rev 2.0 #------------------------------------ #3v3(used)-- | ----- 5v #GPIO2(used) | ----- 5v #GPIO3(used) | ----- GND #GPIO4(used) | ----- GPIO14 #GND ------- | ----- GPIO15 #GPIO17 ---- | ----- GPIO18 #GPIO27 ---- | ----- GND #GPIO22 ---- | ----- GPIO23 #3v3(used)-- | ----- GPIO24(used) #GPIO10(used)| ----- GND(used) #GPIO9(used) | ----- GPIO25(used) #GPIO11(used)| ----- GPIO8(used) #GND(used)-- | ----- GPIO7(used) #------------------------------------ # VIDEO out | #------------------------------------ # Import required Python libraries import RPi.GPIO as GPIO import time import subprocess # Use BCM GPIO references instead of physical pin numbers GPIO.setmode(GPIO.BCM) #Remove warnings GPIO.setwarnings(False) # Front door GPIO24 GPIO.setup(24, GPIO.IN) FrontDoor_Input = GPIO.input(24) # Back door GPIO25 GPIO.setup(25, GPIO.IN) BackDoor_Input = GPIO.input(25) #Check doormagnet for input def home_surveillance_2_0(): while True: #assuming the script to call is long enough we can ignore bouncing time.sleep(0.2) if ( GPIO.input(24) == False ): #Front Door - ALARM! #this is the script that will be called (as root) #os.system("python /var/www/sendmail.py") ##subprocess.Popen("python /var/www/sendmail.py", shell=True) ##subprocess.Popen("python /var/www/alarm.py on", shell=True) ##subprocess.Popen("date >> /var/www/status.txt", shell=True) print("Front Door OPEN!") time.sleep(2) if ( GPIO.input(25) == True ): #Back Door - ALARM! #this is the script that will be called (as root) #os.system("python /var/www/sendmail.py") ##subprocess.Popen("python /var/www/sendmail.py", shell=True) ##subprocess.Popen("python /var/www/alarm.py on", shell=True) ##subprocess.Popen("date >> /var/www/status.txt", shell=True) print("Back Door OPEN!") time.sleep(5) try: home_surveillance_2_0() except KeyboardInterrupt: GPIO.cleanup() print("...............") print("Script terminated - GPIO reset!") print("...............")

Av mr2clean
Skrivet av zonar:

Kul att du delar med dig av ditt projet med kod och allt! Tackar och bockar!

Jag kollade igenom din kod och det är en rad i python-koden som jag inte förstår.

try:
trigger() <---- Vad gör du här?
exctept:

mvh
zonar

Skickades från m.sweclockers.com

Fick själv problem med just den raden igår när jag körde en while loop som skulle köras 2 rundor, testade skapa en siren (Nytt projekt, kommer snart en guide på mitt hemmalarm).

Så här ser det ut (Inte riktiga koden, men ni förstår säkert vad jag menar):

####################
count = 0
while (count < 2):
#set GPIO 3.3 volt (HIGH)
#time.sleep(0.2)
#set GPIO 0 volt (LOW)
#time.sleep(0.2)
count = count + 1
try:
trigger()
except:
#keyboardinput
####################

Får också problem med trigger() "not defined". Tror trigger() betyder att den ska köra hela skriptet och sedan är ju "try" för att fånga felmeddelande.
I koden åvan behöver jag själv inte någon try/except, iom att jag enbart kör en av och på mot en GPIO.

Kanske någon annan som läser tråden som vet?

Av mr2clean
Skrivet av Romoes:

Härligt med lite rapsberry pi guider
KSa läsa igenom bättere efter jobbet men det ser bra och välskrivet ut.
Hoppas på fortsättningen av projektet någon gång

Kul att någon gillar min guide!
Det kommer komma en uppdatering, dock inväntar jag en hel del från ebay.. sjukt va mycket grejor man kan köpa för inga pengar alls!

Skickades från m.sweclockers.com

Av mr2clean

Guide - Styra GPIO via webläsaren (LAMP, Python)

Hej,
Fick min Raspberry Pi v.2 förra veckan (2013-09-24) och började genast leta efter guider på hur man konfigurerade den till att styra externa strömkällor.. för att på så sätt kunna koppla på DC-motorer, garageöppnare eller styra lampor i huset mm.
SÅ i och med det så bestämde jag mig för att dela med mig av vad jag knåpat ihop genom olika guider på nätet. Hoppas någon kan få nytta av det!

Tänk på att ni kan förstöra er Raspberry PI och än värre ta livet av er om ni mixtrar med ström! Bara en påminnare

Inhandlade Solderless Educative starterbox EDU01 http://www.kjell.com/sortiment/el/elektronik/elektroniklab/utbildningskit-elektronik-p36303
Kostade 149:- och har allt man behöver för att koppla ihop Raspberry Pi GPIO med extern strömkälla, !!!!OBS ENBART Låg VOLT!!!!!

Men det går ju bra att ha och labba med. Som jag kommer visa i den här guiden.

Det ni behöver är:
Raspberry PI med Rasbian på SD. och strömkälla
Nätverksanslutning
2st 1pin för att koppla ihop GPIO med Labb-brädan (Använder en kontakt från en gammal dator typ till LED eller intern högtalare)

Allt under här kan bytas ut / och kommer bytas ut av ett färdigt relä http://www.ebay.com.au/itm/New-5V-8-Channel-Relay-Module-Board-Electronic-for-Arduino-AVR-PIC-MCU-DSP-ARM/390568255094?_trksid=p2047675.m1850&_trkparms=aid%3D222002%26algo%3DSIC.FIT%26ao%3D1%26asc%3D11%26meid%3D1674567838104348330%26pid%3D100011%26prg%3D1005%26rk%3D2%26rkt%3D5%26sd%3D320871202967%26
Ska bara få hem det från kina, tar nog några veckor.. men då blir det att testa med "riktiga" lampor först.

1st 9volt batteri (Ingår ej i Utbildningskitet)
1st 240ohm (Ingår i Utbildningskit)
1st 10k ohm (Ingår i Utbildningskit)
1st BC547 Transistor NPN (Ingår i Utbildningskit)
1st Diod (För att inte strömmen ska gå på fel håll) http://www.kjell.com/sortiment/el/elektronik/halvledare/dioder/diod-1n4001-50v-1a-p90028(Ingår ej Utbildningskit)
1st LED (Ingår i Utbildningskit)

Så här ser kopplingschemat ut (snyggt va? ) Skripten kör mot GPIO11:

http://softwaist.se/raspberrypi/schema1.png

http://softwaist.se/raspberrypi/bild2.jpeg

http://softwaist.se/raspberrypi/bild.jpeg

Så här fixar man en LAMP server på Rasbian:

Installera LAMP server, (Linux Apache MySQL PHP)
https://www.digitalocean.com/community/articles/how-to-instal...

sudo su

apt-get update

apt-get install apache2 -y

Kontrollera vilken IP adress ni har och testa att surfa ditt: http://x.x.x.x
Om ni kör trådat
ifconfig eth0 | grep inet | awk '{ print $2 }'

Om ni kör trådlöst (Wifi)
ifconfig wlan0 | grep inet | awk '{ print $2 }'

alternativt (Leta efter något som liknar 192.168.0.100 (Vanligaste IP nät för hemmabruk), detta beror helt på hur ni satt upp er router/dhcp)
ifconfig

Installera nu MySQL (Om ni vill, bra att ha, MEN i den här guiden använder jag dock en text fil för att kontrollera om GPIO11 är på eller av)
apt-get install mysql-server -y
ange nytt lösenord för root användaren för MySQL

Kör konfiguration av MySQL
mysql_secure_installation

--------------------------
root@raspberrypi:/etc# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
... skipping.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

--------------------------

Installera PHP
apt-get install php5 php5-mysql libapache2-mod-php5

Starta sedan om Apache
service apache2 restart

Kontrollera om PHP fungerar:
Skapa en info.php-fil genom att köra:
nano /var/www/info.php
Klistra in följande och spara:
<?php
phpinfo();
?>

Öppna sedan er webbläsare och surfa in på ert ip till servern, http://x.x.x.x/info.php
Får ni fram en lila tabell med värden så fungerar PHP.

Installera python / för att köra .py skript mot GPIO:
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio

Ändra rättigheter, så att skript kan köras (Inte "best practice", men men vi ska ju inte öppna ut mot internet.. ..än ):
sudo nano /etc/sudoers

Lägg till följande rad längst ner (För att spara trycker ni CTRL-X, sedan "y"):
www-data ALL=(root) NOPASSWD:ALL

INSTALLERA FTP (Lättare att ladda upp till sidor webservern):
sudo apt-get install vsftpd

Editera konfigurationen:
nano /etc/vsftpd.conf

Leta upp följande rader och editera enligt nedan (OBS! Detta är inte "Best Practice" men snabbt att få igång, FTP användare borde vara enbart FTP användare då authentiseringen är i "Clear text"):
Anonymous_enable=NO
Local_enable=YES
Write_enable=YES
Ascii_upload_enable=YES
Ascii_download_enable=YES
local_umask=022

Lägg till följande rad under "Local_enable=YES":
local_root=/var/www

Spara sedan filen och starta om FTP tjänsten:
/etc/init.d/vsftpd restart

Ändra så att ni kan skriva till mappen där hemsidan ligger:
root@raspberrypi#:cd /var
root@raspberrypi:/var#chmod 777 www

Testa nu att öppna FTPn från er (windows) dator genom att öppna CMD, (START->Kör->"cmd" <tryck enter>)
Ni kan även använda öppna FTPn genom att öppna en mapp och skriva ftp://xxx.xxx.xxx.xxx istället för sökvägen till mappen som står
(http://www.cs.colostate.edu/helpdocs/ftp.html)

Vill ni använda min design så kan ni hämta filerna här:
softwaist.se/raspberrypi/Raspberry_Switch-a-Php.zip

Jag har försökt kommentera lite i .php filerna så att ni lättare ska kunna editera med flera GPIO:er.

LightOFF.py = Python-skript för att sätta GPIO till 0v
LightON.py = Python-skript för att sätta GPIO till 3.3v
OnOrOff.txt = Textdokument för att få en kontroll på om GPIO11 är 3.3v eller 0v
Raspberry_Pi_Logo.png = Hallon
index.html = För att man ska kunna ansluta mot enbart http://ipadressen (Redirect till index.php)
index.php = Sidan där knapparna ger input, så att de två skripten körs
info.php = för att lista alla specifikationer om Apache-servern
style.css = Fil för att få det fina utseendet på knapparna...

Navigera till mappen där ni sparat index.php, index.html och de andra filerna

C:\>cd "C:\work\Raspberry Pi"
C:\work\Raspberry Pi>ftp
ftp> open 172.16.0.19
Connected to 172.16.0.19.
220 (vsFTPd 2.3.5)
User (172.16.0.19:(none)): pi
331 Please specify the password.
Password:
230 Login successful.
ftp> bin
200 Switching to Binary mode.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
info.php
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13.00Kbytes/sec.
ftp> put index.html
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 527 bytes sent in 0.00Seconds 263.50Kbytes/sec.
ftp> put index.php
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 670 bytes sent in 0.00Seconds 670.00Kbytes/sec.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
LightOFF.py
LightON.py
OnOrOff.txt
Raspberry_Pi_Logo.png
index.html
index.php
info.php
style.css
226 Directory send OK.
ftp: 36 bytes received in 0.00Seconds 18.00Kbytes/sec.
ftp>bye

Testa nu att surfa till http://x.x.x.x/index.html
Fungerar inte?

Logga in på Raspberry Pi och kör följande för att lägga till rättigheter på filerna:

root@raspberrypi:#cd /var/www
root@raspberrypi:/var/www# chmod 666 index.html
root@raspberrypi:/var/www# chmod 666 index.php
root@raspberrypi:/var/www# chmod 666 info.php
root@raspberrypi:/var/www# ls -lsa
total 20
4 drwxrwxrwx 2 root root 4096 Oct 1 07:23 .
4 drwxr-xr-x 12 root root 4096 Oct 1 06:14 ..
4 -rw-rw-rw- 1 pi pi 508 Oct 1 07:23 index.html
4 -rw-rw-rw- 1 pi pi 633 Oct 1 07:23 index.php
4 -rw-rw-rw- 1 root root 20 Oct 1 06:41 info.php
root@raspberrypi:/var/www#

Och så har vi ett färdigt resultat som ser ut så här:
En liten film,

I mobiltelefonen,

http://softwaist.se/raspberrypi/Screenshot.png

I datorn,

http://softwaist.se/raspberrypi/Screenshot_computer.png

Om ni använder bifogad index.php så kan det vara bra att veta lite hur det går till.

<?php // Check for safe mode, Detta är egentligen bara för att vara säker på att vi kommer kunna köra exec-kommandot... if( ini_get('safe_mode') ){ // Do it the safe mode way echo "Server runs in safe mode, Script will not be executed"; }else{ // Do it the regular way } //Rename post to other variable - Post funktionen som hämtas från formuläret (knapparna) $LightON = $_POST['RunScript_LightON']; $LightOFF = $_POST['RunScript_LightOFF']; //POST SWITCH - En simpel switch tyckte jag var roligare att använda då vi kan utveckla sidan betydligt mer än om vi bara har "if isset" switch ($_GET['action']) { case "ON": exec("sudo python /var/www/LightON.py"); //Kör skriptet - sätt GPIO till 3.3v exec("echo 1 > /var/www/OnOrOff.txt"); //uppdaterar OnOrOff.txt med "1" för att indikera att GPIO är satt till 3.3v break; case "OFF": exec("sudo python /var/www/LightOFF.py"); //Kör skriptet - sätt GPIO till 0v exec("echo 0 > /var/www/OnOrOff.txt"); //uppdaterar OnOrOff.txt med "1" för att indikera att GPIO är satt till 0v break; } //Check if OnOrOff.txt is set to 1 or 0 // satt vi vet, även om vi startar en ny session i webläsaren. $OnOrOff = exec("cat /var/www/OnOrOff.txt"); //Check which button to be shown, if OnOrOff.txt equals 1, show off button, else show on button if($OnOrOff == "1"){ $Button_OFF = "<input type='submit' class='button_two' value='OFF' name='RunScript_LightOFF'>"; }else{ $Button_ON = "<input type='submit' class='button_one' value='ON' name='RunScript_LightON'>"; }

Optional - Installera PostFix - Skicka mail via PHP (PhpMailer eller sendmail)

apt-get install php-pear
pear install mail
pear install Net_SMTP
pear install Auth_SASL
pear install mail_mime
apt-get install postfix

Av mr2clean

LED lamporna får jag att tändas, som man ser i videon.

Skrivet av Ghoetic:

Börja med att ta ut all koppling och starta från början.

mellan motorns + och - sätter du dioden i rätt riktning, den är oftast markerad.
koppla batteriets + till motorns +. sedan - från batteriet till GND.

koppla motorns - till kollektorn på transistorn.
styrströmmen från utvald raspberry pi gpio pin till basen av transistorn. antingen som hel av/på puls eller pwm för hastighets styrning. mellan denna gpio pin och basen sätter du en resistor som släpper nog med ström och får transistorn att bottna (saturate) kolla genom transistorns datablad (googla) sen räknar du ut om det räcker med formlen u (spänning) delat på r (resistans) = (i) strömm => 3,3volt/240ohm = 0.01375 Ampere

koppla sedan transistorns emitter till GND möjligtvis med en 10k ohm resistor imellan som pulldown.

börja så simpelt sen om det fungerar ser du om din krets klarar av att driva lysdioderna, de kan dock också behöva en pulldown/up resistor var.

Lycka till!

Tjena!
Det är exakt så jag kopplat, förutom att jag av lathet satte dioden på fel ställe.
LED lamporna får jag att tändas, som man ser i videon.

Kan det vara så att jag inte "öppnar" transistorn tillräckligt för att driva mer än LED lamporna?

Av mr2clean

Varför snurrar inte DC-motorn?

Hej,
Fixade ihop så att jag kan sätta på stänga av en extern krets.. dock så får jag enbart LED lampor till att lysa.. Ser att jag har ca 12v där motorn kopplas in.
8-9v om jag användar 9volt batteriet.

Frågan är om det är så att jag har för dåligt med Ampere när den kommer fram till motorn? Eller är min krets felaktig?

Extern strömkälla är 9v batteri 500mAh (Har även testat med 12v 2Ah).

DC-motorn är 2,5-6V, 14500 v/min, 250 mA. Rotationsriktning reversibel genom polvändning.
(http://www.kjell.com/sortiment/el/elektronik/elektromekanik/m...)
Motorn fungerar, testat att ansluta den direkt till 9v samt 12v.

Mellan GPIO 11 -> "base" på transistorn (TP90 NPN) sitter 240ohm resistor.
Mellan GND (Den brevid GPIO11) -> Emittern på transistorn sitter en 10k Ohm resistor.

Har även en diod för att försäkra mig på att strömmen går åt rätt håll (dock fel placerad nu..?)

http://softwaist.se/raspberrypi/bild.jpeg

http://softwaist.se/raspberrypi/bild.jpeg

http://softwaist.se/raspberrypi/bild2.jpeg

http://softwaist.se/raspberrypi/bild2.jpeg

Och en liten film på det hela..
http://softwaist.se/raspberrypi/start_stop.MOV

Har följt den här guiden:

http://www.geekingabout.com/controlling-12v-dc-motor-using-ra...

Av mr2clean

Varukorgen:

Så här blev det tillslut:

Antal Restnot. Artikelnummer Benämning à pris (SEK) Rad total (SEK)
1 0 5010602255 LOGITECH WIRELESS TOUCH KEYBOARD K400 #NORDIC 258,82
1 0 5010116429 KABEL AUDIO 3.5MM HANE TILL 2XRCA HANE 5.0M 26,95
1 0 5010544367 INTEL CORE I5 2400S 2.50GHZ 6MB S-1155 1 352,00
2 0 5010165337 FRACTAL DESIGN SILENT SERIES 60MM 19DB RETAIL 90,86
1 0 5010485739 CORSAIR 8GB DDR3 XMS3 INTEL I5/I7 PC12800 1600MHZ (2X4GB) 359,20
1 0 5010586214 CHIEFTEC BT-02 MINI-ITX 180W BLACK 412,87
1 1 5010627060 ASUS P8H77-I H77 S-1155 MINI-ITX IVY 712,00
1 0 5010064527 ARCTIC SILVER 5 KYLPASTA (3.5 GRAM) 53,91

Varuvärde: 3 266,61
Frakt: 0,00
Moms tillkommer med: 816,65
Att betala: 4 083,27

Valde att köra på den boxade kylaren till processorn. Och kör två 60mm fläktar bak (ställbara, y-adapter från kjell.com 79.90:-)
http://www.kjell.com/sortiment/dator-kringutrustning/datorkom...

Kommer användas till film/tv-serier och någon virtuell Linux-server. Så valde att inte lägga in större processor.

Tack för hjälpen med valet av komponenter!

Av mr2clean

Tack för svaret Svensktiger!
Finns det utrymme för att koppla på 3st fläktar på moderkortet/Nätagg?

Av mr2clean

CD/DVD/ISO till USB-bootable... Hemmaknåpat bat-skript

Men hallå det finns ju program som gör detta åt dig, säger ni...
Mitt svar är: Hur kul är det? Hehe, hjälp gärna till att förbättra mitt skript!

1. Formaterar din (USB)enhet och gör så att man kan boota från den.
2. Kopierar över filerna från CD/DVD till vald enhet (USB).

Ladda ner bat-filen och kör:
http://www.softwaist.se/Make-USB-Bootable.bat

Först måste CD/DVD/ISO vara "mountad" i en enhet.
(För ISO-filer så kan man använda daemond tools lite)
http://eu-uk1.disc-tools.com/request?p=7d30b1bb9e908bbd376a05840996c706/DTLite4454-0315.exe

REM .......SKRIPTET.......

@echo off
mode con: cols=45 lines=30

color 2

echo.

echo.

echo.

echo.

echo.

echo.

echo #############################################

echo ######## CD/DVD/ISO to USB-Boot #########

echo #############################################

echo.

echo "FEAT. DISKPART & XCOPY"

echo .............................................

echo.

echo.

echo.

echo.

pause

CLS

echo #############################################
echo.
echo Make USB-Boot with?
echo.
echo #############################################
echo.
echo A: Windows OS
echo B: Other
echo.
echo .............................................

:choice
set /P C=Choos one [A,B]?
if "%C%"=="B" goto OTHER
if "%C%"=="A" goto WINDOWS
if "%C%"=="b" goto OTHER
if "%C%"=="a" goto WINDOWS
goto choice

:WINDOWS

CLS

echo #############################################
echo.
echo WICH CD/DVD/ISO DO YOU WANT TO MAKE COPY OF?
echo.
echo #############################################
echo.
echo " Ex. COPY FROM:D "
echo.
echo .............................................
set FROM=

set /P FROM=COPY FROM: %=%

echo FROM: %FROM%

CLS

echo #############################################
echo #############################################
echo.
echo "WICH DISK DO YOU WANT TO MAKE BOOTABLE?"
echo.
echo .............................................
echo.
echo !!!!!THIS WILL FORMAT THE DISK!!!!!
echo.
echo Check "Disk management" to be sure!
echo " Ex. FORMAT USB-DISK:DISK=1 "
echo .............................................
echo.
echo.

set TO=
set /P TO=FORMAT USB-DISK: %=%

echo FORMAT: %TO%

echo.
echo.
echo.

CLS

echo #############################################
echo #############################################
echo.
echo WICH DISKLABLE DO YOU WANT TO MAKE BOOTABLE?
echo.
echo .............................................
echo " Ex. LABLE OF USB-DEVICE: I "
echo .............................................
echo.

set LABLE=

set /P LABLE=LABLE OF USB-DEVICE: %=%

echo TO USB-DEVICE: %LABLE%

CLS

echo #############################################
echo #############################################
echo.
echo COMMAND
echo .............................................
echo.
echo.

echo FORMAT %TO%: AND MAKE BOOTABLE.
echo.
echo FROM DEVICE: %FROM%: TO USB LABELED: %LABLE%:
echo.
echo.
echo.

set BLANKT=

set /P BLANKT=PRESS ENTER TO MAKE USB BOOTABLE! %=%

CLS

echo.
echo.
echo.
echo WAIT, FORMAT IN PROGRESS!
echo.
echo.
echo.

echo select %TO% > diskpart-skript.txt
echo clean >> diskpart-skript.txt
echo create partition primary >> diskpart-skript.txt
echo select partition 1 >> diskpart-skript.txt
echo active >> diskpart-skript.txt
echo format fs=NTFS QUICK >> diskpart-skript.txt
echo assign letter=%LABLE% >> diskpart-skript.txt
echo exit >> diskpart-skript.txt

PING 8.8.8.8 -n 4 > NULL

DISKPART /s %CD%\diskpart-skript.txt

PING 8.8.8.8 -n 25 > NULL

echo.

REM MAKE BOOTABLE WINDOWS

cd %FROM%:\boot

bootsect /nt60 %LABLE%:

xcopy %FROM%:\*.* /s/e/f %LABLE%:\

echo.

PING 8.8.8.8 -n 4 > NULL

del %CD%\diskpart-skript.txt
del %CD%\NULL

echo.
echo.
echo.
set BLANKT2=

set /P BLANKT2=FINISHED %=%

echo.

exit

:OTHER
echo #############################################

echo.

echo "WICH DISK DO YOU WANT TO MAKE COPY OF?"

echo.
echo " Ex. COPY FROM:D "
echo.
echo ##############################################

set FROM=

set /P FROM=COPY FROM: %=%

echo FROM: %FROM%

CLS

echo #############################################
echo #############################################
echo.
echo "WICH DISK DO YOU WANT TO MAKE BOOTABLE?"
echo.
echo .............................................
echo.
echo !!!!!THIS WILL FORMAT THE DISK!!!!!
echo.
echo Check "Disk management" to be sure!
echo " Ex. FORMAT USB-DISK:DISK=1 "
echo .............................................
echo.
echo.

set TO=
set /P TO=FORMAT USB-DISK: %=%

echo FORMAT: %TO%

echo.
echo.
echo.

CLS

echo #############################################
echo #############################################
echo.
echo WICH DISKLABLE DO YOU WANT TO MAKE BOOTABLE?
echo.
echo .............................................
echo " Ex. LABLE OF USB-DEVICE: I "
echo .............................................
echo.

set LABLE=

set /P LABLE=LABLE OF USB-DEVICE: %=%

echo TO USB-DEVICE: %LABLE%

CLS

echo #############################################
echo #############################################
echo.
echo COMMAND
echo .............................................
echo.
echo.

echo FORMAT %TO%: AND MAKE BOOTABLE.
echo.
echo FROM DEVICE: %FROM%: TO USB LABELED: %LABLE%:
echo.
echo.
echo.

set BLANKT=

set /P BLANKT=PRESS ENTER TO MAKE USB BOOTABLE! %=%

CLS

echo.
echo.
echo.
echo WAIT, FORMAT IN PROGRESS!
echo.
echo.
echo.

echo select %TO% > diskpart-skript.txt
echo clean >> diskpart-skript.txt
echo create partition primary >> diskpart-skript.txt
echo select partition 1 >> diskpart-skript.txt
echo active >> diskpart-skript.txt
echo format fs=NTFS QUICK >> diskpart-skript.txt
echo assign letter=%LABLE% >> diskpart-skript.txt
echo exit >> diskpart-skript.txt

PING 8.8.8.8 -n 4 > NULL

DISKPART /s %CD%\diskpart-skript.txt

PING 8.8.8.8 -n 25 > NULL

echo.

xcopy %FROM%:\*.* /s/e/f %LABLE%:\

echo.

PING 8.8.8.8 -n 4 > NULL

del %CD%\diskpart-skript.txt
del %CD%\NULL

echo.
echo.
echo.
set BLANKT2=

set /P BLANKT2=FINISHED %=%

echo.

exit

REM .......SLUT.........

Av mr2clean

Köpråd bygge av mini-pc, HTPC

Hej!
Har några frågor angående mitt bygg.

1. Behöver jag mer kylning i form av chassifläkt? Isf, förslag på fläkt och tillhörande delar jag skall tänka på?
Blir inte klok på vilken storlek på fläkten som det handlar om och vilka tillbehör jag behöver isf.
Finns tre platser för fläktar.

2. Kommer processorn att få plats i chassit? Lågprofil? Om inte, förslag på processor eller annat chassi?

Tänkta delar:

Chassi:
CHIEFTEC BT-02 MINI-ITX 180W BLACK
540,00
http://www.dustinhome.se/product/5010586214/chieftec-bt-02-mi...

Moderkort:
ASUS P8H77-I H77 S-1155 MINI-ITX IVY
890,00
http://www.dustinhome.se/product/5010627060/asus-p8h77-i-h77-...

Processor:
INTEL CORE I5 2400S 2.50GHZ 6MB S-1155
1690,00
http://www.dustinhome.se/product/5010544367/intel-core-i5-240...

Minne:
CORSAIR 8GB DDR3 XMS3 INTEL I5/I7 PC12800 1600MHZ (2X4GB) 449,00
http://www.dustinhome.se/product/5010485739/corsair-8gb-ddr3-...

Med vänlig hälsning,
Ted

Av mr2clean

php query

Hej,
Vill jämföra två värden som ligger under samma column i en tabell.

Ena är session user, den andra en annan avändares...

Table:
Username ¦ column
Anv .1. ¦ 1234
Anv. 2. ¦ 2345

Ny på php o databaser som ni märker.

Skickades från m.sweclockers.com

Av mr2clean

Tack för svaret!
Tog en annan ingång i moderkortet. Verkar ha löst problemet.

Av mr2clean

Ny HDD, är den trasig?

hej!
Har en två veckor gammal HDD (Western Digital Caviar Green 1TB sata).
Det hela började med att jag fick upp CRC-fel när jag ladda ner i utorrent. Och datorn hängde sig.
Testade mina minnen och dom fungerade.
Körde sedan WD Lifeguard D. och fick upp:

"quick test on drive 1 did not complete!
status code =07 (failed read test element), failure checkpoint = 109 (unknown test)
smart self-test did not complete on drive 1!"

Har även kört "extended test" (WD Lifeguard) med meddelandet "för många fel för att slutföra".
Körde även windows chdsk och allt verkade var bra.

Hade från början tre partitioner 20gb (windows), 490gb,490gb..
När jag nu felsökte så ändrade jag till 40gb (win) och resten på den andra partitionen.

Allt fungerar som vanligt och har inte fått fler CRC-fel... men får fortfarande fel i WD lifeguard.

Frågan är då: Är det fel HDDn och kommer den att krascha?

mvh

Av mr2clean

Downgrade från W7 till Superior XP

Tjena!
Har precis köpt ny laptop:
HP Notebook G62-a12so
(HP G62-a12SO Notebook PC - HP Customer Care (United States - English))
Amd turion II p520 dual-core 2.30GHz

Amd sata controllern jag kör nu: version 1.2.0.164

Tycker windows 7 går lite segt och skulle vilja byta till (S)XP...
Men för att kunna installera det så måste man disable:a "native-SATA" i bios.
Detta går inte då det inte finns tillgängligt i bios. Hittade på HP® - Laptops, Desktop, Printers, Servers, and more hur man kunde gå till väga för att få det att fungera. dom är emot att man gör det pga prestanda osv, vad tycker ni?

Iaf så kan jag inte hitta rätt driver. Någon som kan hjälpa mig hitta den och vägleda mig igenom hur jag ska få in XP i burken?

Här är länken till hp´s hemsida med info om saken i fråga:
How to Add Serial ATA (SATA) Drives to a Windows Installation HP G62 Notebook PC series - HP Customer Care (United States - English)

Mycket tacksam för svar!
mvh