Daftar Isi:
- Langkah 1: Apa itu Peregangan Jam?
- Langkah 2: Sedikit Bantuan Dari Babi Yang Terbang
- Langkah 3: Versi TL;DR
- Langkah 4: Instalasi
- Langkah 5: Instal Pigpio
- Langkah 6: Opsional: Pengaturan Sistem Dev
- Langkah 7: Menyiapkan WinSCP
- Langkah 8: (w)mendapatkan Kode
- Langkah 9:Catatan untuk Calon Peretas
Video: TinyLiDAR pada Pi?: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
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?
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
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
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
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
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:
Sensor Suhu & Daging BBQ pada ESP8266 Dengan Tampilan: 5 Langkah (dengan Gambar)
Sensor Suhu & Daging BBQ di ESP8266 Dengan Tampilan: Dalam Instruksi ini saya akan menunjukkan cara membuat alat BBQ versi Anda sendiri yang mengukur suhu saat ini di barbekyu Anda dan menyalakan kipas untuk menyalakannya jika diperlukan. Selain itu ada juga serangan sensor suhu inti daging
Ambilight DIY Dengan Raspberry Pi dan TANPA Arduino! Bekerja pada Sumber HDMI Apa Pun.: 17 Langkah (dengan Gambar)
Ambilight DIY Dengan Raspberry Pi dan TANPA Arduino! Bekerja pada Sumber HDMI Apa Pun.: Saya memiliki pemahaman yang agak mendasar tentang elektronik, itulah sebabnya saya sangat bangga dengan pengaturan Ambilight DIY saya dalam wadah kayu dasar dengan kemampuan untuk menyalakan dan mematikan lampu sesuai keinginan. Bagi mereka yang tidak tahu apa itu Ambilight;
Grafik pada Layar SSD1306 I2C OLED 128x64 Dengan CircuitPython Menggunakan Itsybitsy M4 Express: 13 Langkah (dengan Gambar)
Grafik pada Layar SSD1306 I2C OLED 128x64 Dengan CircuitPython Menggunakan Itsybitsy M4 Express: Layar OLED SSD1306 berukuran kecil (0,96"), murah, tersedia secara luas, I2C, tampilan grafis monokrom dengan 128x64 piksel, yang mudah dihubungkan (hanya 4 kabel) ke papan pengembangan mikroprosesor seperti Raspberry Pi, Arduino atau
Memutar Lagu (MP3) Dengan Arduino Menggunakan PWM pada Speaker atau Flyback Transformer: 6 Langkah (dengan Gambar)
Memutar Lagu (MP3) Dengan Arduino Menggunakan PWM di Speaker atau Flyback Transformer: Halo Guys, Ini adalah instruksi pertama saya, saya harap Anda menyukainya!! Pada dasarnya, Dalam Proyek ini saya telah menggunakan Komunikasi Serial antara Arduino dan Laptop saya, untuk mengirimkan data musik dari laptop saya ke Arduino. Dan menggunakan TIMER Arduino untuk
Arduino Uno: Animasi Bitmap pada ILI9341 TFT Touchscreen Display Shield Dengan Visuino: 12 Langkah (dengan Gambar)
Arduino Uno: Animasi Bitmap pada ILI9341 TFT Touchscreen Display Shield Dengan Visuino: TFT Touchscreen Display Shields berbasis ILI9341 adalah Display Shields berbiaya rendah yang sangat populer untuk Arduino. Visuino telah memiliki dukungan untuk mereka cukup lama, tetapi saya tidak pernah memiliki kesempatan untuk menulis Tutorial tentang cara menggunakannya. Namun baru-baru ini hanya sedikit orang yang bertanya