İçindekiler:

Skate-o-Meter: 7 Adım (Resimlerle)
Skate-o-Meter: 7 Adım (Resimlerle)

Video: Skate-o-Meter: 7 Adım (Resimlerle)

Video: Skate-o-Meter: 7 Adım (Resimlerle)
Video: What happened when I fall #surf #surfing #athlete #waves #surfers #skate #wsl #fit 2024, Temmuz
Anonim
Skate-o-Metre
Skate-o-Metre

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

kablolama
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ı Şeması
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

Arduino Nano'yu yapılandırın
Arduino Nano'yu yapılandırın
Arduino Nano'yu yapılandırın
Arduino Nano'yu yapılandırın
Arduino Nano'yu yapılandırın
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 + Salon
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: