Мазмұны:

Автоматты карта таратушы: 7 қадам
Автоматты карта таратушы: 7 қадам

Бейне: Автоматты карта таратушы: 7 қадам

Бейне: Автоматты карта таратушы: 7 қадам
Бейне: КУПИЛ ВСЁ! ► Internet Cafe Simulator 2 #7 2024, Шілде
Anonim
Автоматты карта таратушы
Автоматты карта таратушы

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

Жабдықтар

  • 1 Raspberry Pi (мен Raspberry Pi 4 қолдандым)
  • SD картасы (16 ГБ ұсынылады)
  • Raspberry Pi үшін 1 пісірілген нан (T-бөлігі)
  • 2 нан тақтасы
  • 1 Нан тақтасы үшін қуат көзі модулі, 5В және 3В3
  • 1 СКД дисплей
  • 1 Потенциометр
  • 1 MPU6050 (акселерометр мен гироскоп)
  • 1 NPN транзисторлары
  • 1 PCF8574N енгізу -шығару кеңейткіші
  • 1 қадамдық қозғалтқыш
  • Қадамдық қозғалтқышты басқаруға арналған 1 ULN2003 ажырату тақтасы
  • 1 HC-SR04 ультрадыбыстық сенсор
  • 1 5В тұрақты ток қозғалтқыштары
  • 1 диод
  • 6 470 Ом резисторлар
  • 4 10К Ом резисторы
  • Барлығын қосатын электр сымы

Жасау кезінде пайдалы:

  • Пісіру темірі
  • Дәнекер
  • Дремель немесе пышақ арасы (ағаш пен пластикті кесетін нәрсе)

Бағдарламалық қамтамасыз ету:

  • Шпатлевка
  • MySQL жұмыс үстелі
  • Win32 диск өңдегіші
  • Код редакторы (мен Visual Studio кодын ұсынамын)
  • WinSCP
  • Raspbian бейнесі

1 -қадам: Rasperry Pi дайындау

Алдымен біз Raspberry Pi -ді басқа ештеңе жасамас бұрын дайындауымыз керек. Барлығы Pi жұмыс істейтіндіктен, бұл карта дистрибьюторының маңызды бөліктерінің бірі.

Орнату:

Raspbian кескінін https://www.raspberrypi.org/downloads/raspberry-pi-os/ сайтынан жүктеп алыңыз

  1. ZIP файлын жүктеңіз
  2. ZIP файлын оңай табуға болатын жерден шығарыңыз
  3. Win32 Disk Imager бағдарламасын ашыңыз және алынған суретті таңдаңыз
  4. Ашылмалы мәзірден SD картасын таңдап, жазу түймесін басыңыз
  5. Жазу процесі аяқталғаннан кейін Win32 Disk Imager бағдарламасын жабуға болады

Енді біз Pi -ге қосылмас бұрын тағы бірнеше нәрсені жасауымыз керек

  1. SD картасындағы жүктеу қалтасына өтіңіз
  2. Cmdline.txt файлын ашыңыз
  3. Жолдың соңына бос орынмен бөлінген 'ip = 169.254.10.1' қосыңыз
  4. Файлды сақтаңыз және шығыңыз
  5. Сол каталогта ssh деп аталатын файлды жасаңыз және кеңейтімді жойыңыз (бұл Pi -ге қосылу үшін бірінші жүктеуде ssh қосады)
  6. SD картасын қауіпсіз шығарып, оны Pi -ге салыңыз

Енді біз Pi -ге қосыла аламыз:

  1. Ethernet кабелін алып, бір ұшын Pi -ге, екінші ұшын компьютерге салыңыз
  2. Putty ашыңыз
  3. Хост атауы өрісіне 169.254.10.1 енгізіңіз
  4. SSH таңдалғанын және порт 22 екенін тексеріңіз
  5. Ашу түймесін басыңыз
  6. Егер сіз ескерту алсаңыз, оны жалғастырып, елемеуге болады
  7. Пайдаланушы аты - pi, ал пароль - таңқурай

Бағдарламалық қамтамасыз етуді конфигурациялау және орнату:

Келесі пәрменмен raspi-config ашыңыз:

sudo raspi-config

5 -ші опцияны таңдаңыз: Интерфейс опциялары

SPI мен I2C қосу

3 -ші нұсқада келесі әрекеттерді өшіріңіз: Жүктеу опциялары:

  • Экран
  • Жұмыс үстелінде емес, іске қосу үшін cli таңдаңыз

Wi -Fi орнату:

Wifi веб -сайтқа оңай өту үшін пайдалы. Wi -Fi тіркелгі деректері жақын екеніне көз жеткізіңіз.

Wi -Fi орнату үшін бізге бірнеше нәрсе қажет:

Осы пәрменді пайдаланып Wi -Fi қосыңыз және ақпаратқа SSID мен PASSWORD өзгертіңіз:

sudo wpa_passphrase «SSID» «PASSWORD» >> /etc/wpa_supplicant/wpa_supplicant.conf

Wi -Fi желісін қайта конфигурациялау үшін мына пәрменді орындаңыз:

sudo wpa_cli

Дұрыс интерфейсті таңдаңыз:

wlan0 интерфейсі

Интерфейсті қайта конфигурациялаңыз:

қайта конфигурациялау

Бұл пәрменмен қайта конфигурация сәтті болғанын тексеріңіз:

ip а

Егер сіз wlan0 интерфейсінде IP мекенжайын көрсеңіз, онда бәрі реттелген.

Операциялық жүйені жаңарту

Осы 2 пәрменмен амалдық жүйені жаңартыңыз:

sudo apt жаңарту

sudo apt толық жаңарту

MariaDB орнату:

Apache веб -серверін орнату:

sudo apt install apache2 -y

MariaDB серверін орнату:

sudo apt install mariadb -server -y

Енді біз қайта жүктеуіміз керек:

sudo қайта жүктеу

MariaDB орнатуын қамтамасыз ету ұсынылады. Сіз бұл пәрменді іске қосу арқылы жасай аласыз:

sudo mysql_secure_installation

Алдымен сізден ағымдағы түбірлік құпия сөз сұралады, бірақ әдепкі қондырмада жоқ, сондықтан enter пернесін басыңыз.

Содан кейін сізден түбірлік құпия сөзді орнатқыңыз келетіні сұралады, y деп теріңіз. Құпия сөзді есте сақтай алатындығыңызға сенімді болыңыз!

  • Анонимді пайдаланушыларды жою үшін y енгізіңіз
  • Түбірлік кіруді қашықтан өшіру үшін y енгізіңіз
  • Сынақ дерекқорларын жою және оған кіру үшін y енгізіңіз
  • Ерекше мүмкіндіктерді қайта жүктеу үшін y енгізіңіз

MariaDB қондырғысы қауіпсіз болуы керек!

Енді біз жаңа пайдаланушы жасай аламыз:

Мына пәрменмен mysql қабығын енгізіңіз:

sudo mysql

Келесі командалар mysql және құпия сөзбен (your_password) пайдаланушыны жасаңыз:

mysql@localhost пайдаланушысын 'your_password' арқылы анықтаңыз;

mysql@localhost -қа *. * бойынша барлық артықшылықтарды беріңіз;

АРТЫҚШЫЛЫҚТАР;

Мына пәрменмен mysql қабығынан шығыңыз:

Шығу;

Python пакеттері:

Егер сіз Lite нұсқасын таңдамасаңыз, Python орнатылуы керек:

sudo apt install python3-pip

Бізге жақсы Python пакеттері қажет, олардың барлығын келесі пәрменмен орнатуға болады:

pip3 mysql-connector-python колбасы-розетка колбасы-cors gevent gevent-websocket орнатыңыз

Енді бізге тағы бір рет қайта жүктеу керек

sudo қайта жүктеу

2 -қадам: Visual Studio коды мен MySQL Workbench бағдарламасын орнату

MySQL Workbench көмегімен Pi -ге қосылу:

MySQL Workbench ашыңыз

Келесі ақпаратпен Pi -ге жаңа байланыс орнатыңыз:

  • Қосылым атауы: Raspi
  • Қосылу әдісі: SSH арқылы стандартты TCP/IP
  • SSH хост атауы: Pi мекенжайы

Сіз IP-адресті мына пәрменмен ала аласыз:

ip а

  • SSH пайдаланушы аты: pi
  • MySQL хост атауы: 127.0.0.1
  • MySQL сервер порты: 3306
  • Пайдаланушы аты: mysql

OK түймесін басып, pi пайдаланушысының құпия сөзін енгізіңіз, содан кейін mysql пайдаланушысының құпия сөзін енгізіңіз.

Visual Studio кодын орнату:

Visual Studio кодын ашыңыз

Мына 2 кеңейтімді орнатыңыз:

  • Қашықтан басқару - SSH
  • Қашықтан - SSH: конфигурация файлдарын өңдеу

Visual Studio Code F1 пернесін басып, ssh деп теріңіз

Қашықтағы SSH таңдаңыз: жаңа SSH хостын қосыңыз

Ssh pi@IP мекенжайын енгізіңіз

Келесі қадамда enter пернесін басыңыз

Байланыс енді Pi -ге қосылды. Сіз Pi -ге F1 пернесін басу арқылы және Қашықтағы хостқа қосылуды таңдау арқылы қосыла аласыз.

Құпия сөзді енгізіңіз, сонда Visual Studio Code Pi -ге қол жеткізе алады.

Тағы бір нәрсе: Python кеңейтімін қашықтағы құрылғыға орнатыңыз, сонда сіз кодты оңай іске қоса аласыз.

3 -қадам: Сызу диаграммасы

Қиындық диаграммасы
Қиындық диаграммасы
Қиындық диаграммасы
Қиындық диаграммасы
Қиындық диаграммасы
Қиындық диаграммасы

Бұл қадамда мен тізбекті түсіндіремін.

Жоғарыдағы схемалар Fritzing көмегімен жасалған.

Тұрақты ток қозғалтқышы:

GPIO 18 -ді коллектордың негізіне, npn транзисторындағы ортаңғы істікшеге қосыңыз. Қозғалтқыштың жерін коллекторға транзистордан және қозғалтқыштың қуатын 5В -қа қосыңыз. Транзистордың жерін жерге қосу желісіне қосыңыз. Диодты қозғалтқыштың үстіндегі тосқауылға қосыңыз, ол токтың тікелей транзисторға өтуіне кедергі келтіреді.

Қадамдық мотор:

Қадамдық қозғалтқышты басқару тақтасына қосыңыз. Басқару тақтасында 5В және жерге қосу үшін бір жағында түйреуіштер бар. Басқа түйреуіштер - бұл түйреуіштер. Бұл түйреуіштер қозғалтқыш ішіндегі магниттерді басқарады, осылайша ол айнала алады. Бұл түйреуіштерді Raspberry Pi -дегі GPIO 12, 16, 20 және 21 -ге қосыңыз.

HC-SR04 ультрадыбыстық:

Бұл сенсор дыбыстың көмегімен шамамен 4,5 метрге дейінгі қашықтықты өлшей алады.

VCC түйреуішін 5В -ке, триггерлік істікті GPIO 25 -ке, резисторы 470 Ом -ге GPIO 24 -ке эхо -түйреуішті және жерге қарсылықты 470 Ом -ға қосатын жерге қосыңыз.

MPU6050:

VCC түйреуішін 3V3 -ке қосыңыз, жерге жерге қойыңыз, Pi -дегі scl -ге және sda -ға Pi -ге сладаңыз. Бұл сенсор үшін мен оны басқару үшін I2C қолданамын. Бұл туралы толығырақ мына жерден оқи аласыз. Міне негізгі түсініктеме: Pi - шебер, ал MPU6050 - құл. Scl сызығы арқылы Pi уақытты басқарады және sda сызығы деректерді шеберден құлға немесе құлдан шеберге жіберу үшін қолданылады. Деректерді беруді тек шебер ғана бастай алады.

Жарыққа тәуелді резистор:

LDR -ден дұрыс көрсеткіштерді алу үшін мен MCP3008 чипін қолданамын. Бұл ldr көрсеткіштері тұрақты және аналогтан цифрлық сигналдарға дұрыс түрлендірілгеніне көз жеткізеді.

3V3 ldr -дің бір жағына 10К Ом резистормен жалғаңыз. Ldr мен резистордың арасында сымды MCP3008 0 каналына жалғаңыз. Содан кейін лдрдің екінші жағын жерге қосыңыз.

СКД дисплейі:

Сіз СКД дисплейін PCF8574сіз қолдана аласыз, бірақ Pi -дегі GPIO түйреуіштері шектеулі болғандықтан, мен кейбір GPIO түйреуіштерін сақтау үшін PCF8574 қолданамын. Сіз ауысым регистрін де пайдалана аласыз, бірақ мен PCF8574 -ті жақсы көремін. Сіз PCF8574 -ті SMbus протоколымен басқара аласыз, бірақ мен оны басқару үшін өз сыныбымды жаздым. Потенциометр контрастты басқарады.

СКД дисплей түйреуіштері:

  • Жерге VSS
  • ВД - 5В
  • Потенциометрдің айнымалы істігіне V0
  • RSS GPIO 13
  • R/W жерге қосылады, себебі мен тек дисплейге жазамын және оқымаймын
  • E - GPIO 19
  • PCF DB0 - P0
  • DB1 - P1
  • DB2 - P2
  • DB3 - P3
  • DB4 - P4
  • DB5 - P5
  • DB6 - P6
  • DB7 - P7
  • Светодиод+ 5В дейін
  • Жарықдиодты- жерге

PCF8574 түйреуіштері:

  • Жерге 0
  • A1 жерге
  • А2 жерге
  • Жерден жерге
  • VCC 5 В дейін
  • SDA - GPIO 27
  • 330 Ом резисторы бар GPIO 22 -ге SCL

Сізде дисплейдің түріне байланысты LED+ және LED болмауы мүмкін. LED+ және LED- артқы жарыққа арналған.

Потенциометрдің оң жағын 5В -қа және жерге жерге қосыңыз.

Тартылатын резисторларды қолданғаныңызға көз жеткізіңіз!

4 -қадам: Github туралы код

Сіз барлық қажетті кодты Github -дан таба аласыз.

1 -қалта жобасы:

Бұл қалта артқы жағына арналған барлық кодты қамтиды. Klasses қалтасында жабдықты басқаруға арналған барлық сыныптар бар.

Қалтаның репозиторийінде 2 файл бар: Database.py және DataRepository.py. Database.py дерекқорға қосылуды сақтайды және сұрауларды өңдейді. DataRepository.py сайтқа қажетті барлық сұрауларды қамтиды.

App.py - бұл артқы жағының негізгі файлы. Бұл файл Pi жүктелген кезде автоматты түрде басталады.

Config.py дерекқорға қосылу үшін бірнеше параметрлерді қамтиды. Бұл файлдарды өз ақпаратыңызбен толтырғаныңызға көз жеткізіңіз.

Сіз бұл қалтаны үй каталогының кез келген жеріне орналастыра аласыз.

Html қалтасы:

Бұл қалтада сайттың барлық файлдары, алдыңғы беті бар.

  • Қалтада сайттың орналасуына арналған файлдар бар.
  • Қаріптер сайтта қолданылатын қаріптерді қамтиды.
  • Сценарийде сайтты динамикалық ету үшін барлық Javascript файлдары бар

Бұл қалта/var/www/html қалтасында болуы керек

Сіз мына пәрменмен файлды немесе қалтаны көшіре аласыз:

sudo mv/path/to/current/каталог/жол/to/destination/каталог

Сайтқа өту үшін браузерде СКД дисплейінде көрсетілген IP-адресті теріңіз.

5 -қадам: Деректер қорының қалыпқа келтірілген құрылымы

Деректер қорының қалыпқа келтірілген құрылымы
Деректер қорының қалыпқа келтірілген құрылымы

Бұл қадамда біз дерекқорды импорттаймыз.

  1. MySQL Workbench көмегімен Raspberry Pi -ге қосылыңыз
  2. Сервер -> Деректерді импорттау түймесін басыңыз
  3. Өзіндік файлды импорттау таңдаңыз
  4. Github-дан Database-export қалтасында dump_project1.sql деп аталатын sql файлы бар.
  5. Бұл файлды шолыңыз және импортты бастау түймесін басыңыз

Міне бітті. Пи енді ақпаратқа қол жеткізе алады, егер ол дұрыс ақпаратқа ие болса.

6 -қадам: карта таратушыға арналған қап

Карточка таратушыға арналған қап
Карточка таратушыға арналған қап
Карточка таратушыға арналған қап
Карточка таратушыға арналған қап
Карточка таратушыға арналған қап
Карточка таратушыға арналған қап

Бұл қадамда мен іс үшін не қолданғанымды және бәрін қалай орнатқанымды түсіндіремін.

Бұл жағдайда мен 2 ABS қорабын қолдандым:

- 265 x 185 x 95 мм

- 171 x 121 x 80 мм

Мен қораптарда жасаған тесіктер

СКД дисплейі үшін тесік, қуат сымдары үшін 3 тесік, біреуі қадамдық қозғалтқыштың сымдары үшін, тұрақты ток қозғалтқышы мен ультрадыбыстық сенсор.

Ең кішкентай қорапта мен компоненттерден сымдар мен карталар өтетін тесік жасадым. Жоғарғы жағында мен ойын карталарын құрылғыға орналастыру үшін ең үлкен тесікті жасадым.

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

Мен ABS пластикті таңдадым, себебі ол жеңіл, сондықтан қадамдық қозғалтқыш оны оңай айналдыра алады. Ағаш шынымен ауыр болуы мүмкін, ал қадамдық моторда қиындықтар туындауы мүмкін. Тесіктерді кесу үшін мен металл мен Дремельге арналған бұрғылау ұңғымалары бар бұрғылауды қолдандым. Үлкен тесіктерді кесу көп еңбекті қажет етті, ал жонғыш аралау жақсы болар еді.

7 -қадам: Бағдарлама қызмет ретінде

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

Келесі пәрменмен smartcard.service деп аталатын жаңа файл жасаңыз:

sudo nano /etc/systemd/system/smartcard.service

Бұл файлға кіруі керек:

[Бірлік]

Сипаттама = Ақылды картаның артқы жағы = = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/project1 StandardOutput = мұра StandardError = мұрагерлік Қайта қосу = әрқашан User = pi [Орнату] WantedBy = көп қолданушы.мақсат WorkingDirectory - бұл бағдарлама орналасқан қалтаға апаратын жол

Енді сізде жеке Smart Card бар!

Ұсынылған: