Daftar Isi:

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?

Halo lagi!

Nah sekarang setelah Anda menghabiskan waktu berkualitas dengan tinyLiDAR dan Arduino Anda - Raspberry Pi Anda mungkin merasa sedikit kesepian;)

Pi memiliki port I2C kan? Jadi mengapa tidak menghubungkannya dan mencobanya di sana?! Rencana yang bagus, tetapi jika Anda sudah mencoba - Anda mungkin memperhatikan bahwa datanya terlihat agak aneh.

Ya, pi sudah memiliki pull-up 1,8K sehingga Anda harus memotong bantalan I2C pada tinyLiDAR untuk mengeluarkan pull-up 4,7K dari sirkuit - lihat manual referensi untuk detailnya. Tapi ini bukan alasan untuk data yang aneh.

Itu karena bus I2C pi tidak sesuai dengan spesifikasi. Sudah seperti ini sejak pi pertama kali diperkenalkan karena set chip Broadcom. Sejak awal mereka belum mendukung fitur I2C yang disebut "peregangan jam".

Anda dapat membaca lebih lanjut tentang bug h/w ini di sini.

Langkah 1: Apa itu Peregangan Jam?

Apa itu Peregangan Jam?
Apa itu Peregangan Jam?

Seperti yang Anda ketahui, bus I2C terdiri dari 3 kabel. Ini adalah untuk jam (SCL), data (SDA) dan kesamaan. Jam dan jalur data adalah tipe open-collector/open-drain yang berarti mereka membutuhkan resistor pull-up yang terhubung ke rel suplai positif untuk memberi mereka logika tinggi. Untuk mendapatkan logika rendah, perangkat apa pun di bus dapat menarik saluran ke kesamaan.

Sesuai standar I2C, perangkat Master adalah perangkat yang memasok sinyal clock pada jalur SCL tetapi jika kecepatan ini terlalu cepat maka perangkat Slave diizinkan untuk memperlambatnya hanya dengan menahan jalur jam hingga siap untuk menangani. dengan informasi. Inilah yang kami sebut "peregangan jam".

Secara resmi, peregangan jam terdaftar sebagai fitur opsional dalam standar I2C tetapi ini adalah fitur yang sangat umum yang diperlukan untuk sebagian besar budak "cerdas" yang memerlukan waktu ekstra untuk menyediakan data sensor, dll.

Langkah 2: Sedikit Bantuan Dari Babi Yang Terbang

Untuk mengatasi bug h/w I2C ini, kami menemukan perpustakaan gratis kecil yang bagus yang disebut "pigpio". Ini adalah perpustakaan yang sangat populer, cepat dan ringan yang ditulis dalam C. Ini berjalan sebagai daemon latar belakang untuk Raspberry Pi dan memungkinkan kita untuk mengontrol I2C serta GPIO dengan mudah dari python. Perpustakaan memperlakukan port I2C lebih seperti GPIO dan dengan demikian telah melewati bug peregangan jam I2C. Seperti semua perangkat lunak di pi, perpustakaan pigpio hanya "menyertakan" sederhana, jadi ayo pergi!

Langkah 3: Versi TL;DR

Siapkan PiEnable SSH untuk masuk dengan Pustaka pigpio PuttyInstallDapatkan file zip tinyLiDARUnzip dan jalankan dari Putty

Opsional:

Siapkan SublimeText dengan WinSCP

Langkah 4: Instalasi

Instalasi
Instalasi

Untuk Raspberry Pi 3 kami, kami menggunakan sistem operasi standar New Out Of the Box Software (NOOBS Lite v2.4). Ini berisi versi default Python yang sudah diinstal untuk kami yang siap untuk dikodekan. Anda dapat mengunduh OS dari sini.

Setelah diinstal pada kartu micro SD, Anda harus menghubungkan keyboard dan monitor sehingga Anda dapat masuk ke pi untuk pertama kalinya:

Nama pengguna: pi Kata sandi: raspberry

Kemudian Anda dapat memulai server shell aman (SSH) dengan perintah ini:

sudo systemctl aktifkan sshsudo systemctl start ssh

Selanjutnya kita akan membutuhkan alamat IP dari pi di jaringan Anda sehingga kita bisa login dengan Putty. Untuk mendapatkan ini, cukup ketik:

nama host -I

Dan cari alamat format IPv4 (Untuk pengaturan kami adalah: 192.168.0.27)

Langkah-langkah di atas akan memungkinkan pi untuk menjalankan "headless" yang berarti Anda tidak perlu mengetik di keyboard ini lagi dan juga tidak perlu monitor video lagi. Kami akan masuk melalui jaringan melalui koneksi SSH yang aman ke depannya. Perintah di atas menyebabkan server SSH diluncurkan secara otomatis setiap kali pi dinyalakan. Ini nyaman bagi kami saat kami mengkode tetapi bisa menjadi risiko keamanan nanti (menjadi paranoid itu baik) jadi ketika Anda siap, Anda dapat menonaktifkan fitur SSH mulai otomatis ini menggunakan perintah ini:

sudo systemctl nonaktifkan ssh

Perintah ini harus diketik di keyboard yang terhubung ke pi tentunya.

Putty adalah program terminal yang diperlukan untuk mengeluarkan perintah dari PC ke pi sehingga Anda harus mengambil salinan terbaru dari sini.

Instal dan mulai Putty. Anda harus mengetikkan alamat IP dari atas pada entri Nama Host dan menggunakan pengaturan SSH default. Beri nama sesi yang Anda inginkan dan tekan simpan. Kemudian tekan muat dan klik BUKA untuk memulai sesi.

Ini akan membawa Anda ke layar login untuk pi. Gunakan nama pengguna dan kata sandi yang sama dengan yang Anda gunakan sebelumnya.

Langkah 5: Instal Pigpio

Sekarang, satu-satunya hal yang perlu kita instal setelah ini adalah perpustakaan pigpio dan kita dapat melakukannya dengan menggunakan perintah berikut.

Tip: Anda cukup menyalin [ctrl+c] dan menempelkan [klik kanan mouse] ini dan perintah lainnya ke terminal Putty

sudo apt-get update

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

Langkah 6: Opsional: Pengaturan Sistem Dev

Opsional: Pengaturan Sistem Dev
Opsional: Pengaturan Sistem Dev

Jadi, inilah tip yang dapat membantu menghemat waktu di dunia pengembangan kode Anda. Kami sangat membenci editor teks berbasis unix. Antarmuka pengguna biasanya canggung dan fontnya payah. GNU nano hampir dapat ditanggung tetapi tidak ada yang sehalus SublimeText yang dapat Anda unduh dari sini

Kami memiliki lingkungan pengembangan berbasis windows dan senang menggunakan editor teks ini bila memungkinkan. Jadi tipnya di sini adalah dalam menyiapkan sistem Anda untuk dapat menggunakan editor teks profesional ini secara asli di desktop windows Anda untuk langsung mengkodekan pi tanpa kepala Anda.

Bagaimana? Menggunakan aplikasi gratis bernama WinSCP yang dapat Anda unduh dari sini

Langkah 7: Menyiapkan WinSCP

Menyiapkan WinSCP
Menyiapkan WinSCP
Menyiapkan WinSCP
Menyiapkan WinSCP

WinSCP adalah program transfer file aman yang memberikan representasi grafis dari file yang ada di rpi Anda seperti apa yang Anda lihat di pengelola file di PC windows Anda.

Jadi lanjutkan dan instal kedua program di atas juga sekarang.

Selanjutnya Anda harus melakukan beberapa penyesuaian agar semuanya berfungsi dengan baik.

Untuk WinSCP, Anda dapat mengklik Situs BARU. Kami akan menggunakan pengaturan SFTP default dan Anda hanya perlu memasukkan alamat IP (untuk nama Host) pi Anda dan nama login (untuk Nama pengguna). Anda dapat memilih untuk membiarkan kata sandi kosong jika Anda mau - ini akan meminta kata sandi setiap kali Anda masuk.

Selanjutnya, klik tombol Advanced dan kemudian klik di sisi kiri untuk pengaturan Environment Shell. Di sisi kanan ubah tarik "Default" ke opsi "Sudo su -". Ini akan memungkinkan perubahan ditulis ke pi Anda tanpa kesalahan izin saat Anda menekan simpan dari SublimeText.

Setel SublimeText menjadi Editor Default di WinSCP

Untuk melakukan ini, klik tombol Alat pada layar pengaturan Login WinSCP di mana Anda memulai dialog NewSite Anda. Dua tangkapan layar menunjukkan bagaimana ini dikonfigurasi, tetapi pada dasarnya Anda akan mengklik untuk mengonfigurasi preferensi Editor dan Tambahkan Editor yang akan menjadi editor Eksternal. Anda kemudian dapat menelusuri file.exe di mana editor ini berada di komputer Anda.

Langkah 8: (w)mendapatkan Kode

(w) mendapatkan Kode
(w) mendapatkan Kode

Setelah selesai, lanjutkan dan login dengan WinSCP dan dengan Putty.

Sekarang kita sudah siap, kita bisa memulai kode tinyLiDAR kita.

Buat direktori bernama tinyLiDAR di bawah direktori home/pi Anda.

Anda dapat melakukan ini dengan melakukan klik kanan di sisi kanan layar WinSCP dan pilih New / Directory.

Sekarang di terminal Putty Anda dapat mengetik

cd t

dan tekan tab untuk membiarkannya melengkapi perintah Anda secara otomatis untuk masuk ke direktori tinyLiDAR.

Setelah di sini ketik berikut ini:

wget

untuk mendapatkan file langsung dari server kami. Kami kemudian dapat membuka ritsletingnya dengan mengetik

buka ritsleting r

dan tekan tab untuk melengkapi nama secara otomatis lagi

Untuk menjalankannya, cukup ketik

python tlgui.py

Dan tinyLiDAR Anda akan merespons setiap perintah Anda di pi:)

Langkah 9:Catatan untuk Calon Peretas

Silakan dan lihat di bawah tenda dengan mengklik dua kali pada salah satu file kode dari WinSCP. Mereka adalah orang-orang dengan ekstensi.py. File akan terbuka di SublimeText langsung di PC Anda. Ubah apa pun yang Anda suka lalu tekan simpan. Perubahan Anda akan disimpan langsung ke pi Anda.

Saat siap, Anda menjalankannya lagi dengan menggunakan tombol panah atas untuk perintah yang terakhir diketik atau cukup ketik lagi dan tekan enter:

python tlgui.py

Anda mungkin telah memperhatikan tata letak GUI Terminal terlihat sedikit lebih bagus daripada versi Arduino. Itu karena Putty mendukung karakter unicode, jadi kami dapat menggunakan beberapa karakter kontrol kursor tambahan agar terlihat lebih halus.

Ada juga perintah tambahan di sini (dibandingkan dengan versi Arduino) yaitu "dc" untuk fungsi Continuous Read. Cobalah dan lihat apa yang Anda pikirkan.

Itu saja!

Terima kasih telah membaca dan menikmati meretas pi:)

Direkomendasikan: