Բովանդակություն:
- Պարագաներ
- Քայլ 1. Ազնվամորու Pi Zero W- ի կարգավորում
- Քայլ 2: Տպում Pi- ից
- Քայլ 3. Իրերի ինտերնետին միանալը (մաս 1)
- Քայլ 4: Իրերի ինտերնետին միանալը (մաս 2)
- Քայլ 5: Արտաքին մուտքի կարգավորում Ngrok- ով
- Քայլ 6. Pi- ի ավելացում տպիչին
- Քայլ 7: Դա ավելի առաջ տանելը
Video: Alexa տպիչ - Upcycled անդորրագիր տպիչ. 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ես հին տեխնիկայի վերամշակման և այն կրկին օգտակար դարձնելու երկրպագու եմ: Քիչ առաջ ես ձեռք էի բերել հին, էժան ջերմային անդորրագրի տպիչ, և ցանկանում էի օգտակար միջոց օգտագործել այն նորից նպատակաուղղելու համար: Հետո, արձակուրդներին, ինձ նվիրեցին Amazon Echo Dot- ը, և այն հատկություններից մեկը, որն ամենից շատ օգտագործեցի, գնումների ցուցակում ապրանքներ ավելացնելն էր: Այսպիսով, ես մտածեցի, որ լավ կլինի համատեղել երկուսը և օգտագործել ստացողի տպիչը որպես Alexa- ի IOT տպիչ (կամ Google Home, կամ Siri և այլն): Տեսնենք, թե ինչ կպահանջվի այս գաղափարն իրականություն դարձնելու համար:
Պարագաներ
Ահա այն հատվածները, որոնք ես օգտագործում եմ այս նախագծի համար.
- Էժան ընդհանուր ջերմային ստացողի տպիչ (անհրաժեշտ է աջակցել ESC-POS)
- Amazon Alexa սարք (հավանաբար կաշխատեն նաև «տան օգնականի» այլ սարքեր)
- Raspberry Pi Zero Wireless
- 7805 5 վ կարգավորիչ
- 10μf կոնդենսատոր
- 1μf կոնդենսատոր
Այլ բաներ, որոնք ես օգտագործում եմ այս նախագծի համար.
- Եթե սա ուրեմն այն (IFTTT.com)
- Oldոդման սարքավորումներ
Քայլ 1. Ազնվամորու Pi Zero W- ի կարգավորում
Առաջին քայլը հին անդորրագրի տպիչով նորից տպելն է: Ես ընտրեցի օգտագործել Raspberry Pi Zero W- ը որպես վերահսկիչ, քանի որ դա էժան գին է և փոքր չափս: Այն իրականում այնքան փոքր է, որ տեղավորվում է ստացողի տպիչի պատյանում, այնպես որ արտաքին կապեր չկան: Pi Zero W- ն նաև ներկառուցված է Wifi- ում, ուստի ամեն ինչ հիմնականում ինտեգրված է իր փոքր չափին:
Pi- ն գործարկելու համար մենք պետք է ներբեռնենք Raspbian OS- ն և այն այրենք microSD քարտի վրա ՝ օգտագործելով այնպիսի ծրագիր, ինչպիսին է Etcher- ը: Տեղադրեք այն Pi- ի հետ ՝ HDMI մալուխի, ստեղնաշարի, մկնիկի և միացման միջոցով:
Երբ Pi- ն բարձրանում է, և դուք գտնվում եք աշխատասեղանի ինտերֆեյսում, կարող եք միանալ ձեր անլար ցանցին ՝ վերևի աջ անկյունում սեղմելով անլար պատկերակի վրա և ընտրելով ձեր անլար կապի անունը: Այնուհետև, եթե աջ սեղմեք նույն անլար պատկերակի վրա, կարող եք գնալ ցանցի կարգավորումներ և սահմանել ստատիկ IP հասցե, որպեսզի մենք կարողանանք հեշտությամբ միանալ դրան ցանցի միջոցով: Ի վերջո, ցանկանում եք սեղմել հիմնական ընտրացանկի վրա և ընտրել «Raspbian Configuration Editor», իսկ «Ինտերֆեյսեր» ներդիրում համոզվեք, որ SSH- ն միացված է: Այնուհետև պահեք այն և վերագործարկեք ձեր Pi- ն:
Քայլ 2: Տպում Pi- ից
Raspbery Pi- ի վերագործարկվելուց հետո այն պետք է միացված լինի ձեր անլար ցանցին ստատիկ IP- ով և միացված SSH- ով: Այսպիսով, այժմ մենք պետք է կարողանանք դրան հեռակա կերպով միանալ ցանկացած այլ համակարգչից: Դա անելու համար ձեզ հարկավոր է SSH հաճախորդ: Windows- ի համար լավ հաճախորդը tyեփամածիկն է: Դուք կարող եք միանալ դրան ՝ օգտագործելով Pi- ի ստատիկ IP հասցեն, որը մենք ավելի վաղ սահմանել էինք: Այնուհետև կարող եք մուտք գործել ՝ օգտագործելով «pi» - ն որպես օգտվողի անուն և «ազնվամորի» ՝ որպես գաղտնաբառ:
Հաջող մուտքից հետո մենք այժմ պետք է լինենք Pi- ի տերմինալային միջերեսում: Այստեղ մենք կարող ենք մուտքագրել հրամաններ, որոնք գործարկվելու են Raspberry Pi- ի վրա: Օրինակ, առաջին բաներից մեկը, որ մենք ուզում ենք անել, համոզվելն է, որ Pi- ի ծրագրակազմը արդիական է: Այսպիսով, տերմինալում մենք կարող ենք մուտքագրել.
sudo apt-get թարմացում
Այս հրամանը կթարմացնի ծրագրակազմի պահոցները Pi- ում: Հաջորդը, մենք կարող ենք տեղադրել ESC-POS տպիչի ծրագրակազմը և անհրաժեշտ գրադարանները:
sudo apt-get տեղադրել python3 python3-setuptools python3-pip libjpeg8-devsudo pip3 install-upgrade pip sudo pip3 տեղադրել python-escpos
Ավարտելով դա, մենք այժմ կարող ենք տպիչը միացնել Pi- ի Micro-USB պորտին (ադապտեր օգտագործելով) և միացնել այն: Այնուհետև մեր տերմինալում մենք կարող ենք ստեղծել փոքրիկ պիթոնի սցենար
nano hello_world.py
Եվ դրանում մենք կարող ենք ավելացնել այս պիթոնի ծածկագիրը
#!/usr/bin/python escpos.printer ներմուծում Usb p = Usb (0x0416, 0x5011) էջ. տեքստ («Mini IOT տպիչ / n») էջ.
Դուրս եկեք այն (CTRL-X), պահեք այն (CTRL-Y) և գործարկեք այն փորձարկելու համար
python3 hello_world.py
Քայլ 3. Իրերի ինտերնետին միանալը (մաս 1)
Ի՞նչ օգուտ կարող է ունենալ տպիչը, եթե տպելու բան չկա: Ես ուզում էի հնարավորություն ընձեռել տարբեր ինտերնետային ծառայություններից, օրինակ ՝ Alexa- ից տպագրելու ֆունկցիոնալությունը: Այսպիսով, ինչպես կարող եմ դա իրականացնել: Տարբերակներից մեկն այն է, որ ընտրել որոշակի ինտերնետային ծառայություն, հետևել դրանց API փաստաթղթերին և գրել ծրագիր `հիմնված իրենց API- ի վրա: Բայց ես ընտրում եմ ծույլ ճանապարհը…
Կա մի հիանալի կայք, որը կոչվում է «Եթե սա այն է», որը մի շարք չափանիշների հիման վրա գործողություններ է առաջացնում տարբեր ինտերնետ ծառայությունների համար (Alexa, Google Home, Gmail, Facebook, Instagram, Twitter և այլն): Օրինակ, «եթե» -ը տեղադրում եմ Facebook (սա), «Հետո» ուղարկեք ինձ էլ. Նամակ (այն):
Այսպիսով, դրա առաջին կեսի համար ես գրանցվեցի անվճար հաշվի համար, կարող եք սկսել ստեղծել նոր «հավելված» տարբեր ծառայությունների համար, որոնք ցանկանում եք գործարկել: Իմ հավելվածի «Այս» մասը կլինի Alexa- ն: Alexa- ի բազմաթիվ գործարկիչներ կան ընտրելու համար, բայց ես կընտրեմ այն մեկը, որն ասում է «Հարցրեք, թե ինչ կա ձեր գնումների ցուցակում»: Եվ մենք, ի վերջո, ցանկանում ենք, որ այն գործի դնի Python սցենարը Raspberry Pi- ի վրա, ուստի սցենարի «Դա» հատվածի համար մենք ցանկանում ենք ընտրել Webhooks:
Webhooks տարբերակում մենք կարող ենք ավելացնել URL, որը մատնանշում է մեր Pi- ին, որին կանդրադառնանք ավելի ուշ: Մեթոդի դաշտը կարող ենք թողնել որպես «Ստանալ», իսկ բովանդակության տեսակի համար ընտրել «Պարզ տեքստ»: Մարմնի դաշտի համար կտտացրեք «Ավելացնել բաղադրիչ» և ընտրեք «Ամբողջ ցուցակ»: Սա կուղարկի գնումների ամբողջ ցուցակը որպես Ստանալու հարցում:
Քայլ 4: Իրերի ինտերնետին միանալը (մաս 2)
Նախորդ քայլը վերաբերում է «Ինտերնետ» հատվածին, ուստի այժմ թույլ տվեք աշխատել «իրեր» մասի վրա ՝ օգտագործելով Raspberry Pi- ն: «If This Then That» վեբհուկերի հավելվածի հետ շփվելու համար մենք պետք է վեբ սերվեր ստեղծենք Raspberry Pi- ի վրա: Վեբ սերվեր ստեղծելու շատ տարբեր եղանակներ կան, բայց հաշվի առնելով, որ ես ի վերջո ցանկանում եմ Python սցենար գործարկել, որոշեցի օգտագործել Python's Flask սերվերը:
Pi- ում նախապես տեղադրված են Flask գրադարանները, ուստի այն ամենը, ինչ մեզ անհրաժեշտ է, սկսել է գրել թեստային սցենար.
nano flask_test.py
Եվ դրանում եկեք ավելացնենք մի շարք կոդեր, որոնք սպասարկում են պարզ վեբ էջ:
#! flask/bin/python #ՆԵՐՄՈՆԵԼ ՖԼԱՍԻ ԳՐԱԴԱՐԱՆՆԵՐԸ տափաշիշից ներմուծում Ֆլասկա, պահանջեք #Ստեղծել ՖԼԱՍԻ ՓՈՓՈՓԱԿԱՆ հավելված = Ֆլասկա (_ անուն_) #Ստեղծեք «INDEX» ԷAGE @app.route ('/') def index (): return 'Ձեր Flask սերվերն աշխատում է:' #ՎԱՐԿԵԼ PROՐԱԳԻՐԸ, եթե _name_ == '_main_': app.run (վրիպազերծում = True, host = '0.0.0.0')
Այժմ պարզապես պահեք ծրագիրը և գործարկեք այն ՝ օգտագործելով այս հրամանը.
sudo python3 flask_test.py
Հրամանի պատասխանից կտեսնեք, որ կանխադրված նավահանգիստը, որի վրա աշխատում է Flask- ը, 5000 նավահանգիստն է: Այսպիսով, վեբ դիտարկիչում, եթե մուտքագրեք ձեր Pi- ի IP հասցեն ՝ 5000, ապա պետք է տեսնեք «Your Flask server is working» տեքստը:
Մենք ունենք մեր փորձնական Python ծածկագիրը, որը տպվում է մեր ստացողի տպիչին, և մենք ունենք մեր փորձարկման Flask սերվերը: Հետևաբար, մենք պետք է դրանք միավորենք և միացնենք մի կոդ, որը տվյալները վերցնում է մեր Webhook հավելվածից: Եկեք ստեղծենք նոր Python ֆայլ.
nano iot_print_server.py
Եվ դրա ներսում ավելացրեք հետևյալ ծածկագիրը.
#! flask/bin/python #IMPORT THE FLASK AND PRINTER GIBRARIES from flask import Flask, request from escpos.printer import Usb #ASSIGN VARIABLES FOR THE PRINTER and FLASK p = Usb (0x0416, 0x5011) app = Flask (_ name_) #CRE 'INDEX' PAGE @app.route ('/') def index (): return 'Your Flask server is working!' #ՍՏԵԵԼ «ԷAGE», ԱՆՎԱՆՈ "Մ «ISTԱՆԿ» ԱԼԵՔՍԱ ԽԱՆՈԹՆԵՐԻ ISTԱՆԿԸ ՏԵՍԵԼՈ app @app.route ('/list') def list (): #CAPTURE "GET" Data from IFTTT WEBOOKS content = request.get_data () #CONVERT RAW DATA TO STRING str_content = str (բովանդակություն) #ՏԱՐԱԵԼ ՏՎՅԱԼՆԵՐԸ ՄԻPԱՎՈՐ ԳՈՅՆԵՐՈ strՄ str_split = str_content.splitlines () #EPԱՆԿԱԱ W ԽՈՍՔԵՐ ԿՈՄՄԱՅՈՄ ԵՎ ԼՐԱԵԼ ՆՈՐ LԱՆԿՈՄ նոր ցուցակ = բառի համար str_split: word = word.split (',') newlist.extend (word) #ՌԵՄՈՎ ՁԵՎԱՎՈՐՄԱՆ նշաններ rmv_marks = [s.strip ("b" "for s in newlist] #PRINT HEADER #print (" Shopping List / n ") p.text (" Shopping List: / n ") #ԳՆԱՀԱՏԵԼ ԵՎ INԱՆԿՈԹՅԱՆ ACԱՆԿԱԱ IT ՆՅՈԹ r = 1 x- ի համար rmv_marks: #print (str (r) +". " + X +" / n ") p.text (str (r) +". " + x + "\ n") r + = 1 #RETURN ԱՐԴՅՈՆՔԵՐ վերադարձնել 'x' #ՎԱՐUNԵԼ ՐԱԳԻՐԸ, եթե _name_ == '_main_': app.run (debug = True, host = '0.0.0.0')
Կարող եք այն գործարկել ՝ տեսնելու համար, թե արդյոք այն տալիս է որևէ սխալ, բայց այն դեռ չի աշխատի մեր վեբհուկի հետ, քանի որ այս պահի դրությամբ սերվերը գործում է միայն տեղական մակարդակում: Վեբհուքին միանալու արտաքին URL դեռ չկա: Մենք կարող ենք նավահանգստի վերահասցեավորում տեղադրել մեր երթուղղիչի վրա և պարզապես օգտագործել մեր արտաքին IP հասցեն, բայց դա իրականում այնքան էլ անվտանգ չէ: Որպես այլընտրանք, ես որոշում եմ գնալ NGROK- ի հետ:
Քայլ 5: Արտաքին մուտքի կարգավորում Ngrok- ով
Ngrok- ը ապահով կապ է ստեղծում ձեր ցանցի հետ ՝ առանց արտաքին IP- ի բացահայտման կամ նավահանգստի փոխանցման հետ կապված խառնաշփոթի: Անվճար հաշվին գրանցվելուց հետո այն տալիս է ձեզ լիազորագրի նշան: Այնուհետև ձեր Raspberry Pi- ի վրա կարող եք ներբեռնել այն, բացել այն, միացնել ձեր հեղինակային նշանը, այնուհետև այն գործարկել 5000 նավահանգստում.
mkdir ngrokcd ngrok wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable… unzip ngrok-stable-linux-arm./ngrok authtoken [տեղադրեք ձեր հեղինակային նշանը այստեղ]./ngrok http 5000
*** ԿԱՐԵՎՈՐ *** Ngrok- ի անվճար տարբերակը ձեզ չի տալիս ստատիկ հասցե, այնպես որ ամեն անգամ, երբ վերագործարկեք Ngrok- ը, այն ձեզ կտա այլ հասցե: Եթե ցանկանում եք ստատիկ հասցե, որպեսզի ստիպված չլինեք շարունակել վերափոխել ձեր Webhook- ը, ապա պետք է վճարեք արդիականացված հաշվի համար:
Ngrok- ի անվճար այլընտրանքը, որն առաջարկում է ստատիկ IP- ներ, կոչվում է «Serveo» ՝ www.serveo.net կայքում
************************
Ստացված էկրանին այն տալիս է ձեզ փոխանցման հասցե (https://random-string.ngrok.io), որը կարող եք օգտագործել մեր Webhook հավելվածում: Այսպիսով, վերադառնալով «Եթե սա այն է», URL դաշտում մուտքագրեք ձեր Ngrok վերահասցեավորման հասցեն և մատնանշեք այն մեր ցուցասրահի «ցուցակ» էջին: Այն պետք է նման տեսք ունենա
random_string.ngrok.io/list
Այնուհետև շարունակեք և պահպանեք փոփոխությունները:
Այն փորձարկելու համար շարունակեք Ngrok- ը գործարկել, բացեք նոր տերմինալ և գործարկեք մեր պիթոնի սցենարը: Երկու պարագաների գործադրմամբ էլ հարցրեք Ալեքսային, թե ինչ կա ձեր գնումների ցուցակում: Մեկ -երկու րոպե անց այն պետք է տպի արդյունքները: Եթե ցանկանում եք, որ այն անմիջապես տպվի, պարզապես գնացեք ձեր Applet IFTTT- ում և կտտացրեք «Ստուգել հիմա»: Եթե ամեն ինչ լավ է ընթանում, անդորրագրի տպիչը պետք է տպի այն, ինչ կա ձեր գնումների ցուցակում: Կոդի վերջնական բիթը, որը մենք պետք է ավելացնենք, ամեն անգամ, երբ Pi- ն գործարկում է, ինքնաբերաբար սկսում ենք տաքացնել և մեր ֆոլսկ սերվերը: Մենք կարող ենք դա հեշտությամբ անել ՝ դարձնելով մեր Python սցենարը գործարկելի.
chmod +x iot_print_server.py
Այնուհետև մենք կարող ենք խմբագրել մեր /etc/rc.local ֆայլը, որպեսզի այն ունենա հետևյալ տեսքը.
## Լռելյայն այս սցենարը ոչինչ չի անում: # Տպեք IP հասցեն _IP = $ (hostname -I) || ճիշտ է, եթե ["$ _IP"]; ապա printf "Իմ IP հասցեն է %s / n" "$ _IP" fi #autostart ngrok և մատնանշեք այն ձեր հեղինակային ֆայլին:/home/pi/ngrok/ngrok http -config =/home/pi/.ngrok2/ngrok. yml 5000 #autostart the printer python script sudo python3 /home/pi/iot_receipt_printer.py և ելք 0
Քայլ 6. Pi- ի ավելացում տպիչին
Իմ մոտ եղած անդորրագրի տպիչը պատյանի ներսում շատ դատարկ տարածք ունի: Եվ քանի որ Raspberry Pi Zero- ն այդքան փոքր էր, ես մտածեցի, որ լավ կլինի պարզապես այն թաքցնել անդորրագրի տպիչի մեջ, որպեսզի այն նման լինի մեկ սարքի: Միակ խնդիրն այն է, որ Receipt տպիչն աշխատում է 12 վ -ով, իսկ Pi- ն ՝ 5 վ -ով: Այսպիսով, եթե մենք ցանկանում ենք, որ երկուսն էլ սնուցի միայն մեկ հոսանքի մալուխ, մենք ստիպված կլինենք անջատել այդ 12 վ լարման սնուցումը մինչև 5 վ:
Օգտագործելով 7805 լարման կարգավորիչ, 1uf կոնդենսատոր և 10uf կոնդենսատոր, ես կարողացա ստեղծել պարզ 5 վ կարգավորիչ, որը միացրեցի ստացողի տպիչի տրամաբանական տախտակին: Ես ամրացրեցի «-» մետաղալարը ընդհանուր գետնին, այնուհետև «+» մետաղալարը միացրեցի հոսանքի անջատիչի «միացված» կողմը, որպեսզի տպիչը միացնել-անջատելիս Pi- ն միանա և անջատվի: Օգտագործելով բազմաչափ, ես փորձարկեցի ՝ հաստատելու համար, որ ելքը անվտանգ է Pi- ի համար: Հետո միացա միկրո-USB մալուխի վրա և միացրեցի այն Pi- ին: Մալուխը տպիչին միացնելուց և անջատիչը շրջելուց հետո և տպիչը, և Pi- ն միացված են:
Վերջապես, ես անցք բացեցի ՝ USB մալուխը Pi- ից տպիչին միացնելու համար: Ես գտա 5V կարգավորիչը և Pi- ն տպիչի պատյանում տեղադրելու տեղ, այնուհետև ամեն ինչ նորից հավաքեցի: Այսպիսով, այժմ տպիչն ունի նաև սեփական վեբ սերվեր:
Քայլ 7: Դա ավելի առաջ տանելը
Եթե կարողացաք դիտել «Եթե սա ուրեմն այն» -ը, հավանաբար նկատեցիք, որ այն ունի մի շարք տարբեր վեբ ծառայություններ, որոնց կարելի է միանալ: Այսպիսով, եթե դուք չունեք Alexa կամ մտադիր չեք այն օգտագործել, կարող եք այս նախագիծը տպել գրեթե ամեն ինչից, ինչպիսիք են Facebook- ը, Twitter- ը, Gmail- ը, Google Home- ը, Evernote- ը, Tumblr- ը, Flickr- ը, Wordpress- ը, և այլն: Իմ Github էջում կարող եք գտնել Թվիթերը տպելու իմ կոդը: Հիմա գնացեք և տեսեք, թե ինչ կարող եք գալ:
Առաջին մրցանակ IoT մարտահրավերում
Խորհուրդ ենք տալիս:
DIY NANOLEAF - 3D տպիչ չկա. 11 քայլ (նկարներով)
DIY NANOLEAF - 3D տպիչ չկա. Hii Tech Lovers- ը այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել Arora Nanoleaf Առանց էլեկտրական գործիքների օգտագործման & կարող եք հարմարեցնել այդ վահանակները: Ես պատրաստել եմ 9 վահանակ, ընդհանուր առմամբ 54 Neo պիքսելային LED: Ընդհանուր արժեքը ՝ $ 20 -ից ցածր (հնդկական 1500 ֆունտ ստերլինգ) Nanoleaf լուսային վահանակներ
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0: 5 քայլ (նկարներով)
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0. Merry Grinchmas սվիտերն ինտերակտիվ հագուստ է, որն ապահովում է անհատականացված տպագիր հաղորդագրությունների լայն տեսականի ՝ որպես բողոք, երբ որևէ մեկը դիպչում է Գրինչի գլխարկի պոմպոնին: Հակամատոնական հաղորդագրություններ գալիս են ջերմային տպիչի միջոցով, որը վերահսկվում է
ESP32-CAM պատյան համակարգ և 3D տպիչ տեսախցիկ. 10 քայլ (նկարներով)
ESP32-CAM պատյանների համակարգ և 3D տպիչ տեսախցիկ. Ես փնտրում էի տեսախցիկս իմ 3-D տպիչի վրա փոխարինել փոքր, պարզ և ֆունկցիոնալ ինչ-որ բանով … և էժան: Google- ի մի քանի որոնումներն ինձ տարան դեպի ESP32-Cam մոդուլ: Դուք կարող եք դրանք գտնել ավելի քան 10 դոլարով, ինչպես ավելի քիչ, և նրանք իսկապես լավ են կատարում
Dotter - Arduino- ի վրա հիմնված Dot Matrix տպիչ. 13 քայլ (նկարներով)
Dotter - Arduino- ի վրա հիմնված Dot Matrix տպիչ. Բարև, բարի գալուստ այս ուսանելի :) Ես Նիկոդեմ Բարտնիկն եմ, 18 տարեկան արտադրող: Իմ ստեղծման 4 տարվա ընթացքում ես շատ բաներ եմ պատրաստել, ռոբոտներ, սարքեր: Բայց այս նախագիծը, հավանաբար, ամենամեծն է, երբ խոսքը չափի մասին է: Նա նաև շատ լավ նախագծված է, կարծում եմ
3D գունավոր տպիչ. 7 քայլ (նկարներով)
3D գունավոր տպիչ. Ես 3D տպիչ շատ եմ ուզում, բայց փող չունեմ: Ես նույնպես 13 տարեկան եմ և չեմ կարողանում աշխատանք գտնել, բա ի՞նչ անեմ: Ես կառուցում եմ Լեգոսից մեկը: Unfortunatelyավոք, ես չունեմ Lego Mindstorms (350 դոլար), ուստի ստիպված եղա բավարարվել: Սա չի նշանակում լինել ճշգրիտ կամ ճշգրիտ