Isi kandungan:

TinyLiDAR pada Pi ?: 9 Langkah (dengan Gambar)
TinyLiDAR pada Pi ?: 9 Langkah (dengan Gambar)

Video: TinyLiDAR pada Pi ?: 9 Langkah (dengan Gambar)

Video: TinyLiDAR pada Pi ?: 9 Langkah (dengan Gambar)
Video: Cara menggunakan 2 atau lebih VL53L0X Laser Distance Sensor 2024, November
Anonim
TinyLiDAR pada Pi?
TinyLiDAR pada Pi?

Hello lagi!

Sekarang anda telah meluangkan masa yang berkualiti dengan tinyLiDAR dan Arduino anda - Pi Raspberry anda mungkin merasa kesepian;)

Pi mempunyai port I2C bukan? Jadi mengapa tidak mengaitkannya dan mencubanya di sana ?! Rancangan yang bagus, tetapi jika anda sudah mencuba - anda mungkin menyedari data tersebut kelihatan agak pelik.

Ya, pi sudah dilengkapi dengan pull-up 1.8K jadi anda harus memotong pad I2C pada tinyLiDAR untuk mengeluarkan pull-up 4.7K dari litar - lihat manual rujukan untuk perincian. Tetapi ini bukan alasan untuk data yang pelik.

Ini kerana bas I2C pi tidak sesuai dengan spesifikasi. Sudah seperti ini sejak pi pertama kali diperkenalkan kerana set cip Broadcom. Sejak awal mereka tidak menyokong ciri I2C yang disebut "peregangan jam" dengan betul.

Anda boleh membaca lebih lanjut mengenai bug h / w ini di sini.

Langkah 1: Apa itu Peregangan Jam?

Apakah Peregangan Jam?
Apakah Peregangan Jam?

Seperti yang anda ketahui, bas I2C terdiri daripada 3 wayar. Ini adalah untuk jam (SCL), data (SDA) dan landasan bersama. Jam dan garis data adalah jenis pengumpul terbuka / longkang terbuka yang bermaksud mereka memerlukan perintang tarik yang disambungkan ke rel bekalan positif untuk memberi mereka logik tinggi. Untuk mendapatkan logik yang rendah, mana-mana peranti di dalam bas boleh turun ke landasan bersama.

Sesuai standard I2C, peranti Master adalah alat yang membekalkan isyarat jam pada garis SCL tetapi jika kadar ini terlalu cepat maka peranti Slave dibenarkan untuk memperlahankannya dengan hanya menahan garis jam sehingga siap untuk berurusan dengan maklumat. Inilah yang kita panggil "peregangan jam".

Secara rasmi, peregangan jam disenaraikan sebagai ciri pilihan dalam standard I2C tetapi merupakan ciri yang sangat umum yang diperlukan bagi kebanyakan hamba "pintar" yang memerlukan sedikit masa untuk menyediakan data sensor dll.

Langkah 2: Sedikit Bantuan Dari Babi Yang Terbang

Untuk menangani bug I2C h / w ini, kami menjumpai perpustakaan kecil percuma yang dipanggil "pigpio". Ia adalah perpustakaan yang sangat popular, cepat dan ringan yang ditulis dalam C. Ia berfungsi sebagai latar belakang daemon untuk Raspberry Pi dan membolehkan kita mengawal I2C serta GPIO mana pun dengan mudah dari python. Perpustakaan memperlakukan port I2C lebih seperti GPIO dan dengan itu telah memintas bug peregangan jam I2C. Seperti semua perisian di pi, perpustakaan pigpio hanya sekadar "sertakan" sahaja jadi mari kita pergi!

Langkah 3: TL; Versi DR

Sediakan PiEnable SSH untuk log masuk dengan Putty Pasang pigpio library Dapatkan fail zip kecilLiDAR Unzip dan jalankan dari Putty

Pilihan:

Sediakan SublimeText dengan WinSCP

Langkah 4: Pemasangan

Pemasangan
Pemasangan

Untuk Raspberry Pi 3 kami, kami menggunakan sistem operasi New Out Of the Box Software (NOOBS Lite v2.4) standard. Ia mengandungi versi lalai Python yang sudah dipasang untuk kita siap kod. Anda boleh memuat turun OS dari sini.

Setelah dipasang pada kad SD mikro, anda perlu menyambungkan papan kekunci dan monitor supaya anda dapat masuk ke pi untuk pertama kalinya:

Nama pengguna: pi Kata Laluan: raspberry

Kemudian anda boleh memulakan pelayan shell selamat (SSH) dengan arahan berikut:

sudo systemctl mengaktifkan sshsudo systemctl memulakan ssh

Seterusnya kami memerlukan alamat IP pi di rangkaian anda supaya kami dapat log masuk dengan PuTTY. Untuk mendapatkannya, ketik sahaja:

nama hos -I

Dan cari alamat format IPv4 (Untuk persediaan kami ialah: 192.168.0.27)

Langkah-langkah di atas akan membolehkan pi berjalan "tanpa kepala" yang bermaksud anda tidak perlu menaip papan kekunci ini lagi dan juga tidak memerlukan monitor video lagi. Kami akan log masuk melalui rangkaian melalui sambungan SSH yang selamat. Perintah di atas menyebabkan pelayan SSH dilancarkan secara automatik setiap kali pi dihidupkan. Ini sesuai untuk kita semasa kita membuat pengekodan tetapi kemudiannya mungkin menjadi risiko keselamatan (menjadi paranoid baik) jadi apabila anda sudah siap, anda dapat menonaktifkan fitur SSH auto start ini menggunakan perintah ini:

sudo systemctl lumpuhkan ssh

Perintah ini harus ditaip pada papan kekunci yang disambungkan ke pi tentu saja.

PuTTY adalah program terminal yang diperlukan untuk mengeluarkan arahan dari PC ke pi sehingga anda harus mengambil salinan terbaru dari sini.

Pasang dan mulakan PuTTY. Anda perlu memasukkan alamat IP dari atas pada entri Nama Host dan menggunakan tetapan SSH lalai. Beri sesi apa sahaja nama yang anda mahukan dan tekan save. Kemudian tekan load dan klik OPEN untuk memulakan sesi.

Ia akan membawa anda ke skrin log masuk untuk pi. Gunakan nama pengguna dan kata laluan yang sama dengan yang anda gunakan sebelumnya.

Langkah 5: Pasang Pigpio

Sekarang, satu-satunya perkara yang perlu kita pasang selepas ini ialah perpustakaan pigpio dan kita boleh melakukan ini dengan menggunakan perintah berikut.

Petua: Anda hanya boleh menyalin [ctrl + c] dan menampal [klik kanan tetikus] ini dan arahan lain ke terminal PuTTY

sudo apt-get kemas kini

sudo apt-get install pigpio python-pigpio python3-pigpio

Langkah 6: Pilihan: Penyediaan Sistem Dev

Pilihan: Penyediaan Sistem Dev
Pilihan: Penyediaan Sistem Dev

Jadi inilah petua yang dapat membantu menjimatkan masa dalam dunia pengembangan kod anda. Kami sangat membenci penyunting teks berasaskan unix. Antaramuka pengguna biasanya kekok dan fon menyedut. GNU nano hampir tertahankan tetapi tidak ada yang halus seperti SublimeText yang boleh anda muat turun dari sini

Kami mempunyai persekitaran pembangunan berasaskan windows dan suka menggunakan editor teks ini bila boleh. Jadi petua di sini adalah dalam mengatur sistem anda agar dapat menggunakan penyunting teks profesional ini secara asli di desktop windows anda untuk membuat kod langsung pada kepala tanpa kepala anda.

Bagaimana? Menggunakan aplikasi percuma bernama WinSCP yang boleh anda muat turun dari sini

Langkah 7: Menyiapkan WinSCP

Menyiapkan WinSCP
Menyiapkan WinSCP
Menyiapkan WinSCP
Menyiapkan WinSCP

WinSCP adalah program pemindahan fail yang selamat yang memberikan gambaran grafik mengenai fail yang terdapat pada rpi anda seperti apa yang anda lihat dalam pengurus fail pada PC windows anda.

Oleh itu, teruskan dan pasangkan dua program di atas juga sekarang.

Seterusnya anda perlu membuat beberapa penyesuaian agar semuanya berfungsi dengan baik.

Untuk WinSCP, anda boleh mengklik Laman BARU. Kami akan menggunakan tetapan SFTP lalai dan anda hanya perlu memasukkan alamat IP (untuk nama Host) pi anda dan nama log masuk (untuk nama Pengguna). Anda boleh memilih untuk membiarkan kata laluan kosong jika anda mahu - ia akan meminta kata laluan setiap kali anda log masuk.

Seterusnya, klik butang Advanced dan kemudian klik di sebelah kiri untuk tetapan Shell Alam Sekitar. Di sebelah kanan ubah "Default" tarik ke pilihan "sudo su -". Ini akan membolehkan perubahan ditulis ke pi anda tanpa kesalahan kebenaran semasa anda menekan save dari SublimeText.

Tetapkan SublimeText untuk menjadi Editor Lalai di WinSCP

Untuk melakukan ini, klik butang Alat pada skrin tetapan Masuk WinSCP di mana anda memulakan dialog NewSite. Dua tangkapan skrin menunjukkan bagaimana ini dikonfigurasi, tetapi pada dasarnya anda akan mengklik untuk mengkonfigurasi pilihan Editor dan Menambah Editor yang akan menjadi editor Luar. Anda kemudian boleh mencari fail.exe di mana editor ini berada di komputer anda.

Langkah 8: (w) mendapatkan Kod

(w) mendapatkan Kod
(w) mendapatkan Kod

Setelah selesai, teruskan dan log masuk dengan WinSCP dan dengan PuTTY.

Sekarang kita sudah bersedia untuk memulakan kod tinyLiDAR kami.

Buat direktori yang disebut tinyLiDAR di bawah direktori rumah / pi anda.

Anda boleh melakukan ini dengan melakukan klik kanan di sebelah kanan skrin WinSCP dan pilih Baru / Direktori.

Sekarang di terminal PuTTY anda boleh menaip

cd t

dan tekan tab untuk membiarkannya melengkapkan perintah anda secara automatik untuk sampai ke direktori tinyLiDAR.

Setelah di sini taipkan perkara berikut:

wget

untuk mendapatkan fail terus dari pelayan kami. Kami kemudian boleh membuka zipnya dengan menaip

unzip r

dan tekan tab untuk melengkapkan nama semula secara automatik

Untuk menjalankannya, taip sahaja

python tlgui.py

Dan tinyLiDAR anda akan bertindak balas terhadap setiap perintah anda pada pi:)

Langkah 9: Catatan untuk Penggodam yang Akan Datang

Teruskan dan lihat di bawah tudung dengan mengklik dua kali pada mana-mana fail kod dari WinSCP. Merekalah yang mempunyai sambungan.py. Fail-fail tersebut akan dibuka dalam SublimeText secara langsung di PC anda. Tukar apa sahaja yang anda suka dan tekan save. Perubahan anda akan disimpan terus ke pi anda.

Setelah siap, anda jalankan sekali lagi dengan menggunakan kekunci anak panah ke atas untuk arahan yang terakhir diketik atau ketik sekali lagi dan tekan enter:

python tlgui.py

Anda mungkin menyedari susun atur Terminal GUI kelihatan sedikit lebih baik daripada versi Arduino. Ini kerana PuTTY menyokong watak unicode, jadi kami dapat menggunakan beberapa watak kawalan kursor tambahan untuk membuatnya kelihatan lebih halus.

Terdapat juga perintah tambahan di sini (dibandingkan dengan versi Arduino) yang merupakan "dc" untuk fungsi Baca Berterusan. Cubalah dan lihat apa pendapat anda.

Itu sahaja!

Terima kasih kerana membaca dan menikmati penggodaman pada pi:)

Disyorkan: