Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi
- Hakbang 2: Mga kable
- Hakbang 3: Database Scheme
- Hakbang 4: I-configure ang Arduino Nano
- Hakbang 5: I-configure ang Raspberry Pi
- Hakbang 6: Pabahay + Hall
- Pabahay
- Hall effect sensor
- Hakbang 7: Simula sa App
Video: Skate-o-Meter: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ako ay isang mag-aaral sa Howest Kortrijk. Upang maipakita ang aming mga kasanayan sa mga lektor na kailangan namin upang makabuo ng isang proyekto, pinili kong lumikha ng isang odometer at speedometer para sa aking skateboard gamit ang isang RFID scanner. Sa itinuturo na ito, sinabi kong goig kung paano ko ginawa ang proyektong ito.
Naisip ko ang ideyang ito dahil gusto kong mag-skate at mag-cruise sa paligid. Habang namamasyal ako ay magiging madaling gamitin upang makita kung gaano kalayo ang distansya ko at nakita ang aking bilis.
Tandaan na ito ay isang prototype.
Hakbang 1: Mga Bahagi
Mga Bahagi
Ginamit ko ang mga sumusunod na sangkap upang likhain ang proyektong ito:
- Skateboard
- Potensyomiter
- LCD
- Hall effect sensor
- 10k Ohm Resistor
- Raspberry pi
- Arduino Nano
- Jumper wire (Babae hanggang lalaki)
- Jumper wire (Raspberry Pi)
- Jumper wire (Lalaki hanggang lalaki)
- PCB
- Scanner ng RFID
- Badge ng RFID
- Powerbank
Tingnan ang BillOfMaterial para sa mga link at presyo
Hakbang 2: Mga kable
Ang bulwagan ay may 3 mga pin: isang VCC, isang GND at isang output. Ang lupa ay napupunta sa isang GND. Ang VCC sa 3.3V at ang output sa halimbawang ito ay napupunta sa GPIO 26. Ang isang 10K Ohm risistor ay hinihila ang output na mataas.
Gumagamit ako ng serial na komunikasyon sa USB sa pagitan ng raspberry pi at arduino nano upang mabasa ang mga badge. Wala ito sa larawan, ngunit kinakailangan!
D9 RST (I-reset) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
Hakbang 3: Database Scheme
Ang aking database ay may 3 mga talahanayan:
- Mga gumagamit
- Session
- Data
Maaaring subaybayan ng bawat gumagamit nang magkahiwalay ang data. Ang isang session ay mayroong data upang malaman mo kung gaano kabilis ka nagpunta sa ilang mga punto habang nangyayari ang session.
Hakbang 4: I-configure ang Arduino Nano
Una ilagay ang iyong arduino nano sa iyong pc sa pamamagitan ng usb cable. Piliin ang tamang arduino at ang tamang usb port upang mai-upload.
Susunod na kailangan namin upang idagdag ang ginagamit kong library para sa pagbabasa ng RFID badge. Mag-download ng 'rfid-master' at pumunta sa sketch, isama ang library at pagkatapos ay magdagdag ng. ZIP library. Pumunta sa zip na na-download mo lamang at gamitin ang isang ito, awtomatiko itong mai-install. Pagkatapos nito i-download ang aking na-edit na 'RFID_Read.ino' pindutin ang ctrl + O idagdag ang parehong oras at pumunta sa file na ito at buksan ito.
Kung nagawa mo ang lahat ng mga hakbang na ito sa itaas maaari mong i-verify ang file. Kung nag-bug ito sa unang pagkakataon, subukan lamang ito ulit. Kung ito ay magtagumpay maaari mong i-upload ito sa iyong arduino. Sa pamamagitan ng paggamit ng shortcut ctrl + shift + m maaari mong buksan ang serial monitor. Maaari mong subukan ang file dito. Kung magtagumpay ang pagsubok maaari mong i-unplug ang arduino at i-plug ito sa isang usb port ng raspberry pi
Hakbang 5: I-configure ang Raspberry Pi
Sa mga hakbang na ito ay i-set up namin ang raspberry pi bilang database at webserver.
SA HALIMBONG ITO GINAGAMIT KO ANG USER na 'ako' KUNG GAGAMITIN MO ANG IBA PANG GAMIT KAILANGAN KANG PALITAN ANG MGA CONFIG FILES, PANITININ ITO!
1. Lumikha ng isang gumagamit:
Lumikha ng isang variable
pieter @ rpipieter: ~ $ user = ako
Paggawa ng gumagamit ng sudo at pagdaragdag sa lahat ng mga pangkat
mga grupo = $ (id pi -Gn | sed 's / ^ pi // g' | sed 's / /, / g') sudo useradd $ {user} -s / bin / bash -m -G $ {group} sudo sed "s / ^ pi / $ {user} /" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {user}
Mag-login sa account
pieter @ rpipieter: ~ $ su - ako
Password: ako @ my-rpi: ~ $
2. Kumonekta sa WiFi
ako @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Password' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 reconfigure root @ rpipieter: ~ # logout
Suriin kung gumagana ang internet
root @ rpipieter: ~ # wget google.com
3. Paggawa ng pinakabagong raspberry pi at pag-install ng mga kinakailangang package
ako @ my-rpi: ~ $ sudo apt update
ako @ my-rpi: ~ $ sudo apt upgrade me @ rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme @ my-rpi: ~ $ sudo reboot -h ngayon
4. I-clone ang aking github repository
ako @ rpipieter: ~ $ git clone
ako @ rpipieter: ~ $ cd skate-o-meter / skateometer /
5. Paggawa ng virtual na kapaligiran
Habang ginagawa ang mga utos na ito doon mai-install ang maraming mga pakete, maaaring magtagal ito.
ako @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install - i-upgrade ang pip setuptools wheel virtualenv
me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m venv --system-site-packages env (env) me @ rpipieter: ~ / skate-o-meter / skateometer $ python -m pip install mysql- konektor-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-konektor-python passlib pyserial pyjwt RPi. GPIO
6. Lumilikha ng database at mga gumagamit
Gumagamit kami ng MySQL database
pieter @ rpipieter: ~ / skate-o-meter / skateometer $ cd
pieter @ rpipieter: ~ $ sudo MySQL
Pagkatapos kopyahin, i-paste ito
GRANT SELECT, INSERT, UPDATE, Delete ON *. * TO 'som-data' @ 'localhost'; SET PASSWORD FOR 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); piliin ang * mula sa mysql.user; GUMAWA NG Gumagamit na 'som-admin' @ 'localhost' KILALA NG 'admin9810'; GUMAWA NG Gumagamit na 'som-web' @ 'localhost' KILALA NG 'web9810'; GUMAWA NG USER 'som-sensor' @ 'localhost' NAILALA NG 'sensor9810'; GUMAWA NG DATABASE skateometerdb; IPAGBIGAY ANG LAHAT NG PRIVILEGES SA skateometerdb. * Sa 'som-admin' @ 'localhost' MAY GRANT OPTION; PUMILI NG PILI, INSERT, I-UPDATE, TANGGAL SA skateometerdb. * SA 'som-web' @ 'localhost'; PUMILI NG PILI, INSERT, I-UPDATE, TANGGAL SA skateometerdb. * SA 'som-sensor' @ 'localhost'; FLUSH PRIVILEGES;
Susunod na idaragdag namin ang umiiral na database scheme na may mga relasyon.
ako @ rpipieter: ~ / skate-o-meter / skateometer $ sudo MySQL <sql / skateometerdb_dump-withoutdata.sql
7. Mga serbisyo
Dito kinokopya namin ang aming mga config file at muling nai-reload ang folder upang maaari naming paganahin ang mga serbisyo
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / som - *. service / etc / systemd / systemme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl daemon-reload
Ngayon ay paganahin namin ang mga serbisyo upang sa tuwing sinisimulan namin ang raspberry pi ay awtomatiko itong magsisisimula dito.
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl paganahin ang som-flask.service
Nilikha symlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl paganahin ang som-data.service Nilikha symlink /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / system / som-data.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-data.service me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-flask.service
8. NGINX
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / sites -enified / default me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo ln -s / etc / nginx / sites-magagamit / skateometer / etc / nginx / mga site-pinagana / skateometerme @ rpipieter: ~ / skate-o -meter / skateometer $ sudo systemctl restart nginx.service
Hakbang 6: Pabahay + Hall
Pabahay
Una gumawa ako ng isang butas sa aking skateboard para sa LCD, potentiometer at buzzer. Pagkatapos nito ay naghinang ako ng LCD, potentiometer at buzzer sa PCB. Pagkatapos ay gumamit ako ng isang jumperwire para sa RPI, ang isa na may 40 mga pin. Inilagay ko ang isang gilid sa raspberry pi at ang kalahati ay pinutol ko, ang panig na ito na gagamitin namin upang maghinang. Sa file na 'rpi-cable' maaari mong makita kung saan kailangan mong maghinang aling kawad.
Para sa pambalot na ginamit ko ang isang lumang kahon ng curver, naglagay ako ng ilang mga butas dito para sa isang ethernetcable at para sa jumperwire na dumating sa kahon.
Itinatago ko ang kahon sa ilalim ng skateboard na may ilang tornilyo. Sa loob ng kahon ay inayos ko ang lahat, kaya't magkasya ito at gumamit din ng mga turnilyo at ilang mga rubber upang mapanatili ang lahat sa lugar. Ginagawa nitong mas madali ang paglabas ng mga bagay-bagay.
Ang RFID ay naka-mount sa naiilawan ng kahon at gaganapin sa mga ziptires, isang problema na nakasalamuha ko ay kung minsan hindi ito nai-scan, ngunit sa ilang mga pagbabago ay pinapagana ko ito.
Hall effect sensor
Una ay nag-drill ako ng isang butas sa aking gulong at naglagay ng isang magnet sa loob nito.
Para sa bulwagan ay ginagamit ang 3 jumperwires (lalaki hanggang lalaki) Ginawa ko ang mga ito sa aking PCB pati na rin sa mismong hall. Inilagay ko ang sensor ng hall sa aking trak na may ilang mga ziptire. Siguraduhin na ang magnet at sensor ay nakahanay nang maayos, kung hindi man ay hindi palaging ipaparehistro ang pulso.
Hakbang 7: Simula sa App
Hakbang 1:
I-plug in ang raspberry at power bank.
Hakbang 2:
Maghintay hanggang magsimula ang programa, maaari mong sundin ito sa LCD. Makikita mo ang IP-address, pumunta sa IP-address na ito.
Hakbang 3:
Lumikha ng isang gumagamit, magagawa mo ito sa pamamagitan ng pagrehistro. Kailangan mong i-scan ang badge upang makita ang iyong UID ng badge sa LCD.
Hakbang 4:
Kung lumikha ka ng isang gumagamit maaari mong i-scan ang iyong badge at magsisimula ang isang session.
Hakbang 5:
Pumunta cruise sa paligid
Hakbang 6:
Muling i-scan ang badge upang ihinto ang session
Hakbang 7:
Pag-login upang makita ang iyong session at detalyadong data mula sa session
Inirerekumendang:
Paano Gumawa ng LED ICE SKATE: 6 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng LED ICE SKATE: Inilagay ko ang mga neopixel LED sa aking ice skate. Sa tuwing ang mikropono, na konektado sa board ng Arduino, ay naririnig ang anumang maingay na tunog. Nagpapadala ito ng iba't ibang mga signal sa mga LED. Madali itong gawin, kahit para sa mga nagsisimula. Nagbahagi ako ng mga code at tagubilin. Subukan Natin
Paano Mag-disassemble ng isang Computer Na May Madaling Hakbang at Mga Larawan: 13 Hakbang (na may Mga Larawan)
Paano Mag-disassemble ng isang Computer Na May Madaling Mga Hakbang at Larawan: Ito ay isang tagubilin tungkol sa kung paano i-disassemble ang isang PC. Karamihan sa mga pangunahing sangkap ay modular at madaling matanggal. Gayunpaman mahalaga na maging maayos ka tungkol dito. Makakatulong ito upang maiwasan ka sa pagkawala ng mga bahagi, at sa paggawa din ng muling pagsasama
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Pasadyang Arduino upang Panatilihing MAAARI ang Mga Pindutan sa Mga Manibela na May Bagong Car Stereo: 9 Mga Hakbang (na may Mga Larawan)
Pasadyang Arduino upang Panatilihin ang CAN Steering Wheel Buttons Sa Bagong Car Stereo: Napagpasyahan kong palitan ang orihinal na stereo ng kotse sa aking Volvo V70 -02 ng isang bagong stereo upang masisiyahan ako sa mga bagay tulad ng mp3, bluetooth at handsfree. Ang aking kotse ay may ilang mga kontrol sa manibela para sa stereo na nais kong magamit pa rin.