Isi kandungan:
- Langkah 1: Keperluan
- Langkah 2: Pematerian / Pendawaian
- Langkah 3: Persediaan Raspberry Pi
- Langkah 4: Penyediaan Pangkalan Data
- Langkah 5: Kod
- Langkah 6: Sambung
Video: WeatherCar: 6 Langkah
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-10 13:48
The WeatherCar, sebuah projek kecil buatan rumah yang dapat memandu sambil mengumpulkan data berguna!
Saya menjadikan projek ini sebagai final untuk tahun pertama saya di Howest of Kortrijk. Projek ini belum selesai tetapi dokumen ini merangkumi semua bahagian dalam kereta ini, tanpa membuat kerangka penuh.
Langkah 1: Keperluan
Anda memerlukan semua komponen ini untuk projek ini:
- Pai raspberi
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- Modul GPS GY-NEO6MV2
- 4 x Transistor NPN
- 2 x Perintang (1k dan 2k)
- Pemandu motor
- Pek bateri 2 x 6v
- Papan prototaip
- Pengatur voltan step-down
- Kawat tembaga terlindung
- Kabel rata
- Kabel Mikro-USB lama
- Papan lapis
Langkah 2: Pematerian / Pendawaian
Untuk langkah pertama, kita akan terus menghubungkan semua wayar. (PS. Anda boleh menggunakan papan roti untuk menguji sebelum menyolder semuanya)
Saya menyediakan skema yang menunjukkan kepada anda bagaimana saya memasang kabel semuanya, walaupun saya tidak dapat mencari bahagian yang sesuai untuk pemacu motor saya. Untuk pemacu motor saya menggunakan transistor 4 NPN untuk menukar isyarat 3.3v saya kepada isyarat 12v untuk mengawal pemandu motor. Ini kerana yang saya gunakan hanya menyokong 1 voltan (12v kerana motor saya 12v).
Langkah 3: Persediaan Raspberry Pi
Sekiranya anda belum mempunyai persediaan, anda perlu melakukan ini terlebih dahulu, jika tidak, anda boleh melangkau langkah ini jika anda mempunyai program yang diperlukan dari coretan kod terakhir dalam langkah ini.
Pertama anda perlu memuat turun versi desktop Raspbian, yang boleh didapati di sini:
Selepas memuat turun ini, anda mesti menggunakan Etcher atau WinDiskImager untuk meletakkan fail gambar ke kad SD dari Raspberry Pi anda. (Ini mungkin memerlukan sedikit masa).
Apabila program selesai, buka fail explorer dan buka pemacu yang dipanggil "boot". Di sini anda akan menemui fail teks "cmdline.txt". Buka ini dan tambahkan ip = 169.254.10.1 ke hujung fail. Hati-hati jangan sampai memasukkan entri ke fail kerana ini boleh menyebabkan masalah.
Sekarang PI mempunyai alamat ip lalai, kita masih perlu mengaktifkan SSH untuk dapat menyambung ke sana. Anda boleh melakukannya dengan membuat fail baru yang disebut "SSH" tanpa perluasan, ini akan memberitahu pi raspberry untuk membolehkan ssh pada boot pertama.
Dengan ini kita sekarang boleh menyambung ke raspberry pi menggunakan kabel ethernet. Sambungkan kabel antara komputer anda dan raspberry PI. Sekarang kita memerlukan pelanggan SSH. Untuk ini saya menggunakan dempul (https://www.putty.org/). Buka putty dan masukkan 169.254.10.1 sebagai nama host. Mungkin memerlukan beberapa saat sebelum anda dapat berhubung.
Setelah anda berhubung, log masuk dengan kelayakan ini:
Log masuk: pi Kata Laluan: raspberry
Sekarang kita dapat menyediakan sambungan internet, untuk melakukan ini. Laksanakan perintah ini dan ganti kata laluan SSID dan Rangkaian dengan nama dan kata laluan wifi anda.
gema "kata laluan" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 susun semula
Sekarang kita mempunyai sambungan internet, kita dapat memasang python dan program lain yang diperlukan menggunakan perintah berikut
sudo apt kemas kini
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip memasang - tingkatkan pemasangan setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv - sistem-pakej-laman env
sumber env / bin / aktifkan
python -m pip pasang mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Langkah 4: Penyediaan Pangkalan Data
Sekarang kerana anda raspberry pi mempunyai semua program yang diperlukan, kami masih perlu mengkonfigurasi pangkalan data. Yang boleh kita lakukan dengan memulakan Mysql terlebih dahulu
sudo mariadb
dan kemudian
BUAT PENGGUNA 'projek1-pentadbir' @ 'localhost' DILAKSANAKAN OLEH 'adminpassword'; BUAT PENGGUNA 'projek1-web' @ 'localhost' DIENTIFKAN OLEH 'webpassword'; CIPTA PENGGUNA 'projek1-sensor' @ 'localhost' DIKENALI oleh 'sensorpassword';
BUAT DATABASE Weathercar_db;
MEMBERIKAN SEMUA KEISTIMEWAAN ON Weathercar. * Kepada 'project1-admin' @ 'localhost' DENGAN PILIHAN PEMBERIAN; PEMBERI PILIH, INSERT, UPDATE, DELETE ON projek1. * KE 'project1-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, HAPUSKAN projek1. * KE 'project1-sensor' @ 'localhost'; PRIVILEG FLUSH;
Langkah 5: Kod
Dalam langkah ini, kami akan mengklonkan kod yang diperlukan ke raspberry pi anda. Ini akan kami lakukan dengan melakukan ini:
Pertama sekali pastikan anda berada di direktori rumah anda dengan memasukkan "cd"
cd
sekarang kita akan mengklon repositori menggunakan
git klon
Sekarang kita dapat mengimport tetapan pangkalan data menggunakan:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Setelah kita selesai membuat pangkalan data, kita dapat terus maju dan menyediakan perkhidmatan kita
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl mulakan projek1- * sudo systemctl aktifkan projek1- *
Langkah 6: Sambung
Kami hampir sampai di sana, hanya satu langkah lagi. Dan itulah mendapatkan alamat ip yang diberikan wifi kepada kami.
Kami akan melakukan ini dengan meletakkan
ip addr
sekumpulan omong kosong akan muncul, tetapi anda seharusnya dapat menemui "wlan0" dan kemudian beberapa baris lagi "inet 192.168.x.x"
letakkan alamat ip itu di dalam penyemak imbas anda dan pergi. Anda disambungkan ke laman web.