
Мазмұны:
- 1 -қадам: App.remoteme.org туралы кейбір ақпарат
- 2 -қадам: не қажет:
- 3 -қадам: Қосылымдар
- 4 -қадам: ПХД
- 5 -қадам: ПХД шығысы
- 6 -қадам: қалай жұмыс істейді
- 7 -қадам: автомобиль құрастыру - дөңгелектер
- 8 -қадам: Қуат (AA қайта зарядталатын батареялар) 1/2 нұсқа
- 9-қадам: Қуат (Li-Po 7.2V батареялары) 2/2 нұсқа
- 10 -қадам: дәнекерлеу
- 11 -қадам: камера
- 12 -қадам: Автокөліктердің бөлшектерін біріктіру
- 13 -қадам: App.remoteme.org конфигурациясы
- 14 -қадам: RasbperryPi конфигурациясы
- 15 -қадам: Қосылымдарды тексеру
- 16 -қадам: Python сценарийін қосу
- 17 -қадам: Python сценарийінің сәтті қосылғанын тексеру
- 18 -қадам: Веб -бетті басқару машинасына қосу
- 19 -қадам: WebPage құрылғысын көлікті басқару үшін конфигурациялау 1/2
- 20 -қадам: WebPage құрылғысын көлікті басқару үшін конфигурациялау 2/2
- 21 -қадам: Автокөлікті басқару орталығын ашыңыз
- 22 -қадам: Камера конфигурациясы 1/2
- 23 -қадам: Камера конфигурациясы 2/2
- 24 -қадам: 1/2 жүргізу
- 25 -қадам: Көлік жүргізу 2/2
- 26 -қадам: Бұл қалай жұмыс істейді
- 27 -қадам: планшет, мобильді руль
- 28 -қадам: ұялы телефонда бетті ашыңыз
- 29 -қадам: Turn Server қосу
- 30 -қадам: мобильді басқару
- 31 -қадам: Қорытынды
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51


Біз 4WD автокөлігін құрастырамыз - руль цистернаға ұқсас болады - дөңгелектердің бір жағын бұру үшін екіншісінен басқа жылдамдықпен айналады. Автокөлікте камераның орнын өзгертуге болатын арнайы ұстағышқа камера орнатылады. Роботты веб -браузер басқарады (Chrome немесе Firefox жұмыс үстелінде немесе Firefox ұялы телефонда), браузерде біз камералық бейнені аламыз (200мм кідіріспен), ал браузерден біз машинаның қозғалысын басқара аламыз. камераның орналасуы. Байланысты жеңілдету үшін мен app.remoteme.org жүйесін қолдандым, сонымен қатар автокөліктің осы түрін басқаруға болады, сондықтан сіз өзіңіздің жеке кодыңызды жазудың қажеті жоқ, бірақ, әрине, сіз сценарийлерді өзгерте аласыз. жаңа мүмкіндіктер және т.
ПХД -ге қуат қоспас бұрын барлық қосылымдарды екі рет тексеріңіз
1 -қадам: App.remoteme.org туралы кейбір ақпарат
Жүйе үш бөліктен тұрады
- веб -қосымша - сіз басқару веб -беттерін орналастырған кезде және ол барлық байланысты байланыстырады
- rasbperryPi бағдарламасы - бейне жіберетін, сіздің питон сценарийлеріңізді басқаратын бағдарлама
- кітапханалар, онда сіз сынып, функциялар анықтамасын табасыз
Remoteme.org - бұл жүйенің жылдамдығы, сіз барлық құрылғыларды байланыстырасыз, онда сіз өзіңіздің веб -беттеріңізді орналастыра аласыз, қосылған құрылғыларды көре аласыз. Remoteme.org жүйесі сізге өз жобаларыңызды құруға көмектеседі, протоколдық байланыстарға алаңдамайсыз, негізгі идея - веб -беттер, RasbeprryPI, arduino және сценарийлер арқылы әр түрлі құрылғыларға екілік хабарлар жіберу.
Екінші жағынан, Remoteme.org сізге файлдарыңызды толық басқаруға мүмкіндік береді, оны өзіңіздің функционалдығыңызға қарай өзгертуге болады.
Бұл оқулықта мен сізге қандай да бір код жазусыз керемет жобаны қалай жасауға болатынын көрсетемін.
Бұл оқулықтың соңында мен remoteme.org жүйесін түсінуге көмектесетін пайдалы сілтемелер қойдым.
2 -қадам: не қажет:


- Таңқурай PI Zero W
- Арнайы камера
- Adafruit 16 -арналы 12 -разрядты PWM/Servo драйвері - I2C интерфейсі - PCA9685 немесе оның клоны
- Камера ұстағышымен үйлесетін екі серво механизмі
- Камера ұстағыш
- Батареялар - оқулықта қосудың екі мүмкіндігі
- TB6612FNG көпірі, доңғалақты жылдамдықты басқаруға арналған
- PCB бүркіт файлдары DC-DC термиялық тасымалдау әдісін жасау оңай
- Төменгі деңгейдегі конвертер модулі
- Робот корпусы
3 -қадам: Қосылымдар

Raspberry pi басқару серво механизмі PWM модулі арқылы және қозғалтқыш жылдамдығы H көпірімен RasbperryPi түйреуіштеріне қосылады, H көпіріне PWM кірісі мен сервистер үшін пайдаланатын модуль арқылы шығарылады (мен жоғарыда аталған бөліктерге логикалық түрлендіргіштер қажет емес)
4 -қадам: ПХД


Сіз PCB бүркіт файлдарын осы жерден жүктей аласыз. Жолдар майлы, сондықтан оны жылу беру әдісімен жасау оңай
5 -қадам: ПХД шығысы


- Жетек қозғалтқыштарына арналған PWM кірісі PWM модулінің 15 -ші және 16 -шы түйреуіштеріне қосылуы керек (PWM модулінің суретінен жасыл төртбұрышты тексеріңіз)
- Қозғалтқыш қозғалтқыштары үшін қуат кірісі (қозғалтқыштар қандай максималды кернеумен жұмыс істей алатынын тексеріңіз)
- RasbperryPi мен PWM модулінің қуаты дәл болуы керек
- Қозғалтқыштың шығысы (екі шығыс бар, себебі біз қозғалтқыштарды қосамыз)
- Серво механизмдерінің қуаты - сонымен қатар олар үшін қандай кернеу жақсы екенін тексеру керек
- 5 -ші кірістен секіргіштің қазіргі қуаты сонымен қатар қозғалтқыштарды басқарады, сондықтан 2 кірісіне ештеңе қосудың қажеті жоқ
- Егер секіргіш бар болса, RasbperryPi 3 -ші кірістен қуат алады - секіргішті осында орнатпас бұрын, қосылулардың дұрыс екенін тексеріңіз - RPi -ді жазғыңыз келмейді
- Кабельдерді осында дәнекерлеуге рұқсат етіңіз, өйткені бізге логикалық түрлендіргіш қажет емес
6 -қадам: қалай жұмыс істейді
RasbperryPi -де екі кітапхананы қолданатын python сценарийі бар
- GPP ретінде RPi. GPIO импорттау-H көпіріне қосылған 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 түйреуіштері үшін (BCM белгісі)
- PWM модулі үшін Adafruit_PCA9685 импорттау
Rpi түйреуіштері 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) және H көпірінің басқару режимі бойынша (алға, артқа, аялдама, қысқа үзіліс) келесі түрде қосылады. H көпіріне екі PWM сигналы қажет, сондықтан біз жылдамдықты немесе қозғалтқыштың айналуын басқара аламыз. Жобада бізде PWM контроллері бар (серво үшін қолданылады), біз оны H көпірі үшін PWM генерациялау үшін де қолданамыз.
PWM модулі I2C байланыс хаттамасын қолданады. Мен Adafruit_PCA9685 қорапшасында жұмыс істедім. кітапхана
7 -қадам: автомобиль құрастыру - дөңгелектер


Біз жетекші қозғалтқыштарды автомобиль корпусына қосудан бастаймыз. Сол/бүйірлік қозғалтқыштар бір -біріне қосылады, ал екеуі де кейінірек ПХД -ге қосылатын кейбір қуат кабеліне қосылады. Қозғалтқыш дөңгелектерін әр жағынан қосқанда маңызды бағыт бір бағытта айналуы керек.
8 -қадам: Қуат (AA қайта зарядталатын батареялар) 1/2 нұсқа




Мен қуаттың екі мүмкіндігін жазамын Автокөліктің біріншісі - 10хАА зарядталатын батареядан. Ақырында мен қызыл түстермен салынған секіргіштерді салдым.
9-қадам: Қуат (Li-Po 7.2V батареялары) 2/2 нұсқа


Ал екінші нұсқа-7.2 LI-PO батареясы. Бұл жағдайда бізде 3 кернеу бар - Rpi мен модуль үшін 5в, серво үшін 6В және тікелей қозғалтқыштар үшін 7,2 вольтты батареялардан. Мен төмен түсетін екі модульді қолдануға тура келді
LI-PO бар 2-нұсқа жақсы:
- Батареялардың сыйымдылығы үлкен - көлік ұзақ жүреді
- Жетек қозғалтқыштары үшін үлкен кернеу - автокөлік жылдамырақ жүреді
- Қозғалтқыш қозғалтқышты таба бастағаннан кейін бізде кернеудің төмендеуі мен RPI қайта іске қосылу ықтималдығы аз.
10 -қадам: дәнекерлеу




Мен ПХД -ге PWM модуліне арналған бірнеше аралықтарды қойдым. Жазуға ештеңе жоқ, барлығын қалай дәнекерлеу керектігін суреттерді қарап шығыңыз
11 -қадам: камера

Біз камераны қосамыз, мұнда камера ұстағышына орнатпас бұрын серво механизмдерін қалай орталықтандыру керектігі жазылған, бірақ ең қысқа жол - қолмен максималды айналу позициясын қолмен тексеру және орталық күйге серво орнату. Бұл орталықтандырылған серво механизмдері біз камера ұстағышына ортаңғы позицияда орнатылады (камера суреттегідей тура алға бағытталған)
12 -қадам: Автокөліктердің бөлшектерін біріктіру



ПХД үшін мен шағын плексиглас үстел жасадым
13 -қадам: App.remoteme.org конфигурациясы

Мен ақысыз app.remoteme.org жүйесін қолдандым, ол сізге байланыс орнатуға көмектеседі және оның бізге қажет сценарийлері бар
Бұл нұсқаулықта мен автокөлікті жүргізу үшін не істеу керектігін біртіндеп көрсетемін (мұнда сіз толығырақ біле аласыз)
- Https://app.remoteme.org сайтында ән жазыңыз, тіркелгеннен кейін сіз автоматты түрде кіресіз
- сол жақта Token қойындысын ашыңыз, содан кейін «жаңа белгі» түймесін басып, OK түймесін басыңыз, біз жаңа белгі жасадық (экрандағы сурет)
- бұл мысалда таңбалауыш мәні: ~ 1_ & p@+BNnZ@A+x8 (сіздікі басқаша болады;))
14 -қадам: RasbperryPi конфигурациясы

шпакль консолінде (мұнда біздің камераның I2c байланысын қосатын RPi -ді қалай орнату керек)
git clone git: //github.com/remoteme/remoteme.git
cd Remememe
python3.5 install.py
- Орнатушы бізге [Y] жауаптар үшін бірнеше сұрақтар қояды және [enter] арқылы растайды.
- орнату кезінде таңбалауыш сұралса, біз қосымшадан көшіріп, енгіземіз (shift+кірістіру)
- атау, мысалы Rpi
- deviceId 1 Enter
- орнатқаннан кейін - бағдарламаны іске қосыңыз
./runme.sh
15 -қадам: Қосылымдарды тексеру

Https://app.remoteme.org дегенге қайта оралайық
Құрылғылар қойындысында біз қосылған RPi көреміз (жасыл сілтеме белгісі RPi дәл қазір қосылғанын білдіреді)
16 -қадам: Python сценарийін қосу


Енді біз шаблондарда python сценарийін қосамыз, сондықтан бізге ештеңені бағдарламалаудың қажеті жоқ.
Құрылғылар қойындысында RasbperryPi мәзірін ашып, «Сыртқы сценарий қосу» таңдаңыз.
Жаңа терезе пайда болған кезде жоғарыдағы суреттегідей ақпарат беріңіз
«Car4wd» үлгісін таңдауды ұмытпаңыз. Осы қадамдардан кейін remoteme.org біздің RasbperryPi -ге python сценарийін қосады және оны қайта бастайды
17 -қадам: Python сценарийінің сәтті қосылғанын тексеру

Құрылғылар қойындысында жаңа python сценарийі қосылған құрылғы қосылуы керек, оның құрылғысының идентификаторы - 2. Бұл құрылғыға Id веб -беті көлікті басқаруға хабарлар жібереді.
18 -қадам: Веб -бетті басқару машинасына қосу

құрылғылар қойындысында «Жаңа», содан кейін «Веб -бет» түймесін басыңыз. Біз басқа құрылғыны қосамыз - webPage біз оны көлігімізді басқару үшін қолданамыз. Біз веб -бетте «car4wdDesktop» шаблонын қолданғандықтан, қазірдің өзінде пайдалануға дайын файлдар бар
19 -қадам: WebPage құрылғысын көлікті басқару үшін конфигурациялау 1/2

Құрылғы қойындысында веб -бетті кеңейтіп, index.html түймесін, содан кейін Ашу түймешігін басыңыз
20 -қадам: WebPage құрылғысын көлікті басқару үшін конфигурациялау 2/2

Терезе пайда болады, содан кейін біздің deviceId 2 жағдайында біздің питон сценарийінің deviceId қамтамасыз ету қажет: суретте көрсетілген орынды өзгертейік.
21 -қадам: Автокөлікті басқару орталығын ашыңыз


Енді біздің парақшаны ашып, оның қалай жұмыс істейтінін көру уақыты келді. Құрылғы қойындысында index.html түймесін басыңыз, содан кейін «Жаңа қойындыда ашу» Бейнені алдын ала қарау үшін хромды немесе Firefox браузерін пайдалану керек, браузер webRTC -ті толық қолдамайды.
22 -қадам: Камера конфигурациясы 1/2

Біз тінтуірді бейне аймаққа жылжытқанда, камера позициясын өзгертуі керек және ол FPS ойындарындағыдай жұмыс істеуі керек. Ол дұрыс қозғалмайтын шығар
23 -қадам: Камера конфигурациясы 2/2

Script.js файлын ашыңыз (құрылғылар қойындысы веб -бетті кеңейтеді, содан кейін script.js басыңыз, содан кейін ашыңыз) және экранда мен көрсеткен орынды табыңыз.
менің жағдайда орталық позиция - 560 және 430, ал қозғалыстар диапазоны екі ось үшін 200
Сіз бұл сандармен тәжірибе жасауыңыз керек, осылайша сіз камераның орналасу ортасы мен тегіс қозғалыстарды аласыз, егер сіз бұл оқулықты қолдансаңыз, берілген мәндерді көшіріңіз
24 -қадам: 1/2 жүргізу

Егер сіз пернетақтадағы жоғары көрсеткіні бассаңыз, өлшегіштер орнын өзгертуі керек, ал көлік жүруі керек. Егер сіз «жоғары» көрсеткісін бассаңыз және машина бұрылса, онда экрандағы орындарға минус қосу/жою қажет.
Осы операциядан кейін «жоғары» көрсеткі көрсеткеннен кейін вагон алға және төменге қарай жүруі керек, артқа қарай жүруі керек.
25 -қадам: Көлік жүргізу 2/2

Енді бұрылуда - егер машина оңға бұрылса, сол жақ көрсеткіні басыңыз. Кабельдерді аудару керек (жоғарыдағы суретті қараңыз)
Егер сіз осы кабельдерді дәнекерлесеңіз, оны script.js бойынша өзгертуге болады, тек қозғалтқыштардың жылдамдығын жіберу тәртібін өзгертіңіз, бұрын:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()))); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ())));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
кейін:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ())));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
Ал енді сіз дұрыс жұмыс істеу үшін бір минуттай минустармен ойнауға тиіссіз;). Сіз көрсеткендей, автокөлік жылдамдықпен қозғалмайды, ол жылдамырақ қозғалуы үшін жоғары жылдамдықта жүрмейді, ол жоғары тұрған кезде көрсеткіні жоғары босатыңыз. және оны қайтадан басып тұрыңыз
26 -қадам: Бұл қалай жұмыс істейді
Веб-бет python сценарийіне 9-байтты хабарлама хабарламаларын келесі форматта жібереді:
- 1 байт бір байт бүтін сан 1
- 2 байт бүтін X камерасының орны
- 2 байт бүтін Y камерасының орны
- 1 байт бүтін сан мотор режимі (3 = артқа, 1 = алға, 2 = тоқтау)
- 1 байт бүтін сандар қозғалтқыш жылдамдығы
- 1 байт бүтін санның оң мотор режимі (3 = артқа, 1 = алға, 2 = тоқтау)
- 1 байт бүтін санның оң қозғалтқыш жылдамдығы
хабарлама жіберу script.js файлында «sendNow ()» функциясында орындалады.
RasbperryPi python.py бұл хабарды «onUserMessage» функциясында алады.
Сіз оны тексеріп, аздап ойнай аласыз, осылайша не болып жатқанын білесіз.
мұнда сынып функцияларының сипаттамасы
27 -қадам: планшет, мобильді руль

Біз жаңа веб -бетті бұрынғыдай қосамыз, бірақ қазір біз «car4wdMobile» үлгісін таңдаймыз.
Әрі қарай, біз скрипт.js -те жұмыс үстелін басқаратын веб -беттегідей конфигурациялаймыз Хабарламаның форматы дәл солай, сондықтан python.py сценарийін өзгертудің қажеті жоқ.
28 -қадам: ұялы телефонда бетті ашыңыз


Ұялы телефоннан тіркелгіңізге кірудің орнына QR кез келген URL мекенжайын сканерлеңіз.
QR туралы мәліметтер мұнда
Егер сіздің мобильді басқаруыңыз RPi мен мобильділік бір Wi -Fi желісінде жұмыс істесе, бірақ жұмыс істемейді, егер сіз мобильді интернетті қолдансаңыз, онда сізге бұрылыс серверін қосу керек, мен мұны осында жаздым.
29 -қадам: Turn Server қосу



Кейде (сіз NAT немесе кейбір брандмауэр параметрлерінің артында болсаңыз) сіз роботыңызды басқа желіден байланыстыра алмайсыз, содан кейін сіздің роботыңыз қосылады. Бұл үлкен мәселе емес, содан кейін сіз бұрылу серверін қосуыңыз керек.
Мен XIRSYS компаниясының серверін сынап көрдім (оны әзірлеушілер қолдана алады), мен XIRSYS жүйесін қолдана отырып, бұрылу серверін қалай баптау керектігін көрсетемін.
тіркеу:
global.xirsys.net/dashboard/signup
содан кейін қосымшаны қосу үшін «плюс» түймесін басыңыз
оң жақта «статикалық бұрылу несие деректері» астында сізде барлық деректер бар. Оны webrtc_streamer.conf файлына көшіру үшін https://app.remoteme.org/kz/#/app/devices сайтына өтіңіз.
RaspberryPi бағдарламасын кеңейтіңіз
webrtc_streamer.conf файлын басыңыз
ашу түймесін басыңыз
және ақпаратты қосыңыз
turn_server = turn_username =
turn_credential =
өңдеуді аяқтағаннан кейін сізде экранда осындай нәрсе болуы керек.
содан кейін RasbperryPi құрылғысындағы мәзірді басу арқылы Сақтау және You Rpi қайта іске қосу түймешігін басыңыз және қайта жүктеуді таңдаңыз
RPi бағдарламасы қайта іске қосылғаннан кейін сіз ұялы телефоннан бейнені алдын ала қарауды көре аласыз, тіпті егер сіз мобильді интернетті пайдалансаңыз да.
30 -қадам: мобильді басқару

1 шеңберде біз сол жақ саусақты, 2 оң жақта - дәл осы нүктеде болмауымыз керек - веб -бет сенсорлық экраннан кейін нөлдік позицияны орнатады, ал саусақтарыңызды жылжыту арқылы (сол жақта жүргізу, камераның оң жақ позициясы) Сіз басқара аласыз. сіздің көлігіңіз
31 -қадам: Қорытынды
Сізге бұл оқу құралы ұнады деп үміттенемін, бұрын мен бұл оқулықта оның сорғыш астында қалай жұмыс істейтіні туралы толығырақ жаздым.
кейбір сілтемелер:
remoteme.org - remoteme.org сайтында сіз құжаттар мен оқулықтарды таба аласыз
FB фан -парағы - Facebook fanpage remoteme.org туралы жаңа ақпарат
Youtube - жобаның кейбір бейнелері, оқулықтар
Қуаныш, Maciek
Ұсынылған:
Су өткізбейтін Raspberry Pi арқылы жұмыс істейтін Wifi DSLR веб -камерасы: 3 қадам (суреттермен)

Су өткізбейтін Raspberry Pi қуатты Wi -Fi DSLR веб -камерасы: Мен күннің батуын үйден бақылап отырамын. Күннің батуы жақсы болған кезде мен оны көруге үйде болмаған кезде мен аздап FOMO аламын. IP веб -камералары кескін сапасының нашарлауына әкелді. Мен бірінші DSLR -ді қайта пайдалану жолдарын іздей бастадым: 2007 Cano
ESP8266 RGB LED STRIP WIFI басқару - NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде - RGB LED STRIP смартфонды басқару: 4 қадам

ESP8266 RGB LED STRIP WIFI басқару | NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде | Смартфонды RGB LED STRIP басқару: Сәлеметсіздер ме, балалар, бұл оқулықта біз nodemcu немесе esp8266 -ды RGB жарықдиодты жолағын басқару үшін инфрақызыл қашықтан басқару құралы ретінде қолдануды үйренеміз, ал Nodemcu смартфон Wi -Fi арқылы басқарылады. Негізінде сіз RGB LED STRIP -ті смартфонмен басқара аласыз
Ақылды шамның қашықтан басқару пульті немесе шлюзі бар IoT RC автокөлігі: 8 қадам (суреттермен)

Ақылды шамдардың қашықтан басқару пульті немесе шлюзі бар IoT RC автокөлігі: байланыссыз жоба үшін мен MiLight ақылды лампалары мен шамдар пультімен сөйлесу үшін бірнеше Arduino кодын жаздым. Мен сынау үшін кішкене RC автокөлігін жасауды шештім
Механикалық ауысу арқылы Arduino арқылы құрылғыларды басқару: 8 қадам (суреттермен)

Механикалық коммутациясы бар Arduino арқылы құрылғыларды басқару: Arduino қарапайым механикалық қосқыштар релесі арқылы құрылғыларды басқару үшін пайдаланылуы мүмкін
WiFi арқылы Blynk арқылы жарықдиодты басқару үшін ESP32 қалай қолдануға болады: 7 қадам (суреттермен)

Wifi арқылы Blynk арқылы жарықдиодты басқару үшін ESP32 қалай қолдануға болады: Бұл оқулықта WiFi арқылы Blynk көмегімен жарықдиодты басқару үшін ESP32 даму тақтасы қолданылады. Blynk - бұл Arduino, Raspberry Pi және интернеттегі ұнатуларды басқаруға арналған iOS және Android қосымшалары бар платформа. Бұл сандық бақылау тақтасы, онда сіз