Daftar Isi:

Raspberry Pi HomeLab dan Who Is Home: 11 Langkah
Raspberry Pi HomeLab dan Who Is Home: 11 Langkah

Video: Raspberry Pi HomeLab dan Who Is Home: 11 Langkah

Video: Raspberry Pi HomeLab dan Who Is Home: 11 Langkah
Video: Как получить доступ к домашней сети из Интернета с помощью Raspberry Pi и Zerotier 2024, Juli
Anonim
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home
Raspberry Pi HomeLab dan Who Is Home

Ini adalah pertama saya yang tidak bisa dihancurkan, Tapi instruksi ini memiliki dua gangguan.

faze one: sedang menyiapkan pi untuk bekerja sebagai home-lab untuk pekerjaan IoT untuk tim pengembang siswa.

faze dua: menggunakan sistem untuk pengembangan, dengan menerapkan demonstrasi menggunakan proyek who is home kami.

pada akhir ini Anda akan memiliki pi tanpa kepala yang dapat diakses dari jarak jauh yang dapat digunakan oleh orang-orang untuk memprogram dan bekerja dari jarak jauh pada perangkat IOT.

sekarang saya memperingatkan, bahwa dengan membuka pi Anda ke publik tanpa keamanan karena Anda membuka diri terhadap risiko jaringan rumah Anda diserang.

kami akan membahas gangguan pertama dalam langkah-langkah berikut, tetapi ini adalah tautan ke beberapa informasi tentang klub kami dan proyek siapa yang menjadi tuan rumah.

github.com/ValenciaRobotics/embeddedclub

Rumah Siapa?

proyek rumah Who Is melakukan hal berikut: menjalankan skrip python yang memeriksa alamat mac perangkat yang terhubung ke jaringan Anda. ia menggunakan Nmap untuk ini. itu menjalankan alamat-alamat itu terhadap daftar alamat dan jika alamat yang terdaftar ada, ia mengirimkan char ke Arduino dengan menggunakan komunikasi serial. arduino mengontrol strip LED dan ketika menerima char itu memiliki warna terkait untuk perangkat itu dan menyalakan LED untuk orang itu berdasarkan kehadirannya.

subsitus divisi kami

sites.google.com/view/valencia-robotics

sites.google.com/view/valencia-robotics/cl…

situs klub kami

sites.google.com/view/valenciatechclub

Script Python disediakan oleh: Jonathan De La Cruz

www.linkedin.com/in/jonathandelacruz96/

Arduino Script dan walk through serta setup home lab dilakukan oleh: Dylan Poll

www.linkedin.com/in/dylan-poll-4a324a1a2/

Saya Dylan Poll, saya adalah presiden klub teknologi perguruan tinggi kami saat ini dan saya juga memimpin sistem tertanam.

Perlengkapan

sebuah pi

arduino

Papan tempat memotong roti

kabel jumper

Sebuah kamera web

Strip LED RGB yang dapat dialamatkan secara individual

catu daya untuk pi Anda, keyboard, mouse, komputer untuk melakukan pengaturan awal.

Langkah 1: Mengunduh dan Menginstal File Pengaturan Awal

unduh dan instal dempul (windows)

www.putty.org

unduh rufus dan instal

rufus.ie

unduh raspbian full buster dan perangkat lunak yang direkomendasikan (.zip)

www.raspberrypi.org/downloads/raspbian/

ekstrak konten dalam.zip ini akan menjadi [file gambar] Anda.

ambil kartu micro sd, dan gunakan dock atau microsd ke perangkat usb dan colokkan ke komputer Anda format kartu sd Anda

Langkah 2: Bagian Kedua: Instal Raspbian Menggunakan Rufus

bagian Kedua: Instal Raspbian Menggunakan Rufus
bagian Kedua: Instal Raspbian Menggunakan Rufus

jalankan rufus pilih kartu sd Anda di bidang pertama pilih file gambar raspbian untuk.iso/.img pilih mulai dan tunggu sampai selesai.

Langkah 3: bagian Tiga: Memasukkan Pi

setelah selesai cabut sd card, masukkan ke slot sd card di pi, nya di bagian "bawah" colok kabel HDMI ke pi dulu, baru keyboard dan mouse, dan terakhir kabel power. jika Anda mencolokkan daya terlebih dahulu, monitor/tv Anda mungkin tidak terdaftar.

Langkah 4: bagian Empat: Menyiapkan Akun Anda

log in ke pi !lakukan setup run pertama! jangan lewatkan! pilih keyboard bahasa Inggris USA atau Anda tidak akan menemukan simbol @ Anda nanti… jika Anda tidak menemukan simbol @ Anda adalah di mana " Anda berada. masuk ke wifi Anda di pi jangan perbarui dulu. Saya punya alasan. tekan tombol "keyboard windows " dan buka preferensi, buka konfigurasi pi. buka tab antarmuka.

aktifkan VNC…. dan segala sesuatu yang lain tidak reboot.

Langkah 5: Bagian Lima: Menyiapkan Pi Anda Sebagai Tanpa Kepala (Hal Terbaik Yang Pernah Ada)

bagian Lima: Menyiapkan Pi Anda Sebagai Tanpa Kepala (Hal Terbaik Yang Pernah Ada)
bagian Lima: Menyiapkan Pi Anda Sebagai Tanpa Kepala (Hal Terbaik Yang Pernah Ada)

lihat di kanan atas layar Anda. Anda akan melihat logo VNC hitam dan biru. buka itu. tekan masuk, buat dan akun. tambahkan pi. di desktop/laptop Anda, buka browser, cari di google VNC viewer, unduh, instal. masuk ke akun Anda. periksa email Anda untuk login dan otorisasi diri Anda sendiri. sambungkan ke pi Anda (ketik kata sandi pi di menu login kedua) jika berhasil matikan pi Anda. cabut pi Anda dan semuanya. letakkan pi di sudut kamar Anda dan jalankan hanya kabel daya ke sana. Anda dapat terhubung ke pi menggunakan VNC viewer. Anda sekarang memiliki pi "tanpa kepala". Anda juga dapat SSH untuk itu. (lihat info SSH di bagian hal-hal keren)

Langkah 6: bagian Enam: Menginstal Semua Alat Inti untuk Berkembang di Pi

bagian Enam: Menginstal Semua Alat Inti untuk Berkembang di Pi
bagian Enam: Menginstal Semua Alat Inti untuk Berkembang di Pi

menggunakan SSH atau VNC (atau jika Anda memutuskan untuk tidak keren dan mengaturnya tanpa kepala) lakukan hal berikut. buka terminal (bagian selanjutnya ini mungkin memakan waktu….) jalankan perintah ini satu per satu setelah masing-masing SELESAI.

sudo apt-get update; sudo apt-get upgrade menginstal ffmpeg{ Sudo apt-get install ffmpeg

Langkah 7: Bagian Tujuh: Menginstal Adafruit WebIDE

bagian Tujuh: Menginstal Adafruit WebIDE
bagian Tujuh: Menginstal Adafruit WebIDE

curl https://raw.githubusercontent.com/adafruit/Adafruit-WebIDE/master/scripts/install.sh | sudo sh buka browser di desktop utama Anda. arahkan URL browser Anda ke "https://***.*.*.***:8080" ganti "*" dengan alamat IP lokal Pi Anda. buat username dan pass. Anda sekarang memiliki setup webIDE adafruit.

Langkah 8: bagian Delapan: Perbarui Node-red dan Node.js

update-nodejs-and-nodered kode selanjutnya akan membuat nodered berjalan saat startup seperti halnya adafruit webIDE, ini penting jika Anda ingin mengembangkan hal-hal tersebut. sudo systemctl aktifkan nodered.service restart Pi

Langkah 9: Bagian Sembilan: Menginstal Arduino IDE

bagian Sembilan: Memasang Arduino IDE
bagian Sembilan: Memasang Arduino IDE

anda dapat melakukannya melalui baris perintah tapi …. itu tidak akan menjadi versi lengkap.. artinya Anda tidak dapat menggunakan alat impor/pencarian perpustakaan, untuk menginstal versi lengkap Anda harus pergi ke situs web arduino dan mengunduh versi untuk model pi Anda. itu akan menjadi ARM32bit untuk pi3, dapatkan rilis stabil. buka terminal. (ganti * dengan info rilis) jalankan perintah ini.

www.arduino.cc/en/Main/Software

cd Downloads/ tar -xf arduino-1.*.*-linuxarm.tar.xz sudo mv arduino-1.*.* /opt sudo /opt/arduino-1.*.*/install.sh

Langkah 10: Bagian Sepuluh: Ffmpeg

Bagian Sepuluh: Ffmpeg
Bagian Sepuluh: Ffmpeg

1x webcam logitech

(item berikutnya tidak termasuk apa yang Anda butuhkan untuk menjalankan aliran 24/7) 1x papan tempat memotong roti model raspberry pi kedua 3 b (dengan kartu sd) strip LED yang dapat dialamatkan secara individual. kabel jumper nano arduino mengaktifkan penampil VNC di kedua Pi

pi preferensi, aktifkan vnc buat akun dengan penampil VNC PENTING: pada pi yang Anda rencanakan untuk digunakan sebagai bangku kerja umum, buka pengaturan server vnc, opsi, tab ahli, dan buat batas waktu idle: 0 detik, disetel untuk menutup Vnc penampil jika menganggur setelah satu jam, melakukan ini akan menghentikan jendela Anda dari menutup aliran tengah menginstal vnc viewer pada streamer pi di terminal.

sudo apt-get install vnc-java y

pasang webcam Anda dan..instal webcam Anda.

sudo apt install fswebcam

instal ffmpeg sudo apt-get install ffmpeg y

di sinilah pilihan Anda sendiri ikut bermain. di terminal, jalankan skrip ini untuk membuka jendela di desktop streamer pi untuk webcam Anda.

ffplay -window_title "pi-cam" /dev/video0 -video_size 1920x1080 -vf crop=400:500:300:50 -framerate 20 ffplay akan memungkinkan Anda untuk melihat ini di jendela bernama pi-cam, webcam yang menunjukkan Anda di lokasi dev/video0 dan ukuran aslinya adalah 1920x1080. Saya hanya ingin melihat crop=width:height:topleft_X:topleft_Y dan framerate 20 sudah cukup bagi saya. kode berikutnya akan mengalir ke kedutan.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $DISPLAY -f alsa -vf scale=1280x720 -c:v h264 -g 24 -b:v 2M -preset ultrafast -c:a aac -pix_fmt yuv420p -f flv " rtmp://live-lax.twitch.tv/app/(masukkan kunci aliran Anda di sini)"

-f x11grab digunakan untuk mengambil layar Anda. resolusi layar saya diatur ke 1280x1024 Saya ingin menampilkannya dalam format video 1280x720 jadi -vf.

2m= kecepatan unggah 2mgb. -f flv adalah untuk memformat video menjadi.flv sehingga twitch dapat menggunakannya.

sekarang Anda dapat memberikan kredensial VNC kepada tim Anda ke meja kerja Pi dan mereka dapat melihat perubahan pada strip yang dipimpin secara langsung dari jarak jauh. Teriak untuk orang ini~! videonya membantu saya mendapatkan jalur, saya masih harus mencari cara untuk memunculkan webcam saya … dan mencari tahu tentang ffmpeg X/

Arthur Reeder https://www.youtube.com/embed/kb_5_9GkwZc CATATAN: Saya bukan orang yang paling tahu, ini hanya berfungsi untuk kebutuhan saya, jika ada yang punya saran membangun saya akan senang mendengarnya tapi tolong jangan berarti salah satu rute yang mungkin untuk mengambil ini lebih jauh, akan menggunakan mekanik ini untuk melakukan streaming ini, dan menggunakan pi lain dan ekstensi chrome lightstream untuk mengambil aliran itu dan kemudian memasukkan webcam ke dalamnya atau dengan cara lain. https://www.youtube.com/embed/kb_5_9GkwZc JUGA: jika Anda ingin menambahkan audio, seperti yang terlihat di video youtube mans, Anda dapat menggunakan string ini, saya tidak ingin rumah saya direkam dan dikirim ke kedutan, ini duduk di kamar saya jadi saya tidak mengalirkan audio apa pun, itu juga membantu mengurangi beban pada pi.

ffmpeg -f x11grab -video_size 1280x1024 -framerate 24 -i $DISPLAY -f alsa -i default -af acompressor=threshold=0.089:ratio=9:attack=200:release=1000 -vf scale=1280x720 -c:v h264 - g 24 -b:v 2M -preset ultrafast -c:a aac -pix_fmt yuv420p -f flv "rtmp://live-lax.twitch.tv/app/(insertyourstreamkeyhere)"

Langkah 11:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

sekarang ke tahap terakhir, mengimplementasikan komunikasi serial arduino dan pi dengan python.

--- proyek who is home --- Proyek ini menggunakan skrip python yang menjalankan nmap di terminal, menyalin isinya, mem-parsing teks yang tidak kita perlukan, dan membandingkan alamat mac di jaringan dengan yang terdaftar alamat mac dan jika ada kecocokan orang itu ada di rumah. alamat mac ditemukan dengan melakukan pekerjaan investigasi pada router, tetapi alat nmap memberi Anda informasi tentang perangkat dalam file teks yang dihasilkan oleh kode. jika pengguna hadir, ia mengirim karakter ke arduino, dan arduino menunggu hingga daftar periksa selesai, dan menyalakan LED yang sesuai dengan profil yang terdaftar untuk alamat mac perangkat yang ada. Anda dapat menambahkan hal-hal lain, seperti membuat bot perselisihan menjalankan perintah pada orang yang datang atau pergi dengan kode yang sama ini dengan menggunakan operator sub-proses untuk menjalankan perintah terminal dalam skrip python Anda. jadi pertama kita install nmap sudo apt-get install nmap. selanjutnya Anda akan ingin mengunduh file di klub kami Git-Hub.

github.com/ValenciaRobotics/embeddedclub

untuk kode python, instalasi raspbian dilengkapi dengan semua yang digunakan dalam kode ini, jadi Anda tidak perlu menginstal tambahan apa pun. kami menggunakan impor ulang, impor subproses, waktu impor, impor serial penting untuk dicatat bahwa python menggunakan lekukan untuk memisahkan blok kode, jadi perhatikan bahwa jika Anda memutuskan untuk mengubah cara kode ditulis:) py datang dengan thonny ide dan beberapa opsi lainnya, saya menemukan bahwa menjalankan skrip di thonny sangat mudah, jika Anda mengklik file dan mencoba menjalankannya, itu menyarankan atau menganggap thonny adalah apa yang ingin Anda gunakan. sebelum Anda menjalankan program, Anda perlu mengedit yang berikut ini. baris 14: simbol * digunakan untuk menutupi informasi router saya sendiri, Anda harus menggantinya dengan ip lokal Anda sendiri. itu akan sama dengan apa yang Anda gunakan untuk terhubung ke router Anda. baris 28, 38, 48, 58: ini semua menggunakan simbol * untuk menutupi alamat mac perangkat yang terdaftar dari jaringan saya, Anda harus mengubahnya ke alamat mac perangkat di jaringan Anda sendiri untuk mendeteksi koneksi. mengapa alamat mac? karena tanpa memesan lokasi untuk perangkat Anda, mereka pasti akan tetap sama kecuali seseorang melakukan spoofing. masalah dengan kode ini, itu hanya akan mendeteksi saat koneksi aktif menggunakan internet, sehingga mungkin tidak terdeteksi meskipun ada pengguna. dalam kode arduino, Anda ingin mengubah yang berikut ini. pertama, Anda akan ingin pergi ke tab alat, pilih pengelola perpustakaan, dan cari "fastLED" dan instal perpustakaan untuk "fastLED". selanjutnya Anda perlu memuat kode.ino "who is home" dari halaman github dan ubah yang berikut ini sesuai keinginan Anda. baris 86: ubah warna berdasarkan apa yang Anda inginkan agar dilampirkan oleh pengguna Anda:)

//nyalakan yang kamu butuhkan

if(d == 1){ leds[0] = 0xdd8bff; // led ungu[1] = 0xdd8bff;}

if(l == 1){ led [2] = CRGB::Hijau; leds[3] = CRGB::Hijau;}

if(k == 1){ leds[4] = CRGB::Merah; leds[5] = CRGB::Merah; }

if(j == 1){ leds[6] = CRGB::Blue; led[7] = CRGB::Biru;}

FastLED.show(); penundaan (30000); //10 detik tunggu di switch case penjelasan singkat tentang cara menambahkan lebih banyak pengguna adalah sebagai berikut

lingkaran kosong(){

if (Serial.available() > 0) {

Serial.println();

orang = Serial.read();

penundaan (1000);

beralih (orang){

kasus'D': d = 1;

orang = 'F';

hitung=hitung+1;

merusak;

kasus':

d = 0;

orang = 'F';

hitung=hitung+1;

merusak;

huruf besar D adalah karakter yang diterima dari skrip python, sehingga tahu bahwa pengguna hadir karena huruf yang diterima adalah huruf besar D, sehingga mengubah nilai INTEGER d menjadi 1, jika itu adalah huruf kecil daripada yang diketahuinya tidak ada maka INTEGER diset ke 0. syarat untuk penerangan led pada script dari sebelumnya menggunakan pernyataan bahwa JIKA d adalah 1 maka akan menyalakan led tersebut, namun jika tidak maka led tetap “hitam” artinya tidak menyala. kode ini menggunakan perpustakaan "fastLED" dan ada banyak dokumentasi tentang ini. perhatikan bahwa jika Anda mengubah karakter, menambahkan karakter, atau menghapus karakter, Anda harus mengubah skrip python untuk mengembalikan yang Anda ubah juga, Anda juga harus mengubah kondisi di loop kosong. if(count == 4){holdup();} } hitungan harus mencerminkan jumlah perangkat yang Anda "lacak". dalam kasus saya ini adalah 4, jadi menunggu hingga 4 perangkat dinyatakan ada atau tidak ada dan kemudian memperbarui strip LED. dalam kode python, baris 31, 34, 41, 44, 51, 54, 61, 64 memiliki baris berikut ser.write(b'*') #sends character cast as byte over serial dimana * adalah karakternya mengirim ke arduino. ubah ini jika Anda mengubah kode di arduino atau sebaliknya:)

Sekali lagi, sebagai pernyataan penutup, saya ingin memberikan penghargaan kepada rekan setim saya Jon, dia melakukan pekerjaan yang baik dalam mengambil kelonggaran ketika kami membutuhkannya.

Script Python disediakan oleh: Jonathan De La Cruzhttps://www.linkedin.com/in/jonathandelacruz96/

Arduino Script dan walk through serta setup home lab dilakukan oleh: Dylan Poll

www.linkedin.com/in/dylan-poll-4a324a1a2/

Semoga kami memenangkan setidaknya satu t-shirt! Saya akan memperbarui ini dengan perintah shell untuk mengunduh dan menginstal sebagian besar dari ini secara otomatis, situs web klub kami sebenarnya memiliki skrip shell yang dapat diunduh untuk melakukan operasi ffmpeg.

Proyek ini memakan banyak waktu, saya mendirikan divisi klub ini dari bawah ke atas sehingga saya dapat dengan bangga mengatakan momen ini memberi saya banyak kegembiraan.:) terima kasih atas waktu Anda, kami memiliki platform kerja untuk dikembangkan sekarang di klub saya karena proyek ini.

Direkomendasikan: