Мазмуну:

Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+менен: 6 кадам (сүрөттөр менен)
Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+менен: 6 кадам (сүрөттөр менен)

Video: Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+менен: 6 кадам (сүрөттөр менен)

Video: Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+менен: 6 кадам (сүрөттөр менен)
Video: BTT SKR2 - Установка прошивки Klipper 2024, Ноябрь
Anonim
Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+ менен
Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+ менен
Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+ менен
Браузер башкарган Roomba роботу Raspberry Pi Model 3 A+ менен

Обзор

Бул Инструкция өлгөн Roombaга жаңы мээни (Raspberry Pi), көздү (веб -камера) жана веб -браузерден баарын көзөмөлдөө ыкмасын берүү боюнча багытталат.

Сериялык интерфейс аркылуу башкарууга мүмкүнчүлүк берген Roomba хактары көп. Мага учурдагы микроб программасы же иштөөчү платасы бар Roomba туш келүү бактысы болгон жок. Же Roomba өтө эски же Roomba өлгөн. Мен бул долбоор үчүн колдонгон Roomba дүкөнүнүн жергиликтүү соода дүкөнүндө 5 долларга таптым. Бул дагы эле татыктуу батарейкага ээ, бирок анасы жок. (Мен дагы веб -камераны ошол эле дүкөндөн 5 долларга жакын жерден таптым). Мен баштапкы Roombaдан колдонуп жатканымдын баары моторлор, шасси жана батарея. Бул долбоор үчүн Roomba колдонуунун кажети жок. Кааласаңыз, ар кандай моторлорду, дөңгөлөктөрдү жана шассилерди колдонсоңуз болот. Мен жөн эле керексиз нерселерди бир нерсеге айлантып алгым келет.

Бул курулуш үчүн мен Raspberry Pi Model 3 A+ жана Riorand мотор контроллерин колдондум. Мен өзгөрткөн Dexter Industries Browser Controlled Robotтун кодун колдонуп жатам. Dexter Industries версиясы Pi'ди башка компьютерде иштеген кардар html файлынан роботун (кыш pi платформасын) башкарууга мүмкүндүк берген веб -сервер катары орнотот.

Мен GPIO казыктарын колдонгон кодду өзгөрттүм жана браузерде баскыч басылганда / качуу баскычы басылганда Pi үчүн өчүрүү жолун коштум. Мен ошондой эле роботту бир баракта башкарып, iframe аркылуу кыймылдын агымын көрүүгө уруксат берүү үчүн көзөмөл веб -баракчасына бир аз өзгөртүүлөрдү киргиздим. Мен түйүнүмдөгү каалаган компьютерди же түзмөктү колдонуп туташуу үчүн кардар файлын жайгаштыруу үчүн статикалык IP менен Pi орноттум.

Мен бул жерде процессти документтештирип жатам, кантип жөнөкөй, арзан базалык роботту түзүүнү көрсөтөм.

Колдонулган бөлүктөр

Raspberry Pi 3 A+ (Adafruit Link) $ 30

Riorand Dual Motor Driver Controller H-Bridge (Amazon Link) $ 22

Моторлор үчүн 12В батарея (Amazon Link) $ 19

Raspberry Pi үчүн 5V батарея (Amazon Link) $ 10

8GB Micro SD Card (Amazon Link) $ 5

Jumper Wires (Amazon Link) $ 7

Roomba 500 сериясы

. Баары чогуу болгону 100 доллардан аз.

1 -кадам: Raspbian орнотуп, статикалык IP дарегин орнотуңуз

Raspbian орнотуп, статикалык IP дарегин орнотуңуз
Raspbian орнотуп, статикалык IP дарегин орнотуңуз

Мен Raspbian Stretch Lite колдондум. Мен рабочий столго муктаждык көргөн жокмун, бирок сиз кааласаңыз рабочий версиясын орнотсоңуз болот.

Сиз буга чейин Raspbianди кантип орнотууну билесиз деп ойлойм. Эгер сизге жардам керек болсо, Raspberry Pi Foundationтын көрсөтмөсүн бул жерден таба аласыз.

Сизде Raspbian иштеп баштагандан кийин, кирип, raspi-config программасын иштетиңиз.

pi@raspberrypi: ~ $ sudo raspi-config

WiFi туташууңузду raspi-configда орнотуңуз

Тандоо

2 Тармак параметрлери

Тандоо

N2 Wi-Fi

Өлкөнү тандап, SSIDиңизди киргизиңиз жана сырсөзүңүздү киргизиңиз

SSHди raspi-configда орнотуңуз

Мен баштапкы конфигурацияны жасагандан кийин, мен баарын башсыз орнотуу үчүн SSH колдондум. (Эгерде сиз мониторду колдонсоңуз, муну өткөрүп жиберишиңиз мүмкүн. Роботту токтотуп, мониторго туташтырбай эле, кодго өзгөртүүлөрдү киргизүү мага оңой болду.)

Артка raspi-config башкы менюсуна

Тандоо

5 Interfacing Options

Тандоо

P2 SSH

Тандоо

Ооба

Артка raspi-config башкы менюсунда тандаңыз

Тармагыңызга туташканыңызды ырастаңыз

pi@raspberrypi: ~ $ ifconfig

Сиз ушуга окшош чыгарууну алышыңыз керек. (IP дарегине көңүл буруңуз, сизге кийинчерээк керек болушу мүмкүн. Мис. 192.168.1.18)

wlan0: желектер = 4163 mtu 1500

inet 192.168.1.18 netmask 255.255.255.0 уктуруу 192.168.1.255 inet6 fe80:: c74f: 42ec: 8cd3: 2fda префикс 64 алкак 0x20 этер b8: 27: eb: 6a: a4: 95 txqueuelen 1000 (Ethernet) RX пакеттери 444796 байт 5.5 MiB) RX каталары 0 түштү 0 ашты 0 кадр 0 TX пакеттер 30530 байт 39740576 (37.8 MiB) TX каталары 0 түштү 0 ашты 0 ташуучу 0 кагылышуулар 0

Интернетке кире алаарыңызды ырастаңыз.

pi@raspberrypi: ~ $ ping google.com

Сиз ушуга окшош чыгарууну алышыңыз керек.

PING google.com (216.58.194.110) 56 (84) байт маалымат.

Dfw06s48-in-f14.1e100.netтен 64 байт (216.58.194.110): icmp_seq = 1 ttl = 54 time = 18.2 ms 64 byt from dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 2 ttl = 54 убакыт = 19.4 мс 64 байт dfw06s48-in-f14.1e100.netтен (216.58.194.110): icmp_seq = 3 ttl = 54 убакыт = 23.6 мс 64 байт dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 4 ttl = 54 убакыт = 30.2 ms ^C --- google.com пинг статистикасы --- 4 пакет өткөрүлдү, 4 алынды, 0% пакет жоготуу, убакыт 3004ms rtt min/avg/max/mdev = 18.209/ 22.901/30.267/4.715 мс

Статикалык IP орнотуу

Тармагыңыздагы ошол эле даректи колдонуп роботуңузга ырааттуу туташуу үчүн, статикалык IP орнотууну каалайсыз.

Учурдагы тармак дарегиңизди алыңыз, мис. 192.168.1.18

Пи менин тармагыма туташканда DHCP тарабынан автоматтык түрдө берилген даректи колдонуп жатам. Сиз муну каалаган нерсеңизге өзгөртө аласыз, эгер ал сиздин тармагыңызга дал келсе жана башка дайындалган даректерге карама -каршы келбесе.

Текст редакторунда dhcp.conf ачыңыз. (Мен нано колдоном)

pi@raspberrypi: ~ $ sudo nano /etc/dhcpcd.conf

#Example статикалык IP конфигурациясына ылдый жылып, төмөнкү саптарды өзгөртүңүз.

#интерфейс eth0

#статикалык ip_address = 192.168.11.13 #статикалык роутерлер = 192.168.11.1 #статикалык домендин_серверлери = 192.168.11.1 8.8.8.8

Тармагыңызга дал келгендей кылып өзгөртүңүз жана ар бир саптын башындагы # санын алып салыңыз.

Мисал:

wlan0 интерфейси

статикалык ip_address = 192.168.1.18 статикалык роутерлер = 192.168.1.1 статикалык domain_name_servers = 192.168.1.1 8.8.8.8

Сактоо жана чыгуу.

Кайра жүктөө жана SSH аркылуу Piге туташуу

pi@raspberrypi: ~ $ sudo кайра жүктөө

Башка компьютерден SSH аркылуу туташыңыз. Windows колдонуучулары PuTTY же Linux үчүн Windows чакан системасын колдоно алышат (Windows10).

ian@компьютер: ~ $ ssh [email protected]

Сырсөзүңүздү киргизиңиз (демейки малина).

[email protected] сырсөзү:

Сиз азыр Пиңиздин буйругу менен болушуңуз керек.

pi@raspberrypi: ~ $

2 -кадам: Motion орнотуу жана конфигурациялоо

Motion орнотуу жана конфигурациялоо
Motion орнотуу жана конфигурациялоо

Кыймыл - бул коопсуздук камерасы / вебкамерасынын көптөгөн долбоорлорунда колдонулган программа. Кыймылдын көптөгөн өзгөчөлүктөрү бар. Бирок, биз видеону веб -камерадан 8081 портуна жөн эле агып тургандай кылып орнотуп жатабыз.

Веб -камераңызды текшериңиз

Веб -камераңызды сайыңыз жана туташкан USB түзмөктөрүн тизмектеңиз (Туташкандан кийин кайра жүктөөңүз керек болот).

pi@raspberrypi: ~ $ lsusb

Сиз ушуга окшош чыгарууну алышыңыз керек. Logitech C210го көңүл буруңуз.

Автобус 001 Аспап 002: ID 046d: 0819 Logitech, Inc. Веб -камера C210

Автобус 001 Аспап 001: ID 1d6b: 0002 Linux Foundation 2.0 тамыр борбору

Эгерде камераңыз көрүнбөсө, анда ал туура келбеши мүмкүн же кошумча драйверлерди орнотууңуз керек болот.

Motion орнотуу

Топтомдорду жаңыртуу.

pi@raspberrypi: ~ $ sudo apt-get update

Motion орнотуу.

pi@raspberrypi: ~ $ sudo apt -get install -y

Motion орнотулгандан кийин конфигурация файлын түзөтүңүз.

pi@raspberrypi: ~ $ sudo нано /etc/motion/motion.conf

Төмөнкү саптарды төмөндөгүдөй кылып өзгөртүңүз.

демон күйүк

туурасы 640 бийиктиги 480 кадр ылдамдыгы 100 чыгаруу_сүрөт өчүрүлгөн ffmpeg_output_movies text_right stream_port 8081 stream_quality 100 stream_localhost өчүк webcontrol_localhost өчүк

Жүктөөдө Motion Daemonду баштаңыз

/Etc/default/motion файлын ачыңыз.

pi@raspberrypi: ~ $ sudo nano/etc/default/motion

Өтүү

start_motion_daemon = ооба

Файлды сактап, чыккыла

Кайра жүктөө

pi@raspberrypi: ~ $ sudo кайра жүктөө

Пи кайра жүктөлгөндөн кийин, браузерди ачыңыз жана 8081 портунда браузерге видео агылып жатканын текшериңиз

Мисал:

192.168.1.18:8081

Motion Daemon көйгөйлөрдү чечүү

Мен motion.conf файлында ар кандай варианттарды сынап жатканда, кыймыл демонун жүктөөдө баштоо көйгөйлөрүнө туш болдум.

Эгерде сиз Raspian Stretch кыймыл демонуна чейин кыймыл баштасаңыз, анда аны кийинчерээк жүктөөдө баштоодо көйгөйлөр жаралышы мүмкүн. Демонду конфигурация кылбастан "sudo motion" иштетүү, адегенде колдонуучуга жазууга уруксат бербестен/var/log/motion каталогун түзөт.

3 -кадам: Apache орнотуу жана Web Control Page орнотуу

Apache орнотуу жана Web Control Page орнотуу
Apache орнотуу жана Web Control Page орнотуу

Apache - роботту башкаруучу веб -баракчанын веб -сервери. Биз демейки Apache index.html файлын githubдан жүктөлгөн файлга алмаштырабыз. Сиз ошондой эле кыймылдын видео агымын көрсөтүү үчүн коддун бир нече саптарын өзгөртөсүз жана роботту башкаруу үчүн буйруктарды кайда жөнөтүүнү дайындайсыз.

Apache жана Gitти орнотуңуз

pi@raspberrypi: ~ $ sudo apt -get apache2 git -y орнотуу

Apache жана git орнотулгандан кийин файлдарды жүктөп алыңыз.

pi@raspberrypi: ~ $ git клону

Roombarobot каталогун ачыңыз.

pi@raspberrypi: ~ $ cd roombarobot

/Var/www/html папкасындагы index.html файлын index.html файлына/home/pi/roombarobot менен алмаштырыңыз

pi@raspberrypi: ~/roombarobot $ sudo cp index.html/var/www/html

Index.html файлын түзөтүңүз

Текст редактору менен index.html файлын ачыңыз.

pi@raspberrypi: ~/roombarobot $ sudo nano /var/www/html/index.html

Бул эки линияны табыңыз

var host = "ws: // YOURIPADDRESS: 9093/ws";

"YOURIPADDRESS" 1 -кадамда орнотулган статикалык IP дарегине өзгөртүңүз жана файлды сактаңыз.

Мисал:

var host = "ws: //192.168.1.18: 9093/ws";

Башка компьютерде, браузерди ачып, Пиңиздин IP дарегин киргизиңиз. Сиз сол жактагы куту менен көзөмөлдөө веб -баракчасын, веб -камераңыздан видео агымын жана оң жактагы вебди башкаруу баскычтарын көрүшүңүз керек.

4 -кадам: Кодду орнотуу жана сыноо

Кодду орнотуу жана сыноо
Кодду орнотуу жана сыноо

Бул код питондо жазылган жана торнадо китепканасын талап кылат. Код 9093 портундагы вебсокеттер аркылуу башкаруу веб -баракчасынан буйруктарды угуу үчүн серверди орнотуу үчүн китепкананы колдонот.

PIP жана Tornado китепканасын орнотуңуз

Пипти орнотуу

pi@raspberrypi: ~ $ sudo apt-get python-pip орнотуу

Торнадо китепканасын орнотуңуз

pi@raspberrypi: ~ $ sudo pip орнотуу торнадо

Roombabot программасын баштаңыз жана туташууну текшериңиз

Roombabot.py программасын баштаңыз

pi@raspberrypi: ~ $ sudo python /home/pi/roombarobot/roombabot.py

Иштегенден кийин, терминалда "Даяр" дегенди көрүшүңүз керек. Браузерде башкаруу веб -баракчасын ачыңыз жана туташууну чыкылдатыңыз. Андан кийин беттеги багыттоочу баскычтардын бирин басыңыз. Сиз ошондой эле клавиатураңыздагы жебе баскычтарын колдоно аласыз.

Сиз ушуга окшош терминалда чыгууну көрүшүңүз керек.

Даяр

туташуу ачылды… байланыш ачылды… алынды: u 8 Running Forward байланышы ачылды… алынды: l 6 Бурулуу Солго туташуу ачылды… алынды: d 2 Running Reverse байланыш ачылды… алынды: r 4 Оңго бурулуу

Программаны токтотуу үчүн ctrl+c басыңыз.

Пи кубатын текшерип бүткөндөн кийин.

pi@raspberrypi: ~ $ sudo poweroff

Мүчүлүштүктөр

Мен көзөмөлдөө веб -барагында өчүрүү баскычы менен көйгөйдү байкадым. Кээде өчүрүү баскычы басылганда же тапталганда эч нерсе кылбайт. Мен буга эмне себеп болгонун түшүнө алган жокмун, бирок аны чечүүнүн жолу бар. Эгерде сиз роботту өчүргүңүз келсе жана өчүрүү баскычы иштебесе, баракты кайра жүктөңүз, туташтыруу баскычын басыңыз / басыңыз, андан кийин өчүрүү баскычын басыңыз. Ал өчүрүлүшү керек.

5 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея
Ассамблея

Жогоруда айтылгандай, бул долбоор үчүн Roomba колдонуунун кажети жок. Эки мотор, эки дөңгөлөк жана каркас бар нерсе иштейт. Мен Roomba бөлүп алып, дөңгөлөк модулдары менен батареядан башкасынын баарын алып салдым.

Дөңгөлөк модулдары

Ромбанын дөңгөлөктөрү менен моторлору алынуучу модулда чогуу жайгашкан. Ар бир модулда мотор, редуктор, дөңгөлөк, асма булак жана интерфейс тактасы бар көк түстөгү сырткы корпус бар.

Interface Board

Ар бир интерфейс тактасында ага жетүүчү алты зым бар. Моторду айландыруучу эки зым (Кызыл [+], Кара [-]) бар, эффект сенсорунун бир маалымат зымы, дөңгөлөктүн түшүүсү үчүн бир зым, 5V зым жана сенсорду иштетүү үчүн бир GND зымы. Интерфейс тактасына кирүү үчүн модулду бөлүп алышыңыз керек. Мен моторго кайра баарын алып салдым жана моторго жаңы [+] жана [-] зымдарды коштум (сүрөттөрдү караңыз). Сенсорлорду сактап калууну каалайсызбы же жокпу, сизге байланыштуу.

Асма булактар

Вакуумдук бөлүктү алып салгандан кийин, Roomba'nın салмагы ыргып кетет. Эгер булактарды алып салбасаңыз, Roomba бир бурчта отурат. Мен башында буларды алып салгам, бирок кийин килемди оодаруу кыйын болуп жатканын көрүп кайра кошуп койгом. Жазды кайра коюу көйгөйдү чечти.

Моторлорду мотор контроллерине туташтыруу

Кыймылдаткычтар бири -бирине карама -каршы турат. Бул Roomba алдыга карай айдаш үчүн, бир мотор алдыга, экинчиси артка бурулушу керек дегенди билдирет. Мен бул жөнүндө көп ойлонгон жокмун. Мен жөн эле кодду моторлорду кантип зымга байлаганымды жазып бүттүм. Бул бактылуу кырсык болду, анткени Raspberry Pi күйгүзүлгөндө/өчүрүлгөндө GPIO казыктарына чыңалуу чыгат. Менде нерселер кантип туташкан, Roomba Raspberry Pi жүктөлмөйүнчө айланат (отуз секунддай) жана электр өчүрүлгөнгө чейин өчүрүлгөндө айланат. Эгерде башкача зым тартылса, анда ал алдыга / артка жылат, бул кыжырды келтирет. Мен акыры мотор контроллери үчүн жөнөкөй которгуч менен муну оңдоону пландап жатам.

Моторлорду жана батареяны мотор контроллерине туташтыруу

Кубат - - - - - - - - - - - - - - - - 12V [+] - - - - - - - - - - - -Roomba батареясы [+]

Мотор 2- - - - - - - - - - - - - - - Кара - - - - - - - - - - - - - -Сол мотор [-] Мотор 2- - - - - - - - - - - - - - - Кызыл - - - - - - - - - - - - - - - Сол мотор [+] Мотор 1- - - - - - - - - - - - - - - - Кара - - - - - - - - - - - - - -Оң мотор [-] Мотор 1- - - - - - - - - - - - - - - - Кызыл - - - - - - - - - - - - - - - Оң мотор [+] GND- - - - - - - - - - - - - - - - - 12V [-] - - - - - - - - - - - -Roomba батареясы [-]

Мотор контроллерин Raspberry Piге туташтыруу

Motor Controller Pins Wire Color (сүрөттөрдү караңыз) Raspberry Pi Pins

GND- - - - - - - - - - - - - - - - - Black - - - - - - - - - - - - -GND PWM 2- - - - - - - - - - - - - - - - Көк - - - - - - - - - - - - - -GPIO 18 DIR 2- - - - - - - - - - - - - - - - Green - - - - - - - - - - - - - -GPIO 23 PWM 1- - - - - - - - - - - - - - - - Yellow - - - - - - - - - - - -GPIO 24 DIR 1- - - - - - - - - - - - - - - Апельсин - - - - - - - - - - - -GPIO 25 5V - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5V

Электрониканы орнотуу

Баарын бириктире турган көп нерсе жок. Бөлмөнүн шассисин түшүрдүм. Капкакты алып салуу менен, сиз учурдагы пластикалык тирешүүлөрдү оңой эле кесип, электрониканы орнотуу үчүн тешиктерди бурсаңыз болот. Кыймылдаткычтардан кабелдерди иштетүү үчүн бар порттор бар. Эгер сиз Roomba акциясын колдонуп жатсаңыз, батарея терминалдарына кирүү үчүн мурунтан эле бар.

Батарейкалар

Мен Raspberry Pi жана мотор контроллери үчүн өзүнчө батареяларды колдондум. Пи батареясы уюлдук телефондорду күчөтүү үчүн колдонулган 5В батарейка. Мотор контроллери үчүн мен аны менен келген баштапкы Roomba батареясын колдондум. Батарея терминалдары энбелгиленбеген, андыктан чыңалууңузду мотордун контроллерине туташтыруудан мурун вольтметр менен текшергениңиз оң. Зымдарды Roomba батареясына туташтыруу үчүн мен төрт неодим магнитин колдондум (сүрөттөрдү караңыз). Мен магниттердин экөөнү зымдарга, калган экөөнү батарейканын терминалдарына такадым. Лагердик магнитти магнитсиз кылат. Бирок, сырттагы каптоо дагы эле терминалдардагы магниттерге жабышып, электр энергиясын өткөрө алат. Бул батарейканы туташтыруу жана ажыратуу үчүн торттун бир бөлүгүн түзөт.

Тестирлөө

Баары чогуу болгондон кийин, сизде баары туура туташтырылганын текшериңиз, роботту бир нерсеге сүйрөңүз (ал жылып кетпейт) жана күйгүзүңүз.

Кирүү жана roombabot.py программасын баштоо

pi@raspberrypi: ~ $ sudo python /home/pi/roombarobot/roombabot.py

Вебди көзөмөлдөө барагына өтүп, аны сынап көрүңүз. Эгерде баары туура зымдалса, баскычтар басылганда / жебе басылганда дөңгөлөктөр тиешелүү багытта айланышы керек (туташууну чыкылдатууну унутпаңыз).

6 -кадам: Python кодун жүктөөдө / аяктоодо иштетүү

Python кодун жүктөөдө / аяктоодо баштоо
Python кодун жүктөөдө / аяктоодо баштоо
Python кодун жүктөөдө / аяктоодо баштоо
Python кодун жүктөөдө / аяктоодо баштоо

Биз кылышыбыз керек болгон акыркы нерсе - Raspbianге python программасын жүктөөдө баштоону айтуу. Бул үчүн биз скрипт жасап, аны crontab аркылуу өчүрүп -күйгүзүүнү пландап жатабыз.

Скриптти түзүү

Pi колдонуучу каталогунда startrobot.sh деп аталган жаңы скрипт файлын түзүңүз

pi@raspberrypi: ~ $ sudo nano startrobot.sh

Төмөнкү саптарды файлга көчүрүңүз

#!/bin/sh

#startrobot.sh cd /cd /home /pi /roombarobot sudo python roombabot.py cd /

Файлды сактап, чыккыла

Startrobot.sh файлын аткарылуучу кылыңыз

pi@raspberrypi: ~ $ sudo chmod 755 startrobot.sh

Аны сынап көрүңүз (токтотуу үчүн ctrl + c басыңыз)

pi@raspberrypi: ~ $ sh startrobot.sh

Crontab файлын түзөтүңүз

pi@raspberrypi: ~ $ sudo crontab -e

Файлдын түбүнө төмөнкү сапты кошуңуз

# m h dom mon dow буйругу

@reboot sh /home/pi/startrobot.sh

Сактоо жана чыгуу

Roombabot.py программасы азыр Pi кайра жүктөлгөндө же кубаттуулуктун айлануусунда башталышы керек.

Аяктоо

Бул учурда сизде тармактагы каалаган түзмөктөн браузерди колдонуп башкара турган функционалдык робот болушу керек. Мен муну үйдөн алыс болгондо роботко кирүү үчүн баштапкы VPNди орнотуп, орноткондон кийин бир аз алдыга жылдырдым. Келечекте кээ бир кошумча өзгөртүүлөрдү киргизүүнү көздөп жатам. Мен аны автономдуу кылууну пландап жатам жана, мүмкүн, мен дагы көзөмөлдү өз колума ала алам.

Сунушталууда: