Cuprins:
- Provizii
- Pasul 1: Configurarea Raspberry Pi
- Pasul 2: Înțelegerea modului în care va funcționa configurarea
- Pasul 3: Backend-ul Pi
- Pasul 4: Frontend-ul Pi
- Pasul 5: Arduino
- Pasul 6: conectarea la toate
Video: Troliu controlat Art-Net: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Bună ziua tuturor, în acest instructiv voi explica cum mi-am creat troliul controlat de art-net. "Al tau ce?" Te aud, întreabă-mă, lasă-mă să explic foarte repede. Acum câțiva ani am organizat o petrecere cu casa locală de tineret și, ca scenografie, am avut ideea de a face un acoperiș în mișcare.
Cu 9 trolii (takeli) am ridicat o cârpă albă uriașă și prin protocolul dmx le-am controlat. Dar la vremea respectivă, troliurile pe care le foloseam erau controlate în 3 faze. Deci, pentru a face să urce și să coboare, a trebuit să creăm un sistem de relee controlat de un mega central Arduino care a fost controlat folosind dmx. Releele au tensiuni de comutare de 230V și 12 amperi.
Pentru a spune acest lucru în termeni mai ușor de înțeles, a trebuit să creăm o mizerie gigantică de fire și relee care a fost super instabilă, nesigură și destul de periculoasă.
Așa că ne-am gândit că trebuie să existe o modalitate mai bună de a face acest lucru. Am început să ne gândim și am ajuns la concluzia că cel mai bun mod de a face acest lucru ar fi printr-un sistem modular de trolii, controlat prin protocolul Art-Net, astfel încât să avem nevoie doar de o sursă de tensiune și un cablu Ethernet.
Deci, exact asta am creat și voi încerca să vă explic cum am făcut-o. Întreaga configurare se bazează pe un pi zmeură care controlează procesul de configurare. La configurarea sa, controlul cedează unui computer ușor (Chamsys, etc.) care va controla troliile de acolo.
Presupun că aveți cunoștințe de bază despre python, arduino și raspberry pi aswel ca înțelegând ceva despre protocolul și controlerele art-net.
Provizii
De ce veți avea nevoie:
- Raspberry pi
- Arduino
- Scut Ethernet Arduino
- Scut motor Arduino
- Orice ecran OLED
- cablu Ethernet
- comutator Ethernet
- Motor DC cu codificator construit
Pasul 1: Configurarea Raspberry Pi
Ok, așa că modul în care va funcționa este că raspberry pi va rula un server Apache și MariaDB. Serverul apache va găzdui site-ul web, MariaDB va păstra o bază de date în care vom stoca datele troliilor.
Nu vă voi plimba prin toate procesele de configurare a pi cu ssh, dacă nu sunteți familiarizați, iată un tutorial bun.
Deci, mai întâi, ne vom asigura că raspberry pi este configurat în terminalul dvs.:
Pentru a instala apache
sudo apt instalează apache2 -y
Pentru a instala mariaDB
sudo apt-get install mariadb-server
Acestea sunt toate extensiile python de care vom avea nevoie
pip3 instalează mysql-connector-python
pip3 instalare flask-socketio pip3 instalare flask-cors pip3 instalare gevent pip3 instalare gevent-websocket pip3 instalare netifaces
Pentru afișajul oled avem nevoie de un proces de configurare puțin mai dificil, care poate fi găsit aici.
Ok, asta e tot gata!
Pasul 2: Înțelegerea modului în care va funcționa configurarea
Deci, modul în care doriți să configurați troliul este oferindu-i o poziție de început și o poziție finală. I se va atribui un anumit canal și cu acest canal veți putea să vă deplasați doar între statul ales și poziția finală.
Pentru a selecta aceste poziții, va trebui să mutați troliul către ele, odată ce sunteți acolo, veți întoarce un anumit canal la valoarea 56. Când acest canal exact atinge acea valoare, va ști că aceasta este poziția sa de început / sfârșit, dacă trebuie să se deplaseze în sus sau în jos sau dacă trebuie să-și schimbe valorile artnet. De asemenea, mutarea troliului se face prin setarea unui anumit canal la 56. „Și de ce 56” te-am auzit întrebându-te, ei bine, a trebuit să aleg ceva:).
Poziția este calculată prin intermediul codificatorului care este pe motorul de curent continuu.
Pasul 3: Backend-ul Pi
Backend-ul sistemului poate fi găsit pe github-ul meu. Mi-am scris propria bibliotecă pentru protocolul art-net, așa că nu ezitați să-l folosiți. Nu te voi plimba prin tot linie cu linie, dar îți voi oferi o imagine de ansamblu a tuturor ideilor.
Codul rulează un server balon care comunică cu serverul apache care rulează pe pi. Folosește modulul flask-socketio pentru a trimite și primi date pe frontend. Art-net lib folosește modulul socket de la python pentru a trimite pachete UDP către și de la arduino.
Fiecare metodă care începe cu un @ socketio.on („F2B _ ***”) așteaptă un apel F2B de pe frontend. Odată ce a fost primit, va executa acțiunea corespunzătoare. Fie că trimiteți un comando artnet sau obțineți date din DB și le trimiteți înapoi în față.
Metoda oled_show_info () este utilizată pentru a afișa ip-ul ip (atât pe interfețele wlan, cât și pe cele Ethernet).
deci rulați codul cu
python3 app.py
Pasul 4: Frontend-ul Pi
Pentru a putea edita frontend-ul pi va trebui mai întâi să vă acordați acces la directorul / var / www / html /. Aici Apache primește fișierele pe care le afișează pe site-ul său web. Pentru a obține acces, executați:
sudo chmod 777 / var / www / html /
Acum totul este finalizat, obțineți codul pentru frontend-ul github-ului meu și plasați-l în directorul / var / www / html /.
Frontend-ul folosește același principiu ca și backend-ul, dar acum trimite comenzile F2B _ *** când se apasă un buton sau se deplasează glisorul.
Și asta este frontendul făcut!
Pasul 5: Arduino
Pentru utilizarea arduino va trebui să utilizați scutul ethernet și scutul motorului. Pur și simplu împingeți-le ușor pe arduino. Asigurați-vă că nu împingeți scutul motorului până departe pe ecranul Ethernet sau că veți scurtcirca cei 2 pini ai motorului de pe conexiunea Ethernet!
Codul pentru arduino poate fi găsit și pe github-ul meu. Încărcați fișierul artnet_winch.ino și toate ar trebui să fie bune.
Asigurați-vă că definiți pinii corecți la pinii corecți ai motorului. Știfturile ecranului motorului sunt alese cu știfturile antetului deasupra scutului. Acești pini sunt aleși în configurația // --- motor. Aswel ca pinii codificatorului care trebuie conectați la pinii din dreapta ai arduino-ului.
De asemenea, asigurați-vă că adresa MAC a scutului este corectă. Acest lucru poate fi găsit pe un autocolant sub scut și editat în variabila MAC. IP-ul pe care îl utilizați pentru pi trebuie să fie în același interval cu PI, acest lucru poate fi găsit în mod normal pe ecranul oled.
Codul arată puțin, dar nu este atât de greu de înțeles. Practic scutul ethernet citește în mod constant pachetele UDP care intră. Dacă acel pachet este un pachet Artnet, acesta îl decodifică și primește informațiile de care are nevoie. Diferitele pachete artnet sunt descrise frumos pe site-ul Art-Net, deci, dacă sunteți interesat, puteți citi ce fac toate.
Dacă primește un pachet ArtPoll, acesta va răspunde cu un ArtPollReply. aceasta este utilizată în funcția de înștiințare din backend pentru a găsi ce dispozitive sunt în rețea.
Dacă primește și pachetul ArtDMX, acesta va decoda pachetul și va utiliza datele date pentru a executa anumite comenzi de configurare sau pentru a muta troliul în poziție.
Funcția move_takel transformă valoarea DMX dată (între 0-255) într-o poziție între poziția de început și sfârșit (0 fiind sfârșitul și 255 începutul). Dacă poziția codificatorului nu este egală cu valoarea transformată, troliul se va deplasa în sus / în jos în funcție de locul în care vă aflați.
Lucram la o buclă de feedback între PI și arduino, astfel încât să poată ține pasul cu poziția sa, dar arduino-ul meu a rămas fără memorie pentru a stoca programul:).
Montând totul
Pentru montare, am atașat motorul la un suport metalic și am pus un fel de tub deasupra acestuia. Apoi, atașați un cablu pe tub și folosiți o rolă de bandă ca greutate. Acest lucru este foarte simplu și puteți deveni foarte creativ în modul în care doriți să îl montați.
Pasul 6: conectarea la toate
Odată ce arduino și pi sunt configurate, pur și simplu conectați ambele cabluri Ethernet la comutatorul dvs. și asta ar trebui să fie!
Puteți să-l testați navigând pe ip-ul wlan dat pe ecranul oled și ar trebui să vedeți site-ul. Apăsați Găsiți dispozitive pentru a vedea dacă puteți găsi dispozitivul. Dacă nu arată nimic, arduino-ul dvs. nu este bine conectat sau IP-ul pe care l-ați ales nu se află în același interval cu cel al PI.
Odată ce vedeți dispozitivul, apăsați doar configurare. În meniul de configurare puteți muta troliul folosind săgețile și testați dacă pozițiile de început și de sfârșit sunt corecte cu glisorul.
Asigurați-vă că controlerul dvs. este, de asemenea, conectat la scut și că IP-ul este în raza de acțiune a PI și arduino.
Asta e!
Recomandat:
Pom de Crăciun controlat de site (oricine îl poate controla): 19 pași (cu imagini)
Pom de Crăciun controlat de site-ul web (oricine îl poate controla): Vrei să știi cum arată un pom de Crăciun controlat de un site web? Iată videoclipul care prezintă proiectul meu al pomului meu de Crăciun. Fluxul live s-a încheiat până acum, dar am făcut un videoclip, surprinzând ce se întâmpla: Anul acesta, în mijlocul lunii decembrie
Lansator de rachete controlat prin voce Alexa: 9 pași (cu imagini)
Lansator de rachete controlat vocal pe bază de Alexa: pe măsură ce se apropie sezonul de iarnă; vine acea perioadă a anului când se sărbătorește festivalul luminilor. Da, vorbim despre Diwali, care este un adevărat festival indian sărbătorit pe tot globul. Anul acesta, Diwali s-a terminat deja și vedem oameni
Tub LED din sticlă de piatră (controlat WiFi prin aplicația pentru smartphone): 6 pași (cu imagini)
Tub din sticlă cu LED (WiFi controlat prin intermediul aplicației pentru smartphone): Bună ziua, colegi producători! În acest instructiv vă voi arăta cum să construiți un tub LED controlat de WiFi, care este umplut cu pietre de sticlă pentru un efect de difuzie frumos. LED-urile pot fi adresate individual și, prin urmare, sunt posibile unele efecte frumoase în
DIY -- Cum se face un robot Spider care poate fi controlat folosind un smartphone folosind Arduino Uno: 6 pași
DIY || Cum să faci un robot Spider care poate fi controlat folosind un smartphone Utilizând Arduino Uno: În timp ce faci un robot Spider, poți învăța atât de multe lucruri despre robotică. În acest videoclip vă vom arăta cum să realizați un robot Spider, pe care să îl putem utiliza cu smartphone-ul nostru (Androi
DIY MATRIX SMART LED CONTROLAT PE INTERNET (ADAFRUIT + ESP8266 + WS2812): 8 pași (cu imagini)
DIY MATRIX LED SMART LED CONTROLAT (ADAFRUIT + ESP8266 + WS2812): Iată al 2-lea meu avans către un proiect pe care sunt foarte încântat să vi-l arăt. Este vorba despre o matrice LED Smart DIY care vă va permite să afișați pe ea, date, cum ar fi YouTube Stats, Statisticile dvs. Smart Home, ca temperatură, umiditate, pot fi un simplu ceas sau pur și simplu să arate