Բովանդակություն:

Beaglebone Black Web Control- ը WebPy- ի միջոցով. 6 քայլ
Beaglebone Black Web Control- ը WebPy- ի միջոցով. 6 քայլ

Video: Beaglebone Black Web Control- ը WebPy- ի միջոցով. 6 քայլ

Video: Beaglebone Black Web Control- ը WebPy- ի միջոցով. 6 քայլ
Video: Web Interfaces to Control Hardware on the BeagleBone Black - Simon Monk 2024, Հուլիսի
Anonim
Beaglebone Black Web Control- ը WebPy- ի միջոցով
Beaglebone Black Web Control- ը WebPy- ի միջոցով
Beaglebone Black Web Control- ը WebPy- ի միջոցով
Beaglebone Black Web Control- ը WebPy- ի միջոցով

Երբևէ ցանկացել եք ստեղծել ձեր հեռախոսի միջոցով ավտոտնակի դուռը վերահսկելու միջոց, գուցե հավաքել տվյալներ և դիտել դրանք ձեր նոութբուքից: Գոյություն ունի մեկ տախտակավոր համակարգիչ ՝ Beaglebone Black- ը, որը չափազանց հզոր սարք է, որը թույլ է տալիս վերահսկել GPIO- ի կապումներն իրական աշխարհի իրերի հետ շփվելու համար, ինչպիսիք են շարժիչները, լուսադիոդները, լամպերը և այլն: տախտակ, բայց շատ ավելի հզոր: Beaglebone համայնքն այնքան հսկայական չէ, որքան ազնվամորու pi- ն, այնպես որ զգուշացեք ձեռնարկների բացակայության համար:

Երբ ես ինտերնետում փնտրում էի լուծում ՝ նոթբուքիցս Beaglebone Black- ը վեբ էջի միջոցով օգտագործելու համար, բազմաթիվ ձեռնարկներ հայտնվեցին ՝ օգտագործելով Beaglebone- ի ոսկորագրման գրադարանը և socket.io գրադարանը ՝ օգտագործելով ամպ 9 իդը: Երբ ես հետևում էի ձեռնարկներին և նայում մարդկանց ծածկագրին, ես հիասթափված էի այն պատճառով, որ ամպ 9 գաղափարն անընդհատ փլուզվում էր, javascript- ի իմ անհասկացողությունը և նաև յուրաքանչյուր ձեռնարկի ճկունության բացակայությունը (յուրաքանչյուր ձեռնարկը ստիպեց ձեզ օգտագործել կանխորոշված քանակություն GPIO- ի): Ես ծանոթ էի python- ին, և իմ ընկերը ծանոթացրեց ինձ web.py- ի հետ, որը հիանալի վեբ -շրջանակ է, որն օգտագործվում է վեբ ծրագրեր մշակելու համար: Ես նաև օգտագործեցի Adafruit- ի Beaglebone Black GPIO գրադարանը ՝ Beaglebone Black- ի առանձին քորոցները վերահսկելու համար:

Այն, ինչ ձեզ հարկավոր կլինի

  • Համակարգիչ
  • SSH տերմինալ, ինչպիսին է PuTTY- ը կամ SSH- ն օգտագործել տերմինալում (Mac- ի և Linux- ի համար Windows- ը SSH- ում ներկառուցված չէ)
  • Beaglebone Black- ը միացված է համակարգչին USB- ի միջոցով
  • Ինտերնետ կապ Beaglebone Black- ի հետ
  • (ըստ ցանկության) SFTP հաճախորդ

Քայլ 1: Տեղադրեք անհրաժեշտ Python գրադարանները

Մենք պետք է տեղադրենք երկու գրադարան, որոնք սովորական մոդուլներ չեն պիթոն 2.7 -ում: Գրադարաններն են Adafruit BBIO և WebPy գրադարանները: Մենք պետք է մուտք գործենք Beaglebone ՝ օգտագործելով SSH: Ես որոշեցի օգտագործել PuTTy տերմինալը և մուտք գործել դրան ՝ օգտագործելով beaglebone- ի IP հասցեն, իմը ՝ 192.168.7.2, ձերն է կարելի գտնել beaglebone start.html- ում: Եթե օգտագործում եք Angstrom- ը, մուտքագրեք ՝

  • opkg թարմացում && opkg տեղադրել python-pip python-setuptools python-smbus
  • pip տեղադրել Adafruit_BBIO
  • pip տեղադրել web.py

Եթե օգտագործում եք Debian կամ Ubuntu.

  • sudo apt-get թարմացում
  • sudo apt-get տեղադրել կառուցել-անհրաժեշտ python-dev python-setuptools python-pip python-smbus -y
  • pip տեղադրել Adafruit_BBIO
  • pip տեղադրել web.py

Գրադարանները ճիշտ տեղադրված լինելու համար ստուգելու համար մուտքագրեք ՝

  • պիթոն
  • ներմուծել վեբ
  • ներմուծել Adafruit_BBIO. GPIO

Եթե python- ի վահանակի վրա սխալներ տեղի չունենան, ապա գրադարանները ճիշտ եք տեղադրել, և մենք պատրաստ ենք կոդավորել:

Քայլ 2: Python ծածկագիրը

Պիթոնի ծածկագիրը
Պիթոնի ծածկագիրը

Պիթոնի ծածկագիրը բավականին հեշտ է հասկանալ, եթե ծանոթ եք Python- ի օգտագործմանը, եթե ծրագրավորման սկսնակ եք, գուցե որոշ դժվարություններ ունենաք կոդի մասերը հասկանալու մեջ:

Երկու գրադարանների փաստաթղթերը կարող եք գտնել այստեղ.

  • Web.py
  • Adafruit GPIO գրադարան

Ես գրել եմ կոդը և մեկնաբանել այն, որպեսզի դուք հասկանաք և շոշափեք այն:

Քայլ 3: Ստեղծեք վեբ էջ

Վեբ էջի ստեղծում
Վեբ էջի ստեղծում

Եթե դուք իմ կցած պիթոնի ծածկագիրն եք, կարող եք տեսնել, որ ես խոսում եմ GET հարցման մասին: GET- ի հայտը հիմնականում վեբ էջի ՝ սերվերի հետ հաղորդակցվելու միջոց է: Որպեսզի ավելացնենք, ջնջենք և փոխենք ելքերը, որոնք մենք օգտագործում ենք Jquery- ով ՝ ստանալու հիմնական պահանջներ: Ես կցել եմ html էջ, որը հենց դա է անում, և ես նաև մեկնաբանել եմ ձեր հարմարության կոդը:

Control.html ֆայլն այստեղ է ՝ դիտեք աղբյուրը ՝

Քայլ 4. Python ֆայլը ձեր Beaglebone- ին փոխանցելը

Python ֆայլը ձեր Beaglebone- ին փոխանցելը
Python ֆայլը ձեր Beaglebone- ին փոխանցելը

Դուք կարող եք փոխանցել main.py ֆայլը հրամանի տողի միջոցով, բայց ֆայլերը հեշտությամբ փոխանցելու համար ես պատրաստվում եմ օգտագործել WinSCP (կարող եք օգտագործել ցանկացած sftp հաճախորդ), որը կարող եք ներբեռնել այստեղից: Mac համակարգչից օգտվողների համար կա Cyberduck, բայց քանի որ ես համակարգչային օգտվող եմ, չգիտեմ, թե որն է ամենալավը, ուստի պետք է այն google- ով որոնել: Գործընթացը պարզ է, պարզապես քաշեք main.py ֆայլը Desktop- ում կամ ձեր ընտրած ցանկացած այլ գրացուցակում:

Քայլ 5: Գործարկեք սերվերը

Սերվերի գործարկում
Սերվերի գործարկում

Սերվերը գործարկելը հեշտ է, պարզապես օգտագործեք SSH ՝ օգտագործելով PuTTY կամ ձեր տերմինալը և փոխեք ձեր գրացուցակը main.py գրացուցակին: Մուտքագրեք ՝

python main.py 1234

Այժմ այն, ինչ մենք պարզապես արեցինք, խնդրեցինք python- ին ՝ գործարկել main.py ֆայլը 1234 նավահանգստում

Քայլ 6: Դուք վերահսկողություն ունեք:

Դուք վերահսկողություն ունեք
Դուք վերահսկողություն ունեք
Դուք վերահսկողություն ունեք
Դուք վերահսկողություն ունեք
Դուք վերահսկողություն ունեք
Դուք վերահսկողություն ունեք

Այժմ գնացեք control.html ֆայլ և բացեք google chrome- ով կամ ձեր օգտագործած ցանկացած այլ դիտարկիչով, կունենաք վեբ էջ ՝ 2 տեքստային տուփով և 3 կոճակով: PIN համարի տեքստային տուփը պահանջում է PIN- ի համարը, ինչպիսին է P8_10- ը կամ P8_29- ը և այլն: theնջման և անջատման կոճակներից օգտվելու համար անհրաժեշտ է լրացնել անունը: Այժմ, երբ դուք ունեք վեբ հսկողություն, կարող եք օգտագործել այս օրինակը `ավելի առաջադեմ վահանակ ստեղծելու համար: Միգուցե օգտագործեք տվյալների բազայի հնարավորությունները `ձեր Beaglebone Black- ը որպես տվյալների գրանցման համար օգտագործելու կամ այն տան ավտոմատացման համար օգտագործելու համար, հնարավորություններն անսպառ են: Եթե Ձեզ դուր է գալիս այս ուսուցանվողը, ապա խնդրում ենք քվեարկեք այս նախագծի համար ՝ կոդավորված ստեղծագործությունների մրցույթում և նաև նախընտրեք այս նախագիծը: Շնորհակալություն այս ուսանելի դասընթացի համար և շարունակեք կոտրել::)

Խորհուրդ ենք տալիս: