Мазмұны:

Pi негізделген автотұрақ жүйесі: 9 қадам
Pi негізделген автотұрақ жүйесі: 9 қадам

Бейне: Pi негізделген автотұрақ жүйесі: 9 қадам

Бейне: Pi негізделген автотұрақ жүйесі: 9 қадам
Бейне: L4D2 ҚАЛАЙ ОРНАТУ КЕРЕК 2024, Қараша
Anonim
Pi негізделген автотұрақ жүйесі
Pi негізделген автотұрақ жүйесі

Сәлем! Міне, сіз бір түстен кейін жасай алатын, содан кейін оны күнделікті қолдана алатын керемет шағын жоба. Ол Raspberry Pi Zero W -ге негізделген және сізге көлікті әр уақытта мінсіз қоюға көмектеседі.

Міне, сізге қажет бөлшектердің толық тізімі:

  • Raspberry Pi Zero W (біз бұл мақалада оны 'rpi' немесе 'pi' деп атаймыз)
  • Pi OS үшін 4 ГБ немесе одан үлкен micro SD картасы
  • Ұшу қашықтығы датчигінің екі шағын tiLiDAR модулі
  • 32x32 RGB светодиодты панель (бұл үшін нүктелік қадамдары бар көптеген өндірушілер бар, мысалы, сіз Adafruit 1484 немесе соған ұқсас нәрсені пайдалана аласыз, Google -ден '32x32 жарықдиодты матрицаны' іздеңіз). Біздің панельде 6 мм қадам болды.
  • 25 фут CAT5 кабелі
  • шамамен 22 түрлі түсті еркек пен еркектің басына қосқыш сымдары
  • 5V 2Amp microUSB қуат көзі (ұялы телефонды зарядтағыш) Бәрі дайын ба? Барайық!

TL; DR қорытындысы

  • Rpi үшін Raspbian Lite ОЖ жүктеп алыңыз
  • Тұрақты IP көмегімен WiFi -де бассыз жұмыс істеу үшін pi теңшеңіз
  • PuTTY, WinSCP және қосымша SublimeText/ FTP қондырмасының көмегімен компьютерді дамыту ортасын орнатыңыз.
  • Жарықдиодты панель драйверін жүктеңіз, жасаңыз және байлаңыз
  • Pigpio жүктеп алыңыз және орнатыңыз
  • Біздің Python кодын жүктеп алыңыз
  • 32x32 жарықдиодты дисплей тақтасын қосыңыз
  • Бүйірлік tinyLiDAR сенсоры үшін CAT5 ұзартқыш кабелін жасаңыз
  • Қосымша қадам (бірақ тек озық пайдаланушылар үшін): бәрі жұмыс істеп тұрған кезде жылдам бақытты би жасаңыз;)

1 -қадам: Pi Zero W дегеніміз не?

Pi Zero W дегеніміз не?
Pi Zero W дегеніміз не?

Сіз, әрине, Raspberry Pi туралы естігенсіз, бірақ бұл «Zero W» деген не?

Raspberry Pi Zero және Zero W - бұл IoT және басқа да арзан кірістірілген қосымшаларға арналған Pi отбасына жақында енгізілген толықтырулар. Олар түпнұсқа pi тақтасының нұсқаларын алып тастады, бірақ әлі де қуатты 1 ГГц процессорымен. Міне, барлық модельдерді жақсы салыстыру.

Бізге Pi Zero W -ді басқа контроллер тақталарынан таңдаудағы артықшылығы - оны жылдам C/C ++ жарықдиодты панель драйверлерін қолдана отырып, жоғары деңгейдегі Python тілінде оңай бағдарламалай аламыз. Оның тартымды бағасы небәрі 10 доллар.

Есіңізде болсын, бұл тақта толық пидің жойылған нұсқасы болғандықтан, кейбір нәрселер өзгерді. Атап айтқанда, Ethernet ұясы алынып тасталды, HDMI қосқышы шағын өлшемге өзгерді және төрт USB порты бір микро USB түріне дейін жеңілдетілді. Бортта басқа микро USB қосқышы бар, бірақ ол тек тақтаны қуаттауға арналған. Толық өлшемді USB қосқыштарының барлығын жою кейбір қиындықтарды тудырады. Атап айтқанда, пернетақта мен тінтуірді қалай қосуға болады? Стандартты USB перифериялық құрылғылары мен хабтары микро түрдегі емес, А типті қосқыштарды пайдаланады.

Сонымен, біз не істей аламыз?

Біз бассыз жүре аламыз!

Жоқ, біз ақылға қонуды емес, қалыпты сымды орнатудың баламасын қолданғымыз келеді. Бассыз - бұл қауіпсіз қабықпен (SSH) желілік қосылымды қолдану арқылы пи -ге қашықтан «туннель» қосуды білдіреді. Бұл жоба үшін біз Wi -Fi арқылы бассыз әдісті қолданамыз. Бізге pi нөлінің W нұсқасын таңдаудың себебі неғұрлым төмен pi нөлінің орнына.

VNC деп аталатын нәрсені қолданып, бассыз режимде пиді іске қосудың тағы бір әдісі бар екенін ескеріңіз. Ол сіздің компьютеріңізде жұмыс істейтін арнайы VNC бағдарламалық жасақтамасын қажет етеді, бірақ ол сіздің компьютеріңізде толық виртуалды графикалық жұмыс үстелін қамтамасыз етеді. Бізге жобаның жұмыс үстелі қажет емес (және шынымен де қаламаймын), сондықтан біз SSH қарапайым әдісін ұстанамыз.

2 -қадам: Скотти, бізге көбірек күш қажет

Скотти, бізге қосымша күш қажет!
Скотти, бізге қосымша күш қажет!

32х32 жарықдиодты матрицалық панель өздігінен бірнеше ампер ток қабылдай алады. Әзіл жоқ! Сондықтан бұл панельдердің көпшілігінде оны қуаттандыруға арналған кейбір күшті кабельдер бар. Бақытымызға орай, біз үшін бұл жобаға үлкен қуат көзі қажет емес. Біз бүкіл жүйені 5В/2 амп қосалқы microUSB ұялы телефон зарядтағышынан ғана қуаттай алдық. Төмен токтың себебі - біз қарапайым графиканы қолданамыз, сондықтан жарық диодтардың көпшілігін қоспаймыз. Егер сіз анимация жасауды немесе бейне/жарқын графиканы қолдануды ойласаңыз, онда панельді бөлек қуат көзінен қосу керектігін ескеру қажет.

3 -қадам: сенсорды орналастыру және бағдарламалық қамтамасыз ету

Сенсорды орналастыру және бағдарламалық қамтамасыз ету
Сенсорды орналастыру және бағдарламалық қамтамасыз ету
Сенсорды орналастыру және бағдарламалық қамтамасыз ету
Сенсорды орналастыру және бағдарламалық қамтамасыз ету

Сіз бұл жүйеде бір емес, екі tinyLiDAR қолданатынымызды байқадыңыз ба? Гаражды орнату схемасында көрсетілгендей, біреуі көліктің алдына, екіншісі көліктің бір жағына орналастырылады.

Бүйірлік сенсор автокөлікті қою кезінде орталықтан ауытқып кететіндігіңізді анықтайды және, әрине, алдыңғы жағында қашан тоқтау керектігін айтады.

32x32 жарықдиодты дисплей сізге алға, солға немесе оңға жылжу үшін көрсеткілерді және әлі де қанша жүру керектігін көрсету үшін түсті бұрыштары бар кері санауды көрсетеді. Барлық дисплей күйлері туралы біздің қысқа бейнеролигімізді қараңыз.

Ойын жоспары

Қысқаша айтқанда, біз жарықдиодты драйверге арналған әйгілі hzeller C кітапханасын, басқару коды үшін Python мен сенсорларды I2C дұрыс басқару үшін pipgpio C кітапханасын қолданамыз.

Python - кез келген мәтіндік редакторда оңай өңдеуге болатын өте қарапайым тіл. Біз әдетте SublimeText қолданамыз және бұл жоба үшін біз сценарий файлдарын тікелей pi -де өңдеуге мүмкіндік беретін өте пайдалы FTP плагинін қолдандық. Бұл қосымша қадам, себебі бұл кодты өңдегіңіз келсе ғана қажет. Қосымша мәліметтер осы мақаланың соңында қол жетімді.

Барлық rpi тақталары, сіз білетіндей, I2C сағатын созуға қолдау көрсетпейді. Сонымен, біз осы жобада pigpio кітапханасын қайтадан tiLiDAR сенсорларын басқару үшін қолдандық, бірақ бұл жолы сәл бұрылыспен …

Көптеген tinyLiDARs

TinyLiDAR сатып алғанда, ол әрқашан әдепкі қосалқы мекенжайға 0x10 орнатылады. Бұл бір сенсорды қолданған кезде жақсы, бірақ егер сізде автобуста бірнеше болса, 0x10 -ге пәрмен жазсаңыз және олардың барлығы жауап берсе, бұл мәселе болуы мүмкін!

Сонымен, бізде 3 нұсқа бар:

Біріншіден, біз (tinyLiDAR) «R» пәрменін I2C шинасына қосылған бір сенсорға жаңа қосалқы адресті жазу үшін қолдана аламыз. Содан кейін әр сенсор үшін қайталаңыз. Бұл процедура үшін әр сенсорды физикалық бекіту, жазу және ажырату. tinyLiDAR берілген адресті өзінің тұрақты жадында сақтайды. Мекенжай қуаттың ауысуынан кейін де, сіз оны RESET пәрменін шығарып тастағанша сақталады.

Екінші нұсқа - IGG науқанында созылу мақсаты ретінде жасаған ыңғайлы Автоматты тағайындау мүмкіндігін пайдалану. Бұл «AR» пәрменін жіберуді, содан кейін бірінші сенсорға жеке сенсорларға I2C тізбегін автоматты түрде тағайындау үшін әр сенсорға саусағыңызды көрсетуді қамтиды, бірақ бұл үшін әр сенсорды физикалық түрде ажыратудың қажеті жоқ.

Үшінші нұсқа - біз осы жобада қолданатын опция және бұл pigpio кітапханасының арқасында мүмкін. I2C стандартын дұрыс енгізу үшін pigpio GPIO битбангтарын шығарады. Осылайша, біз кез келген қосалқы GPIO түйреуіштерінде бөлек I2C шиналарын оңай жасай аламыз.

Сондықтан бірнеше LiDAR сенсорлары үшін қосымша адрестерді қайта бағдарламалаудың қажеті жоқ. Біз әрқайсысы үшін бөлек автобусты қолдана аламыз:)

100 Кбит / с жылдамдықпен жұмыс істейтін I2C шинасы өте берік екенін ескеріңіз. Біз ескі CAT5 Ethernet кабелін қолданып, I2C шинасын 25 футтық қашықтықта, белсенді қайталағыш компоненттерсіз, бүйірлік tinyLiDAR сенсорына шығару үшін қолданамыз! Датчиктің қосылу бөлшектері жоғарыда көрсетілген.

Жарайды, джиббер джабер жеткілікті, кодты жүктеуді бастайық!

4 -қадам: Pi орнату

Pi орнату
Pi орнату
Pi орнату
Pi орнату

Абайлаңыз: pi Linux файлдық жүйесін пайдаланады, сондықтан Linux негізіндегі жүйеде келесі әрекеттерді орындаған дұрыс. Егер сіз Windows жүйесінде мұны жасасаңыз, SD картасын қайта пішімдеуді тоқтатуыңыз мүмкін. Біз Windows 10 компьютерінде виртуалды ортада жұмыс істейтін керемет және тегін Ubuntu 18.04 жұмыс үстелін қолдандық, бірақ сіз ұқсас нәрсені қолдана аласыз.

Сізге алдымен raspberrypi.org сайтынан ОЖ жүктеп алу керек, содан кейін оны microSD картасына жазу керек. Сондықтан мына қадамдарды орындаңыз:

(1) Ubuntu -да осында өтіп, Raspbian Lite бейнесін алыңыз. Оны жүктеу қалтасына сақтаңыз.

(2) Содан кейін Etcher SD картасын жазу утилитасын жүктеңіз. FYI - Linux -тің басты бетіндегі Etcher жүктеудің ресми сілтемесі біз үшін жұмыс істемеді, сондықтан біз осында сипатталған әдісті қолдандық:

Қысқаша айтқанда, сілтемеде сипатталған қадамдар:

Etcher debian репозиторийін қосыңыз:

echo «deb https://dl.bintray.com/resin-io/debian тұрақты етчер» | sudo tee /etc/apt/sources.list.d/etcher.list

Bintray.com GPG кілтіне сеніңіз:

sudo apt-key adv --keyserver keyserver.ubuntu.com-recv-keys 379CE192D401AB61

Жаңарту және орнату:

sudo apt-get жаңартуы

sudo apt-get etcher-electron орнатыңыз

Аяқтағаннан кейін сіз Ubuntu жұмыс үстелінен Etcher бағдарламасын іске қоса аласыз. Ол сізден бастапқы файлды (жүктеу қалтасына салатын) сұрайды. Etcher -дегі келесі қадам - дұрыс мақсатты таңдау. Etcher сіздің микро SD картаны табуда жақсы жұмыс жасайды, бірақ сіз бұл жерде параноид болуыңыз керек. Дұрыс баратын жерді тауып жатқанын тексеру үшін - Ubuntu файл зерттеушісінің терезесінен шығару батырмасын басу арқылы microSD картасын шығарып көріңіз және оның Etcher ішіндегі мақсатты опция ретінде кететінін тексеріңіз. Содан кейін оны қайтадан енгізіп, файлды осы microSD картасына жазудың соңғы кезеңіне өтіңіз.

Аяқталғанша біраз күтіңіз, содан кейін жалғастырыңыз.

5 -қадам: WiFi уақыты

WiFi уақыты
WiFi уақыты
WiFi уақыты
WiFi уақыты

Жақсы, енді WiFi туралы мәліметтерді енгізу уақыты келді.

Кеңес: пәрмендерді терудің орнына сіз әрқашан осы мақаладағы ақпаратты (Ctrl+C) көшіріп, (тінтуірдің оң жақ батырмасымен басу, қою) PuTTY терминал экранына қоюға болады. Linux -тің бірнеше пайдалы командалары үшін осы мақаланың соңын тексеріңіз.

Etcher микро SD картасына жазуды аяқтағаннан кейін, жоғарыда көрсетілгендей 2 диск пайда болады. Біреуі жүктеу, екіншісі rootfs деп аталады

Біз жүктеу қалтасына кіріп, wpa_supplicant.conf деп аталатын файл жасау үшін файл менеджерін қолдануымыз керек.

Бұл әрекетті орындау үшін жүктеу деген сол жақ батырманы басуға болады, содан кейін экранның оң жағында ақ фонды тінтуірдің оң жақ түймесімен басып, Терминалда ашу пәрменін таңдауға болады.

Бұл терминалды терезені ашады (Windows жүйесінде CMD -ге ұқсас), онда сіз мыналарды тере аласыз:

sudo nano wpa_supplicant.conf Кеңес: Linux жүйесінің құпия сөзін енгізу қажет, ол супер пайдаланушы ретінде жұмыс істей алады. Бұл қажет, әйтпесе өңдеуді аяқтағаннан кейін файлдарды сақтай алмайсыз

Содан кейін жоғарыдағы пәрмен «нано» мәтіндік редакторын іске қосады, онда сіз келесі ақпаратты енгізе аласыз:

ел = АҚШ

ctrl_interface = DIR = /var /run /wpa_supplicant GROUP = netdev update_config = 1 желі = {ssid = «WiFi_SSID» scan_ssid = 1 psk = «WiFi_Password» key_mgmt = WPA - PSK}

Ескертпе: WiFi_SSID пен WiFi_Password -ты WiFi желісінің жеке атауымен және паролімен алмастыруды ұмытпаңыз.

Аяқтағаннан кейін шығу үшін Ctrl+X пернелер тіркесімін басып, шығу кезінде файлды жазуға Иә деп жауап беріңіз.

Біздің келесі қадам - ssh деп аталатын бос файлды құру. Ол үшін терминал терезесінде келесіні тереміз:

ssh түрту

Енді біз pi -ге тұрақты IP -адресті беруіміз керек, осылайша біз оған қосылғымыз келген сайын оның қайда екенін білеміз. Терминал терезесінде келесіні теріңіз:

sudo nano /etc/dhcpcd.conf

Бұл нано мәтіндік редакторды қайта ашуы керек және біз бұл мәтінді файлдың төменгі жағына қоса аламыз:

wlan0 интерфейсі

статикалық ip_adress = 192.168.0.статикалық маршрутизаторлар = 192.168.0.1 статикалық domain_name_servers = 192.168.0.1 8.8.8.8

Ескерту: Бұл сіздің желі префиксі 192.168.0. Егер сізде 192.168.1 және т.б. болса, оның орнына желіңізді пайдаланыңыз. 8.8.8.8 домендік атау сервері Google -ге арналған және мұнда міндетті емес.

Терминалды жабу үшін 'exit' теріңіз. Содан кейін Файлдар менеджері терезесінің сол жағындағы жүктеу атауын тінтуірдің оң жақ түймешігімен нұқыңыз және Шығаруды таңдаңыз.

Енді сіз осы microSD картасын pi -ге қосып, пи -рді қуаттандыру үшін microUSB қуат кабелін жалғауға болады.

Егер бәрі ойдағыдай болса, жасыл жарық диоды қатты дискіге кіргендей жыпылықтайды және ол сізді WiFi желісіне қосады. Орналасуға бір минут уақыт беріңіз және жарықдиодты жасыл түске айналуын күтіңіз.

Мұның бәрі жұмыс істегенін тексеру үшін біз оны пингке жіберуге тырысамыз.

Сондықтан төмендегі жолды теріп, жауапты тексеріңіз.

ping 192.168.0.200

Ubuntu -да сіз ұқсас нәрсені алуыңыз керек:

ping 192.168.0.200

PING 192.168.0.200 (192.168.0.200) 56 (84) байт деректер. 192.168.0.200 -ден 64 байт: icmp_seq = 1 ttl = 128 уақыт = 752 мс 192.168.0.200 -ден 64 байт: icmp_seq = 2 ttl = 128 уақыт = 5.77 мс 192.168.0.200 -ден 64 байт: icmp_seq = 3 ttl = 128 уақыт = 7.33 ms ^C --- 192.168.0.200 ping статистикасы --- 3 пакет жіберілді, 3 қабылданды, пакеттің жоғалуы 0%, уақыт 2001ms rtt min/avg/max/mdev = 5.777/255.346/752.922/351.839 мс

Шығу үшін Ctrl+C пернелер тіркесімін басқанша пинг жұмысын жалғастыратынын ескеріңіз.

Windows жүйесінде сіз келесідей нәрсені алуыңыз керек:

ping 192.168.0.200

192.168.0.200 -ге 32 байт деректермен жауап беру: 192.168.0.200 жауап: байт = 32 уақыт = 4ms TTL = 64 192.168.0.200 жауап: байт = 32 уақыт = 5ms TTL = 64 192.168.0.200 жауап: байт = 32 рет = 6ms TTL = 64 192.168.0.200 жауап: байт = 32 уақыт = 5ms TTL = 64 Ping статистикасы 192.168.0.200: Пакеттер: Жіберілген = 4, Алынған = 4, Жоғалған = 0 (0% жоғалту), Шамамен бару уақыты милли-секундта: Минимум = 4 мс, Максимум = 6 мс, Орташа = 5 мс

Бәрі жақсы? Әрі қарай…

6 -қадам: жүйеге кіру

Кіру
Кіру

Енді бізде pi байланысы бар, біз оған пәрмендер жібергіміз келеді. Бірақ қалай? PuTTY, әрине! PuTTY -ді мына жерден жүктеуге болады PuTTY -ді орнату PuTTY бағдарламалық жасақтамасын жүктегеннен кейін келесі ақпаратпен pi үшін профиль жасаңыз:

Хост атауы (немесе IP -адрес): 192.168.0.200 Қосылу түрі: SSHБұл профильге Сақталған сессиялар астындағы атау беріңіз және Сақтау түймесін басыңыз. Сізге ұнайтын кез келген атауды қолдануға болады, мысалы «rpizw_200»

Кіру үшін оны тізімнен таңдап, Жүктеу түймесін басыңыз. Содан кейін Ашу түймесін басыңыз. Кіру үшін пайдаланушы аты мен парольді енгізіңіз:

кіру аты: pi

Құпия сөз: таңқурай

Міне, сіз кірген кезде PuTTY -де көрсетілетін сеанстың үлгісі:

кіру: pi

[email protected] паролі: Linux raspberrypi 4.14.34+ #1110 Дс 16 сәуір 14:51:42 BST 2018 armv6l Debian GNU/Linux жүйесімен қамтылған бағдарламалар - ақысыз бағдарламалық қамтамасыз ету; әрбір бағдарламаның нақты тарату шарттары/usr/share/doc/*/copyright жеке файлдарында сипатталған. Debian GNU/Linux қолданыстағы заңмен рұқсат етілген дәрежеде КЕПІЛДІКСІЗ келеді. Соңғы кіру: [күн мен уақыт] 192.168.0 бастап. [Ip address] SSH қосылған және 'pi' пайдаланушысының әдепкі құпия сөзі өзгертілмеген. Бұл қауіпсіздікке қауіп төндіреді - «pi» пайдаланушысы ретінде кіріңіз және жаңа құпия сөзді орнату үшін «passwd» теріңіз.

Алғашқы кіру кезінде сіз парольді әлі өзгертпегеніңізді ескертесіз. Сіз оны күшті, бірақ қарапайым нәрсеге өзгертуіңіз керек, сондықтан жалғастырыңыз және passwd теру арқылы өзгертіңіз және нұсқауларды орындаңыз.

Біз келесіге енгізу арқылы pi бағдарламалық жасақтамасын жаңартуымыз керек:

sudo apt-get update && sudo apt-get upgrade

Бұл Интернет байланысынан қажетті жаңартуларды жүктейді. ИӘ деп жауап беріңіз, егер оны жалғастыруға рұқсат сұралса, жаңартуға біраз уақыт беріңіз.

Бұл кезде біз пи дыбысын өшіруіміз керек, себебі оның жарықдиодты драйвер кітапханасы бар джюжу нашар. Көшіріңіз, келесі жолдарды бірінен соң бірін қойыңыз және әр жолдан кейін enter пернесін басыңыз:

cd ~

мысық << EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf қара тізім snd_bcm2835 EOF sudo update-initramfs -u

Шығару келесідей болады:

pi@raspberrypi: ~ $ cd ~

pi@raspberrypi: ~ $ cat <> қара тізім snd_bcm2835>> EOF қара тізімі snd_bcm2835 pi@raspberrypi: ~ $ sudo update -initramfs -u pi@raspberrypi: ~ $

Содан кейін өзгерістер күшіне енуі үшін біз пиді қайта жүктеуіміз керек, сондықтан келесіні теріңіз:

sudo қазір қайта жүктеңіз

Пи қайта жүктелетіндіктен, байланыс үзіледі, сондықтан сіз PuTTY -ді жаба аласыз. Бір минуттан кейін қайта кіріп көріңіз.

Енді WinSCP деп аталатын графикалық FTP файл менеджерін алу уақыты келді. Сіз WinSCP -ті осы жерден жүктей аласыз

WinSCP - бұл Windows және Ubuntu -дағы файлды басқарушыға өте ұқсас. Бұл бізге файлдарды pi -ге оңай апарып тастауға және тінтуірдің оң жақ батырмасымен каталогтар құруға мүмкіндік береді.

Жүктелгеннен кейін сізге pi үшін профиль орнату қажет болады.

WinSCP орнату Кіру қалқымалы терезесінде Жаңа сайтты таңдаңыз. Сеанс үшін келесі параметрлерді қолданыңыз:

Файл протоколы: SFTP Хост атауы: 192.168.0.200 Пайдаланушының аты: pi Құпия сөз: {PuTTY қадамындағы әдепкі мәнге қандай пароль енгізсеңіз де}

Қосымша сайт параметрлерінде Қоршаған орта | өтіңіз Анықтамалықтар мен Remote каталогы үшін /home /pi және Local Directory параметрі үшін ұнайтын нәрсені енгізіңіз.

Қосымша сайт параметрлерінде Қоршаған орта | өтіңіз Shell және sudo su таңдаңыз - Shell ашылмалы тізімінде.

Содан кейін Сақтау түймесін басыңыз.

Келесі қадамдарды орындау кезінде WinSCP және PuTTY екеуін де ашық ұстаңыз

PuTTY терминалына өтіп, келесіні енгізіңіз:

cd ~

Бұл бізді үй ішіндегі каталогқа әкеледі.

Енді біз LED драйверлерінің кітапханасын github -дан ала аламыз. Ең соңғы кодты пайдалану үшін бізге репо қажет, сондықтан git утилитасын орнату керек.

Мұны PuTTY -ге енгізіңіз:

sudo apt-get install git

жалғастыру үшін Y жауап беріңіз және интернеттен бізге git орнатуға бірнеше секунд кетеді.

Шығару келесідей болуы керек:

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

Пакеттер тізімін оқу… Орындалды Тәуелділік ағашын құру күй ақпаратын оқу… Орындалды Келесі қосымша бумалар орнатылады: git-man liberror-perl Ұсынылатын пакеттер: git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn Келесі ЖАҢА пакеттер орнатылады: git git-man liberror-perl 0 жаңартылған, 3 жаңадан орнатылды, 0 жою үшін және 0 жаңартылмаған. 4, 848 кБ мұрағаттарды алу қажет. Бұл әрекеттен кейін 26,4 МБ қосымша дискілік кеңістік пайдаланылады. Жалғастырғыңыз келе ме? [Y/n] y алу: 1 https://muug.ca/mirror/raspbian/raspbian strech/main armhf liberror-perl all 0.17024-1 [26.9 kB] алу: 2 https://muug.ca/mirror/ raspbian/raspbian streç/main armhf git-man барлығы 1: 2.11.0-3+deb9u3 [1, 433 kB] алу: 3 https://muug.ca/mirror/raspbian/raspbian streç/main armhf git armhf 1: 2.11.0-3+deb9u3 [3, 388 kB] 5 секундта (878 кБ/с) 4, 848 кБ жеткізілді. Бұрын таңдалмаған liberror-perl пакетін таңдау.(Дерекқор оқылуда… 34363 файлдар мен каталогтар қазір орнатылған.) Бумадан шығаруға дайындалуда…/liberror-perl_0.17024-1_all.deb… liberror-perl (0.17024-1) орамынан шығарылуда… Бұрын таңдалмаған git-man бумасы таңдалуда. Ашуға дайындалуда…/git-man_1%3a2.11.0-3+deb9u3_all.deb… git-man орамынан шығарылуда (1: 2.11.0-3+deb9u3)… Бұрын таңдалмаған пакетті таңдау. Ашуға дайындалуда…/git_1%3a2.11.0-3+deb9u3_armhf.deb… git пакетін ашу (1: 2.11.0-3+deb9u3)… git-man параметрі (1: 2.11.0-3+deb9u3)… реттеу liberror-perl (0.17024-1)… man-db (2.7.6.1-2) триггерлерін өңдеу… git орнату (1: 2.11.0-3+deb9u3)…

Енді WinSCP -ге оралыңыз және /home /pi қалтасына өтіңіз. Содан кейін WinScp терезесінің оң жағында тінтуірдің оң жақ түймешігімен нұқыңыз және «тұрақ» деп аталатын жаңа каталог құруды таңдаңыз.

PuTTY экранына қайтып оралғаныңызды растау үшін ls теруге болады. Содан кейін мынаны енгізіңіз:

cd p [TAB]Кеңес: TAB пернесін басу сізге ішінара атауды автоматты түрде толтырады

Бұл каталогқа кіру үшін enter пернесін басыңыз.

pi@raspberrypi: ~ $ cd тұрақ/

pi@raspberrypi: ~/тұрақ $ ls

Енді PuTTY -ге келесілерді енгізу арқылы біз драйвер файлдарын ала аламыз:

git клоны

Шығару келесідей болады:

pi@raspberrypi: ~/тұрақ $ git клон

'Rpi-rgb-led-matrix' клондау… қашықтан басқару: объектілерді санау: 3740, дайын. қашықтан басқару: Барлығы 3740 (дельта 0), қайта қолданылған 0 (дельта 0), қайта оралған 3740 Қабылдау объектілері: 100% (3740/3740), 20.61 МиБ | 1,32 Мб/с, орындалды. Дельталарды шешу: 100% (2550/2550), орындалды.

Енді жарықдиодты драйвер файлдарын осы жаңа 'rpi-rgb-led-matrix' каталогына кіріп, make командасын теру арқылы құрастырыңыз:

cd r [TAB]

жасау Біздің тақтада осылай көрінді

pi@raspberrypi: ~/тұрақ $ cd rpi-rgb-led-matrix/

pi@raspberrypi: ~/parking/rpi-rgb-led-matrix $ make -C./lib make [1]: '/home/pi/parking/rpi-rgb-led-matrix/lib' g ++ каталогына кіру- I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o gpio.o gpio.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o led -matrix.o led-matrix.cc g ++ -I../ include - Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o options -initialize.o options-initialize.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o framebuffer.o framebuffer.cc g ++ -I../ include -Wall -O3 -g - fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o thread.o thread.cc g ++ -I../ include -W3 -g -fPIC -DDEFAULT_HARDWARE =' «тұрақты» '-Wextra -Wno -unused -parameter -fno -exceptions -c -o bdf -font.o bdf -fon t.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o графика.o графика.cc g ++ - I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o трансформатор.o transformator.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o led -matrix -co led-matrix-c.cc cc -I../ -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -c -o аппараттық -mapping.o аппараттық -mapping.c g ++ -I../ қамтиды -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unno -used -parameter -fno -exceptions -c -o content -streamer.o content-streamer.cc g ++ -I../ include -Wall -O3 - g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -exceptions -c -o pixel -mapper.o pixel-mapper.cc g ++ -I../ include -Wall -O3 -g -fPIC -DDEFAULT_HARDWARE = '«тұрақты» -Wextra -Wno -unused -parameter -fno -excep tc -o -o мультиплекс-mappers.o multiplex-mappers.cc ar rcs librgbmatrix.a gpio.o led-matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o графика.o transformator.o led-matrix-co hardware-mapping.o content-streamer.o pixel-mapper.o multiplex-mappers.o g ++ -shared -Wl, -soname, librgbmatrix.so.1 -o librgbmatrix.so.1 gpio.o led -matrix.o options-initialize.o framebuffer.o thread.o bdf-font.o графика.o трансформатор.o led-matrix-co-аппараттық-mapping.o мазмұн-ағынды.o пиксель-mapper.o мультиплексті-салыстырушылар. o -lpthread -lrt -lm -lpthread жасау [1]: '/home/pi/parking/rpi -rgb -led -matrix/lib' каталогынан шығу -C мысалдары -api -пайдалану make [1]: каталогқа кіру ' /home/pi/parking/rpi -rgb -led -matrix/sample -api -use 'g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused parameter -c -o demo -main. o demo-main.cc make -C../lib make [2]: '/home/pi/parking/rpi-rgb-led-matrix/lib' каталогына кіру [2]: '/home/pi каталогынан шығу /parking/rpi-rgb-led-matrix/lib 'g ++ demo-main.o -o демо -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused un -parameter -c -o minimal -example.o minimal-example.cc g ++ minimal -example.o - o минималды мысал -L../ lib -lrgbmatrix -lrt -lm -lpthread cc -I../ қамтиды -Wall -O3 -g -Wextra -Wno -user -parameter -c -o c -example.o c- example.c cc c -example.o -o c -example -L../ lib -lrgbmatrix -lrt -lm -lpthread -lstdc ++ g ++ -I../ include -Wall -O3 -g -Wextra -Wno -unused - -c -o text -example.o text-example.cc g ++ text -example.o -o text -example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ include -Wall - O3 -g -Wextra -Wno-unused parameter -c -o-scrolling-text-example.o scrolling-text-example.cc g ++ scrolling-text-example.o -o scrolling-text-example -L../ lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ қамтиды -Wall -O3 -g -Wextra -Wno -unused un -parameter -c -o clock.o clock.cc g ++ clock.o -o clock -L.. /lib -lrgbmatrix -lrt -lm -lpthread g ++ -I../ қамтиды -Wall -O3 -g -Wextra -Wno -unused -parameter -c -o ledcat.o ledcat.cc g ++ le dcat.o -o ledcat -L../ lib -lrgbmatrix -lrt -lm -lpthread make [1]: '/home/pi/parking/rpi -rgb -led -matrix/misol -api -use' pi каталогынан шығу @raspberrypi: ~/parking/rpi-rgb-led-matrix $

Біздің келесі қадам - RGB матрицалық кітапханасын Python -мен байланыстыру. Біз бұл жоба үшін әдепкі Python 2 қолдандық. Осылайша, бұл байланыстыруды орындау үшін біз келесі жолдарды бұрынғыдай енгіземіз:

sudo apt-get update && sudo apt-get install python2.7-dev python-жастық -y

build-python sudo make install-python жасаңыз

Ескертпе: екеуі мәлімдеме жасаған кезде пайда болатын '-Wstrict-прототипі' туралы бір ескертуді елемеуге болады. Жасау командалары бірнеше минут ішінде орындалады және олар бос емес кезде ештеңе айтпайды. Сондықтан қорықпаңыз - сіздің пи жақында оралуы керек;)

Міне бірінші жасау мәлімдемесінде ішінара шығу:

«графика» кеңейтімін құру

arm -linux -gnueabihf -gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -прототиптері -fno -қатаң -бүркеншік -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -префикс -картасы =/build/python2.7-kRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -fPIC -I../../ include -I/usr/include/python2.7 -c rgbmatrix/graphics.cpp -o build/temp.linux- armv6l-2.7/rgbmatrix/graphics.o -O3 -Wall cc1plus: ескерту: '-Wstrict-prototypes' пәрмен жолы опциясы C/ObjC үшін жарамды, бірақ C ++ үшін емес arm-linux-gnueabihf-g ++ -pthread -shared -Wl, -O1 -Wl, -Bsymbolic -функциялары -Wl, -z, relro -fno -қатаң -бүркеншік -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict -прототиптері -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -префиксі -map =/build/python2.7-kKRR4y/python2.7-2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security -Wl, -z, relro -Wdate -time -D_FORTIFY_SOURCE = 2 -g -fdebug -prefix -map =/build/python2.7 -kKRR4y/python2.7 -2.7.13 =. -fstack -protector -strong -Wformat -Werror = format -security build/temp.linux -armv6l -2.7/rgbmatrix/graphics.o -L../../ lib -lrgbmatrix -o./rgbmatrix/graphics.so жасаңыз [1]: '/home/pi/parking/rpi-rgb-led-matrix/bindings/python' каталогынан шығу@raspberrypi: ~/parking/rpi-rgb-led-matrix $

Содан кейін біз pigpio C кітапханасын орнатамыз. Мұны дұрыс жасау үшін біз оны көзден жасауымыз керек, сондықтан келесі жолдарды енгізіңіз:

cd ~

sudo rm -rf PIGPIO wget abyz.me.uk/rpi/pigpio/pigpio.zip pigpio.zip cd PIGPIO файлын sudo жасауға орнатады rm pigpio.zip

Жоғарыда көрсетілген орнату шамамен 3 минутты алады.

Енді біздің Python жоба файлдарын алу уақыты келді. Мынаны енгізіңіз:

cd ~

cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/wget https://s3.amazonaws.com/microedco/tinyLiDAR/Raspberry+Pi/tinyL_parking.zip unzip -j tinyL_parking.zip rm tinyL_parking.zip

Содан кейін оны орындау үшін келесіні теріңіз:

sudo python тұрақ.py

Бірақ дәл қазір мұны істеудің қажеті жоқ, өйткені біз бәрін әлі де байланыстыруымыз керек …

7 -қадам: сымдар

Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар

Жоғарыда айтылғандай, біз жарықдиодты панельді пиді қуаттандыратын қуат адаптерінен қуаттандырдық. Мұны істеу үшін сізге қызыл және қара сымдарды ерлердің бастық түйреуіштеріне қосуға тура келеді, осылайша олар 40 істікшелі коннектордың 2 және 9 түйреуіштеріне қосылады.

Қуатты қазір Pi -ге ажыратыңыз және жоғарыдағы диаграммаға сәйкес жарықдиодты панельді қосыңыз. 2 -түйреуішті әзірше ажыратыңыз.

ЕСКЕРТПЕ: LED матрицалық панелі кейде көңілді күйде қосылуы мүмкін. Егер бұл орын алса, ол қандай қуатқа ие болмасын, сіздің қуат көзіңізді айтарлықтай төмендетуі мүмкін. Біз мұны 4 амперден артық қамтамасыз ете алатын қондырғыларды әзірлеу кезінде байқадық. Мұның шешімі - алдымен pi кодын іске қосу, содан кейін жарықдиодты панельді қуаттандыру үшін 2 -істікшені қосу. Осылайша, панель аз қуатты күйде болуы керек, себебі ол кездейсоқ жарық диодты күйлерді жояды. Біздің жарықдиодты панель үшін тыныш ток (барлық светодиодтар өшірулі) 5в кезінде тек 50мА болды.

CAT5

Біз 25 футтық CAT5 Ethernet кабелін қолдандық және оны бір жағындағы түйіспелі түйреуіштерге қосу үшін, екінші жағынан GROVE қосқыш түйреуіштерін қабылдау үшін өзгерттік, осылайша біз бүйірлік tinyLiDAR сенсорын орналастыру үшін қашықтықты кеңейте аламыз. Жоғарыдағы фотосуреттер бұл кабельді өзгертуден бұрын және кейін көрсетеді. Тірек сымдарының түстерін елемеңіз, себебі олар диаграммаларға қатысы жоқ. Жүйені 3 -қадамда бұрын көрсетілген суретті қосылым диаграммаларында көрсетілгендей қосқаныңызға көз жеткізіңіз.

8 -қадам: оны жарықтандырыңыз

Image
Image
Қосымша қадам және пайдалы пәрмендер
Қосымша қадам және пайдалы пәрмендер

Қажетті бастапқы қосылу реті microUSB зарядтағышын pi -ге қосып, tinyLiDAR сенсорларындағы көк светодиодтардың жыпылықтағанын және олардың өлшенетінін күту керек. Бұл кодтың дұрыс жұмыс істейтінін көрсетеді.

Содан кейін жарықдиодты панельді жеткізу үшін 2 -істікті баяу, бірақ мықтап қосуға болады. Мұны істеу кезінде ақаулыққа жол бермеу үшін абай болыңыз! Егер жарықдиодты панельде бірнеше мұздатылған жарық диодты көрсетілсе, онда ол жыпылықтаған болуы мүмкін, сондықтан microUSB қуатын pi -ден ажыратып, қайта қосу тізбегін қайталау үшін бірнеше секунд күтіңіз.

Кодты іске қосу үшін келесіні енгізіңіз:

cd/home/pi/parking/rpi-rgb-led-matrix/bindings/python/үлгілері

sudo python тұрақ.py

Егер бәрі ойдағыдай болса, бейнеде көрсетілгенге ұқсас дисплей алу керек.

Қандай шектеулерді қолданғанымызды білу үшін parking.py кодын жылдам қараңыз. Алдыңғы сенсордың әдепкі мәні - 200 мм. Сенсордың диапазоны 11 мм -ден 2 м -ге дейін болғандықтан, nom_parked_Front қашықтығын 200 мм немесе одан жоғары деңгейде ұстаған дұрыс. Nom_parked_Side бүйірлік сенсоры 600 мм -ге орнатылған. Бұл конфигурация опцияларын көрсететін Python коды үшін жоғарыдағы суретті қараңыз.

Егер бәрі жұмыс істеп тұрса, сіз жүйені гаражға орнатып, қажет болған жағдайда жоғарыдағы параметрлерді реттей аласыз. Сіз Wi -Fi желісіне қосылғандықтан, сіз әрқашан кіре аласыз және гаражды орнатуға қажет болғанша қашықтық параметрлерін өңдей аласыз.

«Бұл қазір ме?»

Неге иә, иә солай! - бақытты билеудің уақыты келді:)

Оқығаныңызға рахмет және жаңа тұрақ көмекшісінен ләззат алыңыз!

9 -қадам: Қосымша қадам және пайдалы пәрмендер

Қосымша қадам - жоғары мәтін үшін FTP қосымшасы

Python сценарий файлдарын тікелей pi -де өңдеу үшін біз Wbond бойынша Sublime SFTP деп аталатын FTP қосымшасын орната аламыз. Сіз бұл қосымшаны мына жерде берілген нұсқауларды орындау арқылы жүктей аласыз

Бұл қосымшаны орнату үшін бізге Файл | астындағы FTP тіркелгі деректерін конфигурациялау қажет SFTP/FTP | Серверді орнату… беті.

Орнату үшін біз мыналарды қолдандық:

«type»: «sftp», «sync_down_on_open»: true, «sync_same_age»: true, «host»: «192.168.0.200», «user»: «pi», «password»: «YOUR_RPI_PASSWORD_HERE», «порт»: «22», «remote_path»: «/home/pi/», «file_permissions»: «664», «dir_permissions»: «775», Ctrl+S немесе File | қолданыңыз Бұл ақпаратты сақтау үшін сақтау. Сізден осы конфигурацияға қоңырау шалу үшін атау сұралады. Біз оны «rpizw_0_200» деп атадық

Енді SublimeText -тен pi -ге кіру үшін File | өтіңіз SFTP/FTP | Серверді қарау…

Ашылатын опциялар тізімінен таңдаңыз. Сіз жоғарыда көрсеткен аты бар профильді таңдағыңыз келеді;) Қалталарды шарлау және қалаған файлды өңдеу үшін нұсқауларды орындаңыз.

Пайдалы қосымшалар

Пи -де қолданылатын Linux үшін пайдалы командалар.

Пи розеткадан ажыратпас бұрын, әрқашан microSD картасында файлдар бүлінбеуі үшін оны міндетті түрде өшіріңіз. Мына пәрменді енгізіңіз:

sudo қазір жабылады

және қуат көзін ажыратпас бұрын жасыл светодиодтың сөнуін күтіңіз. Дәл осылай оны қайта іске қосуға болады:

sudo қазір қайта жүктеңіз

Каталогтағы файлдарды тізімдеу үшін мынаны пайдаланыңыз:

ls

Сіз басқа пайдалы Linux командаларын таба аласыз

Ұсынылған: