步驟1:組件
組件
我使用以下組件來創建此項目:
滑板
電位計
LCD
霍爾效應傳感器
10k歐姆電阻器
Raspberry pi
Arduino Nano
跳線(母對母)
跳線(Raspberry Pi)
跳線(公對公)
RFID掃描儀
RFID徽章
Powerbank
請參閱BillOfMaterials 獲取鏈接和價格
步驟2:接線
大廳有3個引腳:一個VCC,一個GND和輸出。
接地連接到GND。 VCC到3.3V,本例中的輸出轉到GPIO 26.一個10K歐姆的電阻將輸出拉高。
我使用覆盆子pi和arduino nano之間的USB串行通信來讀取徽章。
D9 - 》 RST(復位)
D10 - 》 SDA(SS)(SPI SS)
D11 - 》 MOSI(SPI MOSI)
D12 - 》 MISO(SPI MISO)
D13 - 》 SCK(SPI SCK)
GND - 》 GND
3.3V - 》 3.3V
步驟3:數據庫方案
我的數據庫有3個表:
用戶
會話
數據
每個用戶都可以分別跟蹤數據。會話有數據,因此您可以知道會話進行時某些點的速度。
步驟4:配置Arduino Nano
首先通過USB電纜將arduino nano放入電腦。選擇要上傳的正確的arduino和正確的USB端口。
接下來我們需要添加用于閱讀RFID徽章的庫。下載‘rfid-master’并轉到草圖,包含庫,然后添加.ZIP庫。轉到剛剛下載的zip并使用這個,它會自動安裝。下載后我編輯的‘RFID_Read.ino’按ctrl + O添加相同的時間并轉到此文件并打開它。
如果您執行了上述所有這些步驟,則可以驗證該文件。如果第一次出現問題,請再試一次。如果成功,您可以將其上傳到您的arduino。通過使用快捷鍵ctrl + shift + m,您可以打開串行監視器。您可以在此處測試該文件。如果測試成功,你可以拔掉arduino并將其插入覆盆子pi的usb端口
步驟5:配置Raspberry Pi
In這些步驟我們將把raspberry pi設置為數據庫和網絡服務器。
在這個例子中我使用用戶‘我’如果你使用另一個用戶你需要改變配置文件,保持這種想法!
1。創建用戶:
創建變量
pieter@rpipieter:~ $ user=me
使用戶sudo并添加到所有組
groups=$(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}
登錄帳戶
pieter@rpipieter:~ $ su - me
Password:
me@my-rpi:~$
2。連接WiFi
me@rpipieter:~ $ sudo -i
root@rpipieter:~# echo ‘Password’ | wpa_passphrase ‘Networkname’ 》》 /etc/wpa_supplicant/wpa_supplicant.conf
root@rpipieter:~# wpa_cli -i wlan0 reconfigure
root@rpipieter:~# logout
檢查互聯網是否正常工作
root@rpipieter:~# wget google.com
第3。使raspberry pi更新并安裝所需的軟件包
me@my-rpi:~$ sudo apt update
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 git
me@my-rpi:~$ sudo reboot -h now
的4。克隆我的github存儲庫
me@rpipieter:~ $ git clone https://github.com/PieterThomas/skate-o-meter
me@rpipieter:~ $ cd skate-o-meter/skateometer/
5。制作虛擬環境
雖然執行這些命令會安裝很多軟件包,但這可能需要一些時間。
me@rpipieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade 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-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi.GPIO
的
6。創建數據庫和用戶
我們正在使用mysql數據庫
pieter@rpipieter:~/skate-o-meter/skateometer $ cd
pieter@rpipieter:~ $ sudo mysql
然后復制,粘貼這個
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO ‘som-data’@‘localhost’;
SET PASSWORD FOR ‘som-data’@‘localhost’ = PASSWORD(‘sensor9810’);
select * from mysql.user;
CREATE USER ‘som-admin’@‘localhost’ IDENTIFIED BY ‘admin9810’;
CREATE USER ‘som-web’@‘localhost’ IDENTIFIED BY ‘web9810’;
CREATE USER ‘som-sensor’@‘localhost’ IDENTIFIED BY ‘sensor9810’;
CREATE DATABASE skateometerdb;
GRANT ALL PRIVILEGES ON skateometerdb.* to ‘som-admin’@‘localhost’ WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO ‘som-web’@‘localhost’;
GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO ‘som-sensor’@‘localhost’;
FLUSH PRIVILEGES;
接下來,我們將添加具有關系的現有數據庫方案。
me@rpipieter:~/skate-o-meter/skateometer $ sudo mysql 《 sql/skateometerdb_dump-withoutdata.sql
7。服務
這里我們復制我們的配置文件并重新加載文件夾,以便我們可以啟用服務
me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/system
me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl daemon-reload
現在我們要去啟用服務,這樣每次我們啟動樹莓派時,它們都會自動啟動它。
me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl enable som-flask.service
Created 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 enable som-data.service
Created 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/skateometer
me@rpipieter:~/skate-o-meter/skateometer $ sudo rm /etc/nginx/sites-enabled/default
me@rpipieter:~/skate-o-meter/skateometer $ sudo ln -s /etc/nginx/sites-available/skateometer /etc/nginx/sites-enabled/skateometer
me@rpipieter:~/skate-o-meter/skateometer $ sudo systemctl restart nginx.service
第6步:住房+大廳
住房
首先,我在我的滑板上為LCD,電位器和蜂鳴器打了一個洞。之后我將LCD,電位器和蜂鳴器焊接在PCB上。然后我用RPI的一個跳線,一個40針的跳線。我把一面放在樹莓派中,另一半放在我切口,這一面我們將用來焊接。在‘rpi-cable’文件中,你可以看到你需要焊接哪根電線。
對于外殼,我使用了一個舊的曲線盒,我在其中放了一些孔,用于以太網電纜和跳線到進入盒子里。
我用一些螺絲把盒子放在滑板下面。在盒子里面,我安排了一切,所以它適合并且還使用螺絲和一些橡膠來保持一切就位。這樣可以更輕松地取出東西。
RFID安裝在盒子的燈光上,并用拉鏈固定,我遇到的一個問題是,有時它沒有掃描,但有一些變化我霍爾效應傳感器
首先,我在我的車輪上鉆了一個洞,并在其中放入一塊磁鐵。
對于大廳使用3個跳線(男性對男性)我把它們焊接在我的PCB上以及大廳本身。我將霍爾傳感器安裝在我的卡車上,帶有一些拉鏈。確保磁鐵和傳感器對齊良好,否則不會始終記錄脈沖。
步驟7:啟動應用程序
步驟1:
將樹莓和移動電源插入。
第2步:
等到程序啟動,您可以在液晶顯示屏上關注此功能。您將看到IP地址,轉到此IP地址。
步驟3:
創建用戶,您可以通過注冊來完成。您需要掃描徽章以在液晶顯示屏上查看徽章的UID。
第4步:
如果您創建了用戶,則可以掃描徽章和會話將開始。
第5步:
巡航
第6步:
再次掃描徽章以停止會話
步驟7:
登錄以查看您的會話和詳細數據來自會話
-
里程表
+關注
關注
1文章
15瀏覽量
9924
發布評論請先 登錄
相關推薦
如何為micropython添加自己的C代碼庫?
滑板底盤研究:8款量產車型已應用,預計2025年后將大規模量產

告別“里程焦慮”,ER-QA-03C ---助力航天器精準“定位”未來!

碳滑板電阻測試儀如何實現遠程監控和智能維護

使用碳滑板電阻測試儀進行測試的步驟

朗凱威鋰電池定制飛鴿電動滑板車48V磷酸鐵鋰電池組

如何為ESP8266構建自定義盾牌?
6月份理想汽車累計交付量突破800,000輛 歷時54個月
如何為SPI OLED顯示屏添加另一個設備?
如何為TC275-SB制作MCAL?
時速高達25公里/小時的電動滑板車,在德國允許嗎?(ABE)

評論