INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stel u Framboos Pi op
- Stap 2: Sluit u hardeware aan
- Stap 3: Voeg die kode by
- Stap 4: gee 'n kans
- Stap 5: Ontfouting en die RxTx.py -lêer
- Stap 6: Geniet dit
Video: Hoe om die afsetpunte te beheer met 'n framboos Pi: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie instruksies sal ek u demonstreer hoe u 'n webkoppelvlak kan skep om afsetpunte in u huis te beheer met 'n Raspberry Pi. Ek het gekies om hierdie projek te skryf toe ek die Sensors -wedstryd sien, en aangesien hierdie projek die gebruik van 'n sensor behels om kodes af te lees van die afstandsbediening wat by die afsetpunte wat u koop, gelees het, het ek gedink dat hierdie projek die perfekte pas sou wees.
Ek sal werk om dit so hoog as moontlik te hou en kode te verskaf om dit alles te laat werk. As u almal ape daar buite het, kan u gerus in die kode gaan soek en my in die kommentaar ondersoek! Ek is altyd op soek na verbetering. Daar is nogal iets aan die gang, so as u vrae het oor enige stap, laat dan 'n opmerking, sodat ek die Instructable kan opdateer met die nodige besonderhede.
Hierdie projek gebruik afsetpunte met 'n radiofrekwensie -beheer by 433MHz, tesame met 'n RF -sender wat aan u framboospi gekoppel is. Die afsetpunte het afstandsbedienings wat afsetpunte aan/uit kan skakel, maar dit is nie lekker nie! Ons sal in plaas daarvan 'n webbediener gebruik wat op die framboospi werk, sodat almal wat aan die netwerk gekoppel is, sekere afsetpunte kan aan- of uitskakel. 'N Webfront aan hierdie projek is ideaal, aangesien enige met die internet gekoppelde toestel op u netwerk as u afstandbeheer gebruik kan word.
Dit is 'n projek wat ek al jare lank wil voltooi, en hoewel daar nog ruimte is vir aanvullings, is die projek soos volg beskryf 'n funksionele stelsel.
Voorrade
- 'N Framboos Pi (ek het 'n RPi 3 Model B+gebruik)
- 'N 433MHz sender en ontvanger (ek het hierdie een gebruik)
- 433 MHz afsetpunte (ek het dit gebruik)
- Springers van vrou tot vrou (ek het hierdie klomp gekoop)
- 'N Rekenaar of 'n draagbare toestel wat toegang tot die internet kan verkry
Stap 1: Stel u Framboos Pi op
Begin deur die nuutste weergawe van Raspbian op u nuwe Raspberry Pi te installeer. As u van plan is om 'n bestaande Pi te gebruik (wat u heeltemal kan doen), is alles wat u hoef te doen om seker te maak dat u Python 3 op u Pi het, want dit is waarin al die bronkode wat ek verskaf, geskryf is., tik
luislang 3
in die opdragreël. As u Python 3 het, moet u die python -terminale sien oopmaak. Verlaat die terminaal deur te sluit of te tik
uitgang ()
Nadat u dit bevestig het, moet u die kolf op u Pi installeer. Met die fles kan ons ons webbediener skep. Tik vanaf die opdragreël Pi
sudo pip3 installeer fles
As u geen pip op u Pi geïnstalleer het nie, moet u tik
sudo apt-get install python3-pip
Ek verkies om op my Raspberry Pi te ontwikkel vanuit die gemak van my tafelrekenaar. As u ook hierdie opsie verkies, moet u 'n soort omgewing op SSH in die Pi installeer. PuTTY sal werk, maar ek verkies om 'n GUI (grafiese gebruikerskoppelvlak) te hê, wat dit laat lyk asof u direk op die Pi is. Vir die GUI -opsie wil u VNC Viewer installeer op die rekenaar waarmee u wil werk. Daar is ook instellings wat u op u Pi moet aanpas. Instruksies vir die wysiging van instellings kan hier gevind word.
Stap 2: Sluit u hardeware aan
Op hierdie punt is dit tyd om al die fisiese verbindings te maak wat u moet doen ter voorbereiding vir die opstel van die bronkode vir hierdie projek. U verbind die penne van die sender en die ontvanger met die GPIO -penne van u Pi. U sal die pinout -diagram van die GPIO -penne godsdienstig wil verwys. Om dit te doen, maak die terminale op u Pi oop en tik
pinout
Die volgende is die verbindings wat ek gemaak het. U kan 'n ander konfigurasie hê as u ander sender-/ontvangerhardeware koop as wat ek in die inleiding aangedui het. As u besluit om ander speldnommers te kies as die wat ek hieronder aandui, moet u nie vrees nie! As u die bronkode aflaai, verander die speldnommers soos benodig in die RxTx.py -lêer.
Ontvanger (groot chip):
- GND - Enige aangewese grondpen
- DATA - pen 11
- DER - Nie gekoppel nie
- +5V - Enige aangeduide +5V -pen
- ------
- +5V - Enige aangeduide +5V -pen
- GND - Enige aangewese grondpen
- GND - Nie gekoppel nie
- ANT - Nie gekoppel nie
Opmerking: u kan 'n antenna aansluit soos nodig, maar ek het gevind dat ek dit nie nodig gehad het nie. Hierdie klein skyfie was verbasend sensitief en bespeur getrou seine tot minstens 50 voet van waar dit gesit het en deur ten minste twee mure.
Sender:
- P - Die 3.3V -pen
- DA - pen 7
- G - Enige aangewese grondpen
- AN - nie gekoppel nie
Opmerking: u kan weer 'n antenna aan die sender koppel soos nodig, maar ek het gevind dat dit nie nodig was nie. Die reikafstand is meer as voldoende (50+voet).
Stap 3: Voeg die kode by
Dit is die deel waaraan ek die meeste van my tyd bestee het toe ek hierdie projek ontwikkel het. Ek probeer om soveel moontlik kommentaar te lewer, maar ek het waarskynlik leemtes gelaat wat moontlik verduideliking vereis as iemand van u tyd spandeer om dit te verstaan. Gee 'n opmerking as dit met u gebeur!
Die tale wat hier betrokke is, is:
- Python
- CSS
- Javascript
- HTML
- JQuery/Ajax
Die Python word gebruik in die kolfbediener en in die
RxTx.py
lêer, wat die oordrag en ontvangs van die kode hanteer. CSS word gebruik om die styl van die webblad te genereer. Wie wil 'n vervelige webwerf hê !? Javascript word gebruik in enige van die gebeurtenishantering (druk op 'n knoppie, ens.). HTML is die belangrikste bousteen van die webblad. Uiteindelik word JQuery/Ajax gebruik om te kommunikeer tussen die webblad en die Python -agterkant.
As al hierdie tale intimiderend klink, moenie bekommerd wees nie! Ek het net geweet dat Python hierdie projek aangaan, wat toevallig die taal was wat die minste kodering behels, maar dit is genoeg om te sê, neem die tyd om die kode deur te kry as dit is wat u kies om te doen. As jy nie wil nie, hoef jy nie!
Die volgende is die gidsstruktuur wat ek gekies het om met hierdie webblad te gebruik. Die ritsmap wat by hierdie stap aangeheg is, bevat al die bronkode in die volgende struktuur.
Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> webblad-- staties ----- favicon.ico ----- style.css-- templates ----- index.html ----- skedule.html-- app.py-- data.file
U kan die gids Outlet Switch oral op u Pi plaas. As u gereed is om u webbediener uit te voer, maak u die terminale op u Pi oop en
cd
(verander gids) na die webbladlys. Tik dan
python3 app.py
na die terminale. As daar geen foute was nie, moet u klaar wees!
P. S. Wees geduldig as u foute ondervind. Ek het probeer om hulle almal te stamp voordat ek dit oplaai.
Stap 4: gee 'n kans
Noudat u die kode gebruik, kan u 'n gevoel van die webkoppelvlak binne u vingers kry. Die stelsel se beheer is baie eenvoudig:
- U kan soveel afsetpunte byvoeg as wat u wil met die webkoppelvlak.
- Om uit te vee, is so eenvoudig soos om op wysig te klik, die afsetpunte te kies wat u wil verwyder en op verwyder te klik.
Bogenoemde YouTube -video demonstreer hoe u eintlik 'n nuwe afsetpunt by u lys kan voeg. Om op te som wat dit toon:
- Voer eers die titel van uitlaat in die veld Titel in
- Klik of raak buite die veld Titel sodat die program kan kontroleer dat die titel nie reeds bestaan nie. U kan nie titels met dieselfde naam hê nie
- Sodra dit bekragtig is, word die knoppies AAN en UIT -kode aangeskakel.
- Hou die AAN -knoppie op u afstandbeheer ingedruk en klik vinnig op die AAN -kode -knoppie op die koppelvlak. Hou die knoppie op die afstandsbediening ingedruk totdat u binêre kode die aangrensende veld vul.
- Herhaal die vorige stap vir die OFF -kode.
- Klik op OK, en nou is u gereed om hierdie skakelaar oor te skakel!
Soos in die inleiding genoem, is die projek nie 100% voltooi vir my eie gebruik nie. Die grootste komponent wat ek nog moet voltooi en implementeer, is die skeduleringsvermoë. Ek is van plan om die gebruiker toe te laat om 'n skedule op te stel waarmee outomaties afsetpunte op aangewese tye in- en uitgeskakel kan word.
Stap 5: Ontfouting en die RxTx.py -lêer
Die enigste bekende beperking van die stelsel is dat daar 'n kans is op onversoenbaarheid tussen verskillende verkopers se winkels. Die aan en af kode boodskappe is 25 bisse vir my stelsel, en as 'n stelsel 'n ander boodskaplengte het, is dit nie onmiddellik versoenbaar met hierdie projek nie. As u die instruksies presies gevolg het en u steeds probleme ondervind om dit te laat werk, is die volgende die beste manier om die probleem te ontfout.
-
Maak seker dat u matplotlib op u Pi geïnstalleer het. U kan dit doen deur die volgende in die Pi se terminale in te tik:
-
luislang 3
-
invoer matplotlib
- As u 'n fout ontvang, moet u matplotlib installeer.
-
Verlaat die luislang met
uitgang ()
-
-
Om matplotlib te installeer, tik
sudo pip3 installeer matplotlib
- na die terminale
- Laai die aangehegte test.py -lêer af en plaas dit langs die RxTx.py -lêer op u Pi
- Maak die python -terminale oop en verander die gids in die comm -gids.
-
Tik
python3 test.py
- As dit '** begin met opname' sê ', hou u u aan- of afknoppie op u afstandsbediening ingedruk totdat die opname eindig.
- Die program laai 'n matplotlib -syfer wat soortgelyk is aan die bostaande. Zoom in totdat u die herhalende sein sien, soos op die foto's hierbo getoon.
- Tel die totale logiese 1 en logiese 0 vir elke boodskap, waar 'n boodskap 'n herhaling is van die herhalende sein hierbo. As die totaal 25 is, is die RxTx.py -lêer waarskynlik nie die skuld nie. As u iets anders as 25 teëkom, moet u hieronder kommentaar lewer, en ek sal die RxTx.py-lêer herontwerp om meer oop te wees (of probeer dit gerus).
Wat as ek nie 'n herhalende sein sien nie?
As u nie 'n herhalende sein sien nie, is een van twee dinge verkeerd. Kontroleer eers of al u verbindingsdraadverbindings behoorlik gemaak is. As alles goed lyk, het u moontlik 'n slegte ontvanger. Het jy die een wat ek voorgestel het gekoop? Toe ek my eerste ontvanger -chip koop, was dit baie raserig. So raserig dat ek nie 'n duidelike sein kon kry nie. Ek het toe die chip teruggegee en die een wat ek gekoppel het, opgetel, en dit kon nie beter gewerk het nie.
Stap 6: Geniet dit
U weet dat u die afsetpunte vanaf u telefoon, tablet, rekenaar of 'n ander web-toestel kan aan-/afskakel! Laat weet my wat u dink in die kommentaar!
Aanbeveel:
Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)
Die beheer van verskeie LED's met Python en die GPIO -penne van u Raspberry Pi: Hierdie instruksie demonstreer hoe u meer GPIO -penne op u RaspberryPi kan beheer om 4 LED's aan te dryf. Dit sal u ook kennis maak met parameters en voorwaardelike stellings in Python. Ons vorige instruksies met behulp van die GPIO -penne van u Raspberry Pi om
Elektriese afsetpunte: 7 stappe (met foto's)
Elektriese afsetpunte: hierdie instruksies wys hoe u 'n kragadapter van die rak af kan hack om 'n internetadapter met die elektriese impak te maak. Hiermee kan u alle toestelle wat op die net aangedryf word, op afstand beheer met behulp van 'n slimfoon of webblaaier. My garage " as-c
Hoe om die temperatuur van die bierfermentasie en die swaartekrag van u slimfoon te beheer: 4 stappe (met foto's)
Hoe om die temperatuur van die bierfermentasie en -gravitasie vanaf u slimfoon te beheer: as bier fermenteer, moet u die erns en temperatuur daarvan daagliks monitor. Dit is maklik om te vergeet om dit te doen, en as u weg is, is dit onmoontlik. Na 'n bietjie gegoogle het ek verskeie oplossings gevind vir outomatiese swaartekragmonitering (een, twee, drie). Een van die
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek