Turinys:

„Art-Net“valdoma gervė: 6 žingsniai
„Art-Net“valdoma gervė: 6 žingsniai

Video: „Art-Net“valdoma gervė: 6 žingsniai

Video: „Art-Net“valdoma gervė: 6 žingsniai
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Birželis
Anonim
„Art-Net“valdoma gervė
„Art-Net“valdoma gervė

Sveiki visi, šioje pamokoje paaiškinsiu, kaip sukūriau savo „art-net“valdomą gervę. "Tavo kas?" girdžiu, kad klausiate, na, leiskite man labai greitai paaiškinti. Prieš kelerius metus surengėme vakarėlį su vietiniais jaunimo namais, o kaip sceninis dizainas sumanėme padaryti judantį stogą.

Su 9 gervėmis (takeliais) pakėlėme milžinišką baltą audeklą ir per dmx protokolą jas valdėme. Tačiau tuo metu gervės, kurias mes naudojome, valdė 3 fazių. Taigi, norėdami pakilti aukštyn ir žemyn, turėjome sukurti relių sistemą, valdomą centrinės „Arduino mega“, kuri buvo valdoma naudojant „dmx“. Rele, kai perjungimo įtampa yra 230 V ir 12 amperų.

Kad tai būtų suprantamiau, turėjome sukurti milžinišką laidų ir relių netvarką, kuri buvo labai nestabili, nepatikima ir iš tikrųjų gana pavojinga.

Taigi mes pagalvojome, kad turi būti geresnis būdas tai padaryti. Pradėjome galvoti ir priėjome prie išvados, kad geriausias būdas tai padaryti būtų modulinė gervių sistema, valdoma naudojant „Art-Net“protokolą, taigi mums reikės tik įtampos šaltinio ir eterneto kabelio.

Taigi būtent tai aš sukūriau ir pabandysiu jums paaiškinti, kaip tai padariau. Visa sąranka priklauso nuo aviečių pi, kuris kontroliuoja sąrankos procesą. Vien tik jos nustatymą valdymas perduoda lengvam kompiuteriui („Chamsys“ir pan.), Kuris nuo šiol valdys gerves.

Darau prielaidą, kad turite pagrindinių žinių apie „Python“, „Arduino“ir „Raspberry Pi Aswel“, kad suprastumėte kažką apie „art-net“protokolą ir valdiklius.

Prekės

Ko jums reikės:

  • Aviečių pi
  • Arduino
  • „Arduino Ethernet“skydas
  • „Arduino“variklio skydas
  • Bet koks OLED ekranas
  • eterneto kabelis
  • eterneto jungiklis
  • Įjungtas nuolatinės srovės variklis su koduotuvu

1 žingsnis: nustatykite „Raspberry Pi“

Gerai, todėl tai veiks taip, kad „Aviečių pi“veiks „Apache“ir „MariaDB“serveriai. „Apache“serveris turi priglobti svetainę, o „MariaDB“- saugoti duomenų bazę, kurioje laikysime gervių duomenis.

Aš jums nepateiksiu visų „pi“nustatymo su „ssh“procesų, jei esate nepažįstamas, čia yra gera pamoka.

Taigi pirmiausia įsitikinsime, kad jūsų aviacijos piratų sąranka yra baigta:

Norėdami įdiegti apache

sudo apt įdiegti apache2 -y

Norėdami įdiegti „mariaDB“

sudo apt-get install mariadb-server

Tai visi mums reikalingi „python“plėtiniai

pip3 įdiegti „mysql-connector-python“

pip3 įdiegti kolbą-socketio pip3 įdiegti kolbą-cors pip3 įdiegti gevent pip3 įdiegti gevent-websocket pip3 įdiegti netifaces

„OLED“ekranui mums reikia šiek tiek sudėtingesnio sąrankos proceso, kurį galite rasti čia.

Gerai, kad viskas padaryta!

2 veiksmas: supraskite, kaip veiks sąranka

Taigi, kaip norite nustatyti gervę, suteikiant jai pradinę ir galinę padėtį. Jam bus priskirtas tam tikras kanalas, o naudodami šį kanalą galėsite judėti tik tarp pasirinktos statistikos ir galutinės padėties.

Norėdami pasirinkti šias pozicijas, turėsite perkelti gervę į jas, kai būsite ten, tam tikrą kanalą paversite 56. Kai šis tikslus kanalas pasieks tą vertę, jis žinos, kad tai yra jo pabaigos pradžios / pabaigos padėtis, jei reikia judėti aukštyn arba žemyn arba jei reikia keisti artneto vertes. Gervė taip pat perkeliama nustatant tam tikrą kanalą į 56. "Ir kodėl 56", girdžiu, jūs stebitės, na, aš turėjau kažką pasirinkti:).

Padėtis apskaičiuojama naudojant daviklį, esantį nuolatinės srovės variklyje.

3 žingsnis: „Pi“vidinė dalis

„Pi“vidinė dalis
„Pi“vidinė dalis

Sistemos užpakalinę dalį galite rasti mano „github“. Aš parašiau savo biblioteką „art-net“protokolui, todėl drąsiai ja naudokitės. Aš tavęs neaprašysiu eilutės po eilutės, bet pateiksiu viso to idėją.

Kodas paleidžia kolbos serverį, kuris bendrauja su „apache“serveriu, veikiančiu pi. Jis naudoja kolbos-lizdo modulį duomenims siųsti ir gauti į priekinę dalį. „Art-net lib“naudoja lizdo modulį iš „python“, kad išsiųstų UDP paketus į arduino ir iš jo.

Kiekvienas metodas, prasidedantis @socketio.on („F2B _ ***“), laukia F2B skambučio iš priekinės pusės. Gavęs, jis atliks atitinkamą veiksmą. Ar tai būtų artnetų komandų siuntimas, ar duomenų gavimas iš DB ir siuntimas atgal į priekį.

„Oled_show_info“() metodas naudojamas parodyti „ip“ip (tiek „wlan“, tiek „Ethernet“sąsajose).

todėl tiesiog paleiskite kodą su

python3 app.py

4 žingsnis: „Pi“priekinė dalis

Pi sąsaja
Pi sąsaja

Kad galėtumėte redaguoti „pi“sąsają, pirmiausia turite prisiregistruoti prie katalogo/var/www/html/. Būtent čia „apache“gauna savo failus, kad jie būtų rodomi savo svetainėje. Norėdami gauti prieigą, atlikite toliau nurodytus veiksmus.

sudo chmod 777/var/www/html/

Dabar viskas baigta, gaukite „github“priekinės dalies kodą ir įdėkite jį į/var/www/html/katalogą.

Priekinė dalis naudoja tą patį principą kaip ir vidinė, tačiau dabar ji siunčia komandas F2B _ ***, kai paspaudžiamas mygtukas arba perkeliamas slankiklis.

Ir tai yra frontendas!

5 žingsnis: „Arduino“

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

Norėdami naudoti arduino, turėsite naudoti eterneto skydą ir variklio skydą. Tiesiog švelniai stumkite juos ant arduino. Įsitikinkite, kad nespausite variklio skydo toli ant eterneto skydo, kitaip sutrumpinsite 2 variklio kaiščius prie eterneto jungties!

Arduino kodą taip pat galite rasti mano „github“. Įkelkite failą artnet_winch.ino ir viskas turėtų būti gerai.

Įsitikinkite, kad teisingai nustatėte kaiščius prie teisingų variklio kaiščių. Variklio skydo kaiščiai parenkami taip, kad kaiščiai būtų ant skydo viršaus. Šie kaiščiai pasirenkami pagal // --- variklio konfigūraciją. Aswel kaip kodavimo kaiščiai, kuriuos reikia prijungti prie dešinių arduino kaiščių.

Taip pat įsitikinkite, kad jūsų skydo MAC adresas yra teisingas. Tai galima rasti ant lipduko po skydu ir redaguoti MAC kintamajame. IP, kurį naudojate „pi“, turi būti tame pačiame diapazone kaip ir PI, paprastai tai galima rasti „OLED“ekrane.

Kodas atrodo šiek tiek daug, bet nėra taip sunku suprasti. Iš esmės „Ethernet“skydas nuolat skaito gaunamus „udp“paketus. Jei šis paketas yra „Artnet“paketas, jis jį dekoduoja ir gauna iš jo reikalingą informaciją. Skirtingi artneto paketai yra gražiai aprašyti „Art-Net“svetainėje, taigi, jei jus domina, galite perskaityti, ką jie visi daro.

Gavęs „ArtPoll“paketą, jis atsakys „ArtPollReply“. tai naudojama užpakalinės dalies figūrinių išnašų funkcijoje, siekiant rasti tinkle esančius įrenginius.

Jei jis gauna ir „ArtDMX“paketą, jis dekoduoja paketą ir naudoja nurodytus duomenis, kad įvykdytų tam tikras sąrankos komandas arba perkeltų gervę.

Funkcija „move_takel“paverčia nurodytą DMX reikšmę (nuo 0 iki 255) į padėtį tarp pradžios ir pabaigos padėties (0 yra pabaiga, o 255-pradžia). Jei kodavimo įrenginio padėtis nėra lygi transformuotai vertei, gervė judės aukštyn/žemyn, priklausomai nuo to, kur esate.

Aš dirbau su grįžtamojo ryšio ciklu tarp PI ir arduino, kad jis galėtų neatsilikti nuo savo pozicijos, bet mano arduino pritrūko atminties programai išsaugoti:).

Viską sumontuoti

Norėdami jį pritvirtinti, aš pritvirtinau variklį prie metalinio laikiklio ir ant jo uždėjau tam tikrą vamzdį. Tada tiesiog pritvirtinkite laidą ant vamzdžio ir kaip svorį naudokite juostos ritinį. Tai labai paprasta ir jūs galite būti labai kūrybingi, kaip norite jį sumontuoti.

6 veiksmas: visa tai sujunkite

Kai visi „arduino“ir „pi“bus nustatyti, tiesiog prijunkite abu eterneto kabelius prie jungiklio ir tai turėtų būti!

Galite tai išbandyti naršydami „wlan ip“, pateiktą „oled“ekrane, ir turėtumėte pamatyti svetainę. Paspauskite „Ieškoti įrenginių“, kad sužinotumėte, ar galite rasti įrenginį. Jei jis nieko nerodo, jūsų arduino nėra gerai prijungtas arba jūsų pasirinktas IP nėra tame pačiame diapazone kaip PI.

Pamatę įrenginį, tiesiog paspauskite sąranką. Sąrankos meniu galite perkelti gervę naudodami rodykles ir patikrinti, ar jos pradžios ir pabaigos padėtis yra teisinga naudojant slankiklį.

Įsitikinkite, kad jūsų valdiklis taip pat yra prijungtas prie skydo ir jo IP yra PI ir arduino diapazone.

Viskas!

Rekomenduojamas: