İçindekiler:
- Adım 1: Bileşenler
- Adım 2: Kablolama
- Adım 3: Veritabanı Şeması
- Adım 4: Arduino Nano'yu Yapılandırın
- Adım 5: Raspberry Pi'yi Yapılandırın
- Adım 6: Konut + Salon
- Konut
- Hall etkisi sensörü
- 7. Adım: Uygulamayı Başlatma
Video: Skate-o-Meter: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Howest Kortrijk'te öğrenciyim. Bir proje oluşturmak için ihtiyaç duyduğumuz öğretim görevlilerine becerilerimizi göstermek için, bir RFID tarayıcılı kaykayım için bir kilometre sayacı ve hız göstergesi oluşturmayı seçtim. Bu talimatta, bu projeyi nasıl yaptığımı söyleyeceğim.
Bu fikri buldum çünkü kaymayı ve etrafta gezinmeyi seviyorum. Seyir halindeyken ne kadar mesafe kat ettiğimi ve hızımı görmek kullanışlı olurdu.
Bunun bir prototip olduğunu unutmayın.
Adım 1: Bileşenler
Bileşenler
Bu projeyi oluşturmak için aşağıdaki bileşenleri kullandım:
- Kaykay
- Potansiyometre
- LCD
- Hall etkisi sensörü
- 10k Ohm Direnç
- ahududu pi
- Arduino Nano
- Atlama teli (Kadından erkeğe)
- Atlama teli (Ahududu Pi)
- Atlama teli (Erkekten erkeğe)
- PCB
- RFID tarayıcı
- RFID rozeti
- Taşınabilir şarj aleti
Bağlantılar ve fiyat için BillOfMaterials'a bakın
Adım 2: Kablolama
Salonun 3 pini vardır: bir VCC, bir GND ve bir çıkış. Toprak bir GND'ye gider. VCC'den 3.3V'a ve bu örnekteki çıkış GPIO 26'ya gider. 10K Ohm'luk bir direnç çıkışı yüksek çeker.
Rozetleri okumak için ahududu pi ve arduino nano arasında USB üzerinden seri iletişim kullanıyorum. Bu resimde yok, ama gerekli!
D9 RST (Sıfırla)D10 SDA(SS) (SPI SS)D11 MOSI (SPI MOSI)D12 MISO (SPI MISO)D13 SCK (SPI SCK)GND GND3.3V 3.3V
Adım 3: Veritabanı Şeması
Veritabanımda 3 tablo var:
- Kullanıcılar
- Oturum, toplantı, celse
- Veri
Her kullanıcı verileri ayrı ayrı izleyebilir. Bir oturumun verileri vardır, böylece oturum devam ederken belirli noktalarda ne kadar hızlı gittiğinizi bilirsiniz.
Adım 4: Arduino Nano'yu Yapılandırın
Öncelikle arduino nano'nuzu usb kablosu ile pc'nize takın. Yüklemek için doğru arduino ve doğru usb bağlantı noktasını seçin.
Ardından RFID rozetini okumak için kullandığım kütüphaneyi eklememiz gerekiyor. 'rfid-master' dosyasını indirin ve çizime gidin, kitaplığı dahil edin ve ardından. ZIP kitaplığını ekleyin. Az önce indirdiğiniz zip dosyasına gidin ve bunu kullanın, otomatik olarak yüklenecektir. Daha sonra düzenlediğim 'RFID_Read.ino' dosyasını indirip aynı anda ctrl + O'ya basın ve bu dosyaya gidin ve açın.
Yukarıdaki tüm bu adımları yaptıysanız, dosyayı doğrulayabilirsiniz. İlk seferinde hata verirse, bir kez daha deneyin. Bu başarılı olursa, arduino'nuza yükleyebilirsiniz. ctrl+shift+m kısayolunu kullanarak seri monitörü açabilirsiniz. Dosyayı buradan test edebilirsiniz. Test başarılı olursa, arduino'nun fişini çekebilir ve ahududu pi'nin bir usb bağlantı noktasına takabilirsiniz.
Adım 5: Raspberry Pi'yi Yapılandırın
Bu adımlarda ahududu pi'yi veritabanı ve web sunucusu olarak kuracağız.
BU ÖRNEKTE BEN KULLANICIYI KULLANIYORUM BAŞKA BİR KULLANICI KULLANIRSANIZ YAPILANDIRMA DOSYALARINI DEĞİŞTİRMENİZ GEREKİR, BUNU DİKKATE ALIN!
1. Bir kullanıcı oluşturun:
Değişken oluştur
pieter@rpipieter:~ $ kullanıcı=ben
Kullanıcıyı sudo yapmak ve tüm gruplara eklemek
gruplar=$(id pi -Gn | sed 's/^pi //g' | sed 's/ /, /g')sudo useradd ${user} -s /bin/bash -m -G ${groups} sudo sed "s/^pi/${user}/" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd ${user}
Hesaba giriş yapın
pieter@rpipieter:~ $ su - ben
Şifre: ben@my-rpi:~$
2. WiFi ile bağlanın
me@rpipieter:~ $ sudo -iroot@rpipieter:~# echo 'Parola' | wpa_passphrase 'Ağ adı' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:~# wpa_cli -i wlan0 root@rpipieter'ı yeniden yapılandırın:~# logout
İnternetin çalışıp çalışmadığını kontrol edin
root@rpipieter:~# wget google.com
3. Raspberry pi'nin güncel hale getirilmesi ve gerekli paketlerin kurulması
me@my-rpi:~$ sudo uygun güncelleme
me@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 -h şimdi yeniden başlat
4. Github depomu klonlayın
me@rpipieter:~ $ git klonu
me@rpipieter:~ $ cd paten-o-meter/skateometer/
5. Sanal ortamın yapılması
Bu komutları yaparken çok sayıda paket yüklenecektir, bu biraz zaman alabilir.
me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip kurulumu --upgrade pip kurulum araçları tekerlek sanalenv
me@rpipieter:~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env (env) me@rpipieter:~/skate-o-meter/skateometer $ python -m pip kurulumu mysql- bağlayıcı-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Veritabanını ve kullanıcıları oluşturma
mysql veritabanı kullanıyoruz
pieter@rpipieter:~/skate-o-meter/skateometer $ cd
pieter@rpipieter:~ $ sudo mysql
Sonra bunu kopyala yapıştır
SEÇME, EKLEME, GÜNCELLEME, SİLME ÜZERİNDE *.* 'som-data'@'localhost' İÇİN; 'som-data'@'localhost' İÇİN ŞİFRE AYARLA = ŞİFRE('sensor9810'); mysql.user'dan * seçin; 'admin9810' TARAFINDAN TANIMLANAN 'som-admin'@'localhost' KULLANICI OLUŞTURMA; 'web9810' TARAFINDAN TANIMLANAN 'som-web'@'localhost' KULLANICI OLUŞTURMA; KULLANICI OLUŞTUR 'som-sensor'@'localhost' 'sensor9810' TARAFINDAN TANIMLANIR; VERİTABANI OLUŞTUR skateometerdb; Skateometerdb.* ÜZERİNDEKİ TÜM AYRICALIKLARI GRANT OPTION İLE 'som-admin'@'localhost'a VERİN; Skateometerdb ÜZERİNDE SEÇİM, EKLE, GÜNCELLEME, SİLME VERİN.* 'som-web'@'localhost' için; Skateometerdb ÜZERİNDE SEÇİMİ VER, EKLE, GÜNCELLE, SİL.* 'som-sensor'@'localhost'; FLUSH AYRICALIKLARI;
Ardından, mevcut veritabanı şemasını ilişkilerle ekleyeceğiz.
me@rpipieter:~/skate-o-meter/skateometer $ sudo mysql < sql/skateometerdb_dump-withoutdata.sql
7. Hizmetler
Burada yapılandırma dosyalarımızı kopyalıyoruz ve hizmetleri etkinleştirebilmemiz için klasörü yeniden yüklüyoruz.
me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/systemme@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl arka plan programı-reload
Şimdi hizmetleri etkinleştireceğiz, böylece ahududu pi'yi her başlattığımızda bunlar otomatik olarak başlayacak.
me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl som-flask.service'i etkinleştir
Sembolik bağlantı /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service oluşturuldu. me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl som-data.service'i etkinleştir system/som-data.service. me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl som-data.service'i başlat me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl som-flask.service'i başlat
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 -etkin/varsayılan me@rpipieter:~/skate-o-meter/skateometer $ sudo ln -s /etc/nginx/sites-available/skateometer /etc/nginx/sites-enabled/skateometerme@rpipieter:~/skate-o -meter/skateometer $ sudo systemctl nginx.service'i yeniden başlat
Adım 6: Konut + Salon
Konut
Önce kaykayımda LCD, potansiyometre ve buzzer için bir delik açtım. Bundan sonra PCB'deki LCD'yi, potansiyometreyi ve buzzer'ı lehimledim. Sonra RPI için 40 pinli bir jumperwire kullandım. Bir tarafını frambuazlı pi'ye koydum diğer yarısını kestim, bu tarafını lehimlemek için kullanacağız. 'rpi-kablo' dosyasında hangi teli nereye lehimlemeniz gerektiğini görebilirsiniz.
Kasa için eski bir eğri kutusu kullandım, ethernet kablosu ve jumperwire'ın kutuya girmesi için biraz delik açtım.
Kutuyu bir vidayla kaykayın altında tutuyorum. Kutunun içine her şeyi sığacak şekilde yerleştirdim ve ayrıca her şeyi yerinde tutmak için vidalar ve bazı kauçuklar kullandım. Bu, eşyaları çıkarmayı kolaylaştırır.
RFID, kutunun aydınlatmasına monte edilmiştir ve fermuarlarla yerinde tutulmaktadır, karşılaştığım bir sorun, bazen tarama yapmamasıydı, ancak bazı değişikliklerle çalışmasını sağladım.
Hall etkisi sensörü
Önce tekerleğime bir delik açtım ve içine bir mıknatıs koydum.
Salon için 3 jumperwire (erkekten erkeğe) kullanılıyor, onları PCB'mde ve salonun kendisinde lehimledim. Hall sensörünü bazı fermuarlarla kamyonuma monte ettim. Mıknatıs ve sensörün iyi hizalandığından emin olun, aksi takdirde nabzı her zaman kaydetmeyecektir.
7. Adım: Uygulamayı Başlatma
Aşama 1:
Ahududu ve güç bankasını prize takın.
Adım 2:
Program başlayana kadar bekleyin, bunu LCD'den takip edebilirsiniz. IP adresini göreceksiniz, bu IP adresine gidin.
Aşama 3:
Bir kullanıcı oluşturun, bunu kayıt olarak yapabilirsiniz. LCD'de rozetin UID'sini görmek için rozeti taramanız gerekir.
4. Adım:
Bir kullanıcı oluşturduysanız, rozetinizi tarayabilirsiniz ve bir oturum başlayacaktır.
Adım 5:
Gezin
6. Adım:
Oturumu durdurmak için rozeti tekrar tarayın
7. Adım:
Oturumunuzu ve oturumdan ayrıntılı verileri görmek için oturum açın
Önerilen:
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: 7 Adım (Resimlerle)
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: Bu Rapsberry PI'yi blogumda bir sürü eğlenceli projede kullanmayı planlıyorum. Kontrol etmekten çekinmeyin. Raspberry PI'mi kullanmaya geri dönmek istedim ama yeni konumumda Klavye veya Farem yoktu. Ahududu kurduğumdan beri bir süre geçti
Adım Sayacı Nasıl Yapılır?: 3 Adım (Resimlerle)
Adım Sayacı Nasıl Yapılır?: Yürümek, koşmak, bisiklete binmek, badminton oynamak gibi birçok sporda iyi performans gösterirdim. Binmeyi çok uzun zaman önce dolaşmak için seviyorum. Pekala, iri göbeğime bakın……Her neyse, egzersize yeniden başlamaya karar verdim. Hangi ekipmanı hazırlamalıyım?
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
Kolay Adımlar ve Resimlerle Bilgisayar Nasıl Sökülür: 13 Adım (Resimlerle)
Kolay Adımlar ve Resimlerle Bir Bilgisayar Nasıl Sökülür: Bu, bir PC'nin nasıl söküleceği hakkında bir talimattır. Temel bileşenlerin çoğu modülerdir ve kolayca çıkarılabilir. Ancak bu konuda organize olmanız önemlidir. Bu, parçaları kaybetmenize ve aynı zamanda yeniden birleştirmeyi kolaylaştırmaya yardımcı olacaktır
Adım Adım Ciclop 3d Tarayıcı My Way: 16 Adım (Resimlerle)
Adım Adım Ciclop 3d Tarayıcı Adım Adım: Merhabalar, ünlü Ciclop 3D tarayıcıyı gerçekleştireceğim. Orijinal projede iyi açıklanan tüm adımlar mevcut değil. Öncelikle işlemi basitleştirmek için bazı düzeltmeler yaptım. Tabanı yazdırıyorum ve PCB'yi yeniden sterilize ediyorum, ama devam et