Daftar Isi:

Pembuka Pintu Garasi Raspberry Pi 3: 15 Langkah (dengan Gambar)
Pembuka Pintu Garasi Raspberry Pi 3: 15 Langkah (dengan Gambar)

Video: Pembuka Pintu Garasi Raspberry Pi 3: 15 Langkah (dengan Gambar)

Video: Pembuka Pintu Garasi Raspberry Pi 3: 15 Langkah (dengan Gambar)
Video: Belajar Raspberry Pi untuk Project Internet of Things - PEMULA WAJIB TONTON 2024, Juli
Anonim
Pembuka Pintu Garasi Raspberry Pi 3
Pembuka Pintu Garasi Raspberry Pi 3

Saya membuat instruksi ini pada tahun 2014. Banyak yang telah berubah sejak saat itu. Pada tahun 2021, saya memperbarui Pembuka Pintu Garasi Cerdas di sini.

Gunakan Raspberry Pi dan smartphone untuk membuka, menutup, dan memantau pintu garasi. Membuka dan menutup pintu diamankan dengan menggunakan sertifikat yang ditandatangani sendiri yang dipasang di ponsel keluarga. Jika pintu garasi terbuka saat tidak seharusnya, maka kirim pesan teks (SMS) ke ponsel.

Pintu garasi telah digunakan terus menerus sejak akhir 2014. Selama bertahun-tahun, saya telah mencoba untuk terus memperbarui perubahan. Ada lampiran yang menjelaskan perubahan pada instruksi.

Tujuan dari proyek ini adalah untuk:

  • Jadikan instruksi pertama saya - saya tidak berencana memposting ini, tetapi saya telah menerima banyak permintaan
  • Buka pintu garasi dengan remote standar
  • Buka pintu garasi dengan pembuka garasi bel pintu yang terpasang di dinding
  • Buka pintu garasi dengan SmartPhone
  • Pantau status pintu garasi dari jarak jauh melalui ponsel atau laptop (terbuka atau tertutup?)
  • Kirim pesan teks ke ponsel saya jika pintu terbuka padahal seharusnya ditutup
  • Jaga agar pintu garasi tetap aman (misalnya, saat listrik mati, pintu tidak boleh terbuka)
  • Jangan izinkan orang lain di internet untuk membuka pintu (sertifikat SSL dua arah yang ditandatangani sendiri)
  • Gunakan WiFi alih-alih koneksi kabel
  • Gunakan Raspberry Pi 3

Dasar penerapan Pembuka Pintu Garasi ini berasal dari Instructable: Pembuka Pintu Garasi Raspberry Pi oleh quartarian. Awalnya saya menggunakan Raspberry Pi model B+, kemudian pindah ke Raspberry Pi 2 model B, dan sekarang menggunakan Raspberry Pi 3.

Saya menggunakan MacBook untuk berkomunikasi dengan Raspberry Pi, tetapi komputer mana pun dapat digunakan.

Tidak ada alasan kuat untuk membangun perangkat ini, tapi itu menyenangkan. Lebih hemat biaya untuk membeli satu. Perangkat serupa dapat dibeli dengan harga sekitar $130 USD.

  • Angkat master 828LM
  • Chamberlain MyQ $129
  • Gerbang GoGo $179
  • Pengrajin $100

Catatan:

  • Teks yang diapit dengan sekop, seperti ini ganti-ini♣ harus diganti dengan nilai sebenarnya
  • Arduino menggarisbawahi teks biru adalah link. Dalam hal ini, ini adalah tautan ke versi arduino dari pembuka pintu garasi.
  • Saya telah mencoba untuk mengkredit setiap sumber yang digunakan. Mohon maaf atas segala kekurangan. Sebagian besar dokumen ini didasarkan pada karya orang lain.
  • $ menunjukkan perintah yang dieksekusi di jendela terminal di MacBook dan biasanya dieksekusi di Raspberry Pi

Langkah 1: Kumpulkan Bagian

Beli atau kumpulkan suku cadang dan alat (harga dalam USD).

  • Raspberry Pi 3 Model B Newark Element14 $35
  • 5.2V 2.5A USB Power Adapter dari Amazon $9.99
  • Kabel Micro USB ke USB 6 kaki dari Amazon $7,99
  • Kasing dari Amazon $6,99
  • SanDisk Ultra 16 GB microSDHC Kelas 10 dengan Adaptor (SDSQUAN-016G-G4A) dari Amazon $8,99
  • SunFounder 2 Channel 5V Relay Shield Module untuk Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $6,79
  • 3x Kabel Jumper Wanita-Wanita. Dibeli di Fry seharga $4,95.
  • DNS Dinamis $40 per tahun untuk 30 nama (dyn.com)
  • 1-Geng 18 cu. in. Sakelar Dinding Berat dan Kotak Outlet Pekerjaan Lama, $3,12
  • Pelat Dinding Putih Ultra Pro Single Brush, $7.88
  • SECO-LARM SM 226L, Sensor Pintu Garasi, harga sangat bervariasi, $9,99 di Amazon dengan pengiriman gratis
  • 50 kaki kawat termostat padat, Home Depot atau Lowe, ~ $20

Total Saya: ~$172.00

Saya memiliki suku cadang, alat, dan layanan berikut:

  • Kabel Ethernet CAT5
  • Kawat pengukur kecil, panjang 6 kaki
  • obeng kepala phillips
  • Tang hidung jarum
  • Pemotong kotak
  • Pengemudi sekrup flathead perhiasan, diperlukan untuk melonggarkan sekrup pada relai
  • MacBook (PC dapat digunakan)
  • AT&T GigaPower (penyedia layanan internet apa pun dapat digunakan)

Langkah 2: Setup Raspberry Pi Tanpa Monitor atau Keyboard

Setup Raspberry Pi Tanpa Monitor atau Keyboard
Setup Raspberry Pi Tanpa Monitor atau Keyboard

Semua proyek Raspberry Pi memerlukan beberapa jenis pengaturan. Saya suka menggunakan set instruksi yang sama dan, bila perlu, memiliki satu tempat untuk memperbarui instruksi tersebut.

Setup Raspberry Pi menggunakan instruksi berikut:

Atur Raspberry Pi tanpa Monitor atau Keyboard

Instruksi di atas mencakup langkah-langkah opsional dalam lampiran. Pastikan untuk melakukan langkah:

Tambahkan sertifikat sisi klien ke server web

Matikan Raspberry Pi

$ sudo shutdown -h 0

Setelah dimatikan, hapus

  • kabel Ethernet
  • Kabel serial USB

Ini tidak akan dibutuhkan lagi. Gunakan wifi, ssh, dan jendela terminal di Mac Book untuk menjalankan perintah di Raspberry Pi.

Cabut daya dan colokkan kembali daya, dan raspberry pi harus reboot.

Langkah 3: Instal Wiring Pi, Apache dan PHP

Instal Kabel Pi

Buka jendela terminal di Mac Book. Masuk ke Raspberry Pi, lalu unduh, kompilasi, dan instal Wiring Pi. Perangkat lunak ini memungkinkan kontrol pin GPIO. Berikut adalah panduan langkah demi langkah:

wiringpi.com/download-and-install/

Berikut adalah versi ringkas dari instruksi:

$ ssh pi@♣raspberry-pi-ip♣

kata sandi: kata sandi♣ $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build

Jalankan perintah gpio untuk memeriksa instalasi:

$gpio -v

gpio versi: 2.29 Hak Cipta (c) 2012-2015 Gordon Henderson Ini adalah perangkat lunak gratis dengan BENAR-BENAR TANPA GARANSI. Untuk detail jenis: gpio -warranty Raspberry Pi Detail: Jenis: Model 2, Revisi: 1.1, Memori: 1024MB, Pembuat: Sony [OV] Pohon perangkat diaktifkan. Raspberry Pi ini mendukung akses GPIO tingkat pengguna. -> Lihat halaman manual untuk lebih jelasnya $ gpio readall +-----+-----+---------+------+---+---- Pi 2---+---+------+---------+-----+-----+ | BCM | wPi | Nama | Modus | V | Fisik | V | Modus | Nama | wPi | BCM | +-----+-----+---------+------+---+----++----+---+- -----+--------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | DI | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | DI | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | KELUAR | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | DI | 0 | 11 || 12 | 0 | DI | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | DI | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | DI | 0 | 15 || 16 | 1 | DI | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | DI | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | DI | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | DI | 0 | 21 || 22 | 0 | DI | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | DI | 0 | 23 || 24 | 1 | DI | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | DI | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | DI | 1 | 27 || 28 | 1 | DI | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | DI | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | DI | 1 | 31 || 32 | 0 | DI | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | DI | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | DI | 0 | 35 || 36 | 0 | DI | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | DI | 0 | 37 || 38 | 0 | DI | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | DI | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+- -----+---------+-----+-----+ | BCM | wPi | Nama | Modus | V | Fisik | V | Modus | Nama | wPi | BCM | +-----+-----+---------+------+---+---Pi 2---+---+--- ---+--------+-----+-----+

Perintah di atas akan memberi Anda keyakinan bahwa wiringPi berfungsi dengan baik.

Instal Apache dan PHP

Jalankan perintah berikut:

$cd..

$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5

Untuk memverifikasi server web berfungsi, buka browser, dan di kotak URL masukkan:

raspberry-pi-ip♣

Situs web default Apache merespons dengan "Berhasil!"

Langkah 4: Situs Web

Buka jendela terminal di Mac Book. Login ke Raspberry Pi, kemudian hapus file index.html default, ubah hak akses pada direktori website, dan edit file bernama index.php.

$ ssh pi@♣raspberry-pi-ip♣

kata sandi: kata sandi♣ $ sudo rm /var/www/index.html $ sudo chown pi:root /var/www $ sudo nano /var/www/index.php

Dan masukkan kode berikut:

Pembuka Garasi

Otomatisasi Rumah

<?php if ($switch == 1) { echo"

"; } lain { gema"

"; } ?>

Pembuka Pintu Garasi Panduan Pembuka Pintu Garasi tutup 1 buka 0
<?php if ($trigger == 0) { echo " <td colspan=\"4\" } else { echo"

var13 -->

CTRL-o dan ENTER untuk menulis file, dan CTRL-x untuk keluar dari editor.

Ubah izin pada file

$ sudo chmod 664 /var/www/index.php

Langkah 5: Gambar Situs Web

Gambar Situs Web
Gambar Situs Web
Gambar Situs Web
Gambar Situs Web

Ambil pembuka pintu garasi jarak jauh resolusi tinggi dari web. Ubah gambar seperti yang Anda inginkan menggunakan kuas cat Mac. Pada gambar di atas, Pembuka Garasi Genie resolusi tinggi digunakan, logo raspberry pi ditambahkan dan led dilepas.

Satu gambar adalah latar belakang (remote-background.jpg), dan yang lainnya adalah gambar aktif (remote-press.jpg).

Rencananya adalah dengan menekan tombol, alih-alih mengedipkan led, raspberry akan berkedip. Saya menyederhanakan situs web.

Salin gambar ke raspberry pi:

$scp *-j.webp

kata sandi: kata sandi♣

Situs web memiliki satu tombol tekan. Untuk memverifikasi, buka browser dan masukkan raspberry-pi-ip♣. Alih-alih situs web default Apache, yang mengatakan "Berhasil!", tombol tersebut akan muncul. Tekan itu.

Langkah 6: Kontrol Server Web dari Jarak Jauh

Untuk memudahkan dalam mengakses Pembuka Pintu Garasi dari lokasi yang jauh, saya menggunakan nama DNS dinamis. Karena saya tidak suka mengingat alamat IP.

Dengan fitur ini, saya memasukkan dynamic-hostname♣.getmyip.com di kolom URL browser. Catatan: IP pada router rumah dapat berubah tanpa pemberitahuan, tetapi ini jarang terjadi. Saya memilih untuk menggunakan DynDNS. Anda perlu mengetahui alamat IP publik router Anda.

U-Verse Router IP: uverse-public-ip♣

Anda dapat melihat nama host dan detail akun DynDNS Pro Anda. Berikut adalah beberapa tips untuk memulai:

  • Buat nama host DNS Dinamis Anda (1 dari 30):

    • nama host-dinamis♣
    • Kunci Pembaruan: kunci-ip-pembaru dinamis♣
  • Instal klien pembaruan untuk memastikan nama host Anda selalu diarahkan ke alamat IP yang benar.

    • Unduh dan instal di MacBook
    • AT&T U-verse IP jarang berubah, jadi updater di atas bisa dijalankan setiap kali ada perubahan
    • Ikuti petunjuknya:

      • Menambahkan akun
      • Masukkan username dan password: dynamic-ip-username♣ dynamic-ip-password♣
      • Pilih nama host
      • Klik Konfigurasikan Host yang Dipilih
      • Tuan rumah harus menjadi aktif
    • Konfigurasikan jaringan Anda untuk mengizinkan akses ke perangkat Anda dari Internet. Anda dapat menggunakan Dyn Wizard kami untuk beberapa petunjuk umum tentang cara melakukannya, gunakan sumber daya seperti PortForward.com, atau hubungi produsen perangkat untuk mendapatkan bantuan.

      • AT&T U-ayat
      • Penerusan Port untuk 2-Wire 3801HGV - ini adalah router AT&T U-Verse yang saya miliki. Lihat Pembaruan dalam Lampiran untuk cara port forward pada router AT&T U-verse 5268ac.
      • Buka browser dan buka raspberry-pi-ip♣
      • Kata sandi: kata sandi♣
      • Pengaturan
      • Firewall

        • Pilih raspberry-pi-hostname♣
        • Server

          • Port Server Web 80
          • Server HTTPS – port 443
        • Menambahkan
      • Menyimpan

Setelah ini selesai, server web akan bekerja dari internet. Untuk memverifikasi, masukkan dinamis-hostname♣ dan Anda akan melihat tombol pembuka pintu garasi.

Langkah 7: Hubungkan Sirkuit ke Raspberry Pi

Hubungkan Sirkuit ke Raspberry Pi
Hubungkan Sirkuit ke Raspberry Pi

Untuk kode yang diberikan (langkah 4 dan 6), saya menggunakan pin GPIO 7. Kebetulan GPIO 7 sama dengan pin wiringPi 7. Pada kode PHP digunakan nomor pin wiring Pi dan BUKAN nomor pin GPIO. Anda dapat menggunakan yang mana saja yang Anda inginkan, tetapi pastikan untuk mengubah kodenya.

Saya mencoba menggunakan kabel bengkok, tetapi relai tidak bertahan dengan baik pada kabel bengkok. Kawat padat lebih baik.

Pada upaya pertama saya, saya membuat tiga kabel penghubung (female-to-male).

  • Gunakan tiga kabel jumper wanita ke wanita
  • Potong tiga potong kawat padat menjadi sekitar 1 inci.

    Strip 1/4in di kedua ujung kawat padat

  • Masukkan satu kawat padat ke dalam satu kabel jumper perempuan.

Berikut adalah cara yang lebih baik untuk membuat kabel penghubung (female-to-male):

  • Gunakan hanya kawat padat
  • Potong tiga potong kawat padat berukuran 4 inci
  • Strip 1/4in di kedua ujung kawat padat
  • Gunakan pin penghubung wanita
    • Geser satu pin penghubung perempuan di salah satu ujung kawat padat dan crimp

      Pin wanita tidak boleh lepas, solder jika perlu

    • Geser pelepas regangan di atas pin penghubung perempuan atau pin penutup dengan selotip listrik

Hubungkan relai ke pi seperti yang ditunjukkan pada diagram:

  • Hubungkan ujung kabel perempuan ke pin Raspberry Pi.
  • Masukkan kawat padat ke dalam Relay.

Langkah 8: Buat Layanan Startup

Kebanyakan relai termasuk yang dibeli, beroperasi seperti ini:

  • Ketika sinyal ON sirkuit tetap off.
  • Ketika sinyal OFF maka rangkaian hidup.

Jika Raspberry Pi kehilangan daya, relai memiliki mekanisme pengaman yang membuat rangkaian OFF.

Masalah bisa terjadi ketika Rapberry Pi dan relay mendapatkan daya dipulihkan, tetapi sebelum Raspberry Pi selesai booting untuk menghidupkan sinyal yang perlu untuk menjaga sirkuit. Anda bisa bangun di pagi hari dengan garasi terbuka dan berpotensi memiliki beberapa teman baru!

Namun, relai tidak benar-benar menginisialisasi sampai mode pin GPIO diatur melalui perintah ini: gpio mode 7 out. Selanjutnya, jika pin GPIO ke ON (gpio write 7 1) sebelum Anda mengatur mode GPIO, relai akan mati setelah diinisialisasi.

Untuk membuat inisialisasi ini berjalan saat boot dan tidak bangun ke teman baru, gunakan skrip start-up berikut.

$ ssh pi@♣raspberry-pi-ip♣

$ sudo nano /etc/init.d/garagerelay

Kemudian rekatkan skrip ini:

#! /bin/bash

# /etc/init.d/garagerelay # Menjalankan fungsi tertentu ketika diminta oleh kasus sistem "$1" di start) echo "Starting Relay" # Hidupkan 7 yang membuat relai mati /usr/local/bin/gpio tulis 7 1 #Mulai Gpio /usr/local/bin/gpio mode 7 keluar;; berhenti) echo "Menghentikan gpio";; *) echo "Penggunaan: /etc/init.d/garagerelay {start|stop}" exit 1;; esac keluar 0

Untuk menyimpan: CTRL-o, ENTER

Untuk keluar dari nano, CTRL-x

Jadikan file tersebut dapat dieksekusi:

$ sudo chmod +x /etc/init.d/garagerelay

Sekarang beri tahu pi Anda untuk menjalankan skrip ini saat boot:

$ sudo update-rc.d -f garagerelay start 4

(Catatan: Anda dapat dengan aman mengabaikan peringatan "tag LSB yang hilang".)

Pastikan skrip startup berjalan

$ sudo reboot

Buka browser dan klik pada pembuka. Relai harus berbunyi klik.

Langkah 9: Pasang Raspberry Pi ke Garasi

Lampirkan Raspberry Pi ke Garasi
Lampirkan Raspberry Pi ke Garasi

Saat memindahkan Raspberry Pi, pastikan untuk menjalankan:

$ shutdown -h 0

Anda mungkin ingin mematikan daya ke garasi. Jadi, pembuka bel pintu tidak menyetrum Anda:). Alasan sebenarnya adalah setiap kali Anda menyingkat kabel, pintu akan naik dan turun.

Lepaskan sekrup dinding dari pembuka jenis bel pintu, yang menempelkan bel pintu ke dinding.

Buat lubang melalui dari garasi di belakang pembuka bel pintu ke dalam rumah. Di Texas, Raspberry Pi tidak boleh di garasi, variasi suhu di garasi di luar spesifikasi operasi Raspberry Pi.

Jalankan kabel relai melalui lubang (gunakan gantungan baju).

Kendurkan kedua sekrup di bagian belakang pembuka bel pintu.

Lepaskan kedua ujung kabel relai: 1) sekitar 1/8 inci di sisi relai, dan sekitar inci di sisi bel pintu. Tekuk sisi bel pintu dari kawat menjadi setengah lingkaran yang cukup besar untuk dipasang di sekitar sekrup bagian belakang.

Hubungkan satu kabel relai ke setiap sekrup di bagian belakang bel pintu, dan kencangkan sekrupnya. Koneksi seperti yang ditunjukkan pada gambar. Karena relai mengisolasi sirkuit, arahnya bahkan tidak masalah relai mana yang dipasang ke sekrup mana.

Langkah 10: Pasang Raspberry Pi ke SECO-LARM

Lampirkan Raspberry Pi ke SECO-LARM
Lampirkan Raspberry Pi ke SECO-LARM
Lampirkan Raspberry Pi ke SECO-LARM
Lampirkan Raspberry Pi ke SECO-LARM

Sebelum saya menyelesaikan kode, saya dan keluarga saya sedang berlibur dan saya membuka browser saya. Tampilan terakhir browser saya adalah pembuka pintu garasi – halaman disegarkan dan pintu garasi dibuka. Beberapa hari kemudian seorang tetangga menelepon dan bertanya apakah pintu garasi harus dibuka? Untungnya, saya bisa menutupnya dari jarak 500 mil.

Snafu ini memaksa saya untuk mengubah kode sehingga ini tidak terjadi, dan menambahkan sensor dan keadaan pintu garasi ke situs web.

Ini adalah tautan ke instruksi asli untuk menambahkan sensor. Namun, mengingat semua yang telah selesai, menginstal sensor dapat sangat disederhanakan dan alih-alih menggunakan python tambahkan beberapa baris kode ke index.php.

closed

Magnet dipasang di sisi kiri atas pintu garasi, dan sensor dipasang di dinding garasi. Jadi, saya harus menjalankan kabel termostat padat dari sensor kembali ke raspberry pi. Ini membutuhkan lubang dari garasi ke loteng dan dari loteng ke dinding yang berisi pembuka pintu garasi (saklar bel).

Saya memasukkan kotak sambungan biru antara sensor SECO-LARM dan kabel solid.

Di rumah saya, ada celah 18 inci antara langit-langit lantai satu dan bagian bawah lantai dua. Saya berasumsi di sinilah saluran pemanas dan pendingin berjalan. Saya membutuhkan ekstensi mata bor yang cukup panjang untuk melewati lantai dua dan melalui 2x4 atas (pelat atas) yang berisi bel pintu.

Bagian terpenting adalah ketika mengebor dari loteng ke area di mana kabel akan mengalir ke pembuka pintu garasi adalah TIDAK mengebor melalui listrik. Memperbaiki ini tidak menyenangkan. Melihat percikan api dan mematikan lampu sangat mendebarkan!

Sensor membutuhkan dua kabel termostat padat atau kawat pagar anjing yang tidak terlihat.

Raspberry Pi memiliki beberapa deskripsi pin (BCM, wPi, fisik). Kode menggunakan nomor pin kabel pi. Untuk melihat semua pin, dan pemetaan pin serta nilai pin, masukkan:

$gpio readall

Untuk manual gpio, masukkan:

$gpio man

Dalam instruksi aslinya, pin Fisik 9 di-ground dan terhubung ke salah satu lead SECO-LARM. Namun, ini tidak bekerja untuk saya. Alih-alih, sambungkan kabel ke pin fisik 15 dan 17

Pin fisik 15 (wPi pin 3) menjadi 3.3V saat sensor SECO-LARM ditutup. Pin fisik 17 adalah 3.3v. Jika tidak berhasil maka alihkan koneksi pada SECO-LARM.

Pasang SECO-LARM ke pintu dan dinding garasi. Jalankan kabel dan sambungkan ke Raspberry Pi.

Langkah 11: Kirim Peringatan Jika Pintu Terbuka Saat Seharusnya Ditutup

Jika pintu garasi terbuka saat tidak seharusnya, kirim pesan teks ke ponsel.

Instal dan konfigurasikan SMTP sederhana.

Saya memiliki seluler AT&T dan menggunakan nomor telepon seluler♣@txt.att.net untuk pesan teks. Saya juga memiliki akun gmail, dan contoh di bawah ini menggunakan gmail-account♣@gmail.com. Jika Anda menggunakan layanan yang berbeda, lakukan perubahan yang sesuai.

Untuk perintah $ di bawah ini, buka jendela terminal di MacBook dan masuk ke Raspberry Pi Anda.

Pastikan repositori mutakhir:

$ sudo apt-get update

Instal SSMTP dan utilitas email sederhana:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Edit file konfigurasi SSMTP:

$ sudo nano /etc/ssmtp/ssmtp.conf

sebagai berikut:

mailhub=smtp.gmail.com:587 hostname=♣nama host-anda♣ AuthUser=♣gmail-account♣@gmail.com AuthPass=♣gmail-password♣ UseSTARTTLS=YA

Edit file alias SSMTP:

$ sudo nano /etc/ssmtp/revaliases

Buat satu baris untuk setiap pengguna yang dapat mengirim email. Sebagai contoh:

Setel izin file konfigurasi SSMTP:

$ sudo chmod 664 /etc/ssmtp/ssmtp.conf

Izin file /etc/ssmtp/ssmtp.conf menentukan siapa yang dapat mengirim email dari Raspberry Pi. Secara default, file ini dimiliki oleh root pengguna dan grup file juga root.

Edit file alias SSMTP, yang berisi data tentang akun email:

$ sudo nano /etc/ssmtp/ssmtp.conf

Setelah proses penyiapan dan konfigurasi di atas selesai, uji dengan mengirim email dari baris perintah.

$ echo "tutup pintu garasi" | mail -s "Pintu Garasi Terbuka" nomor-ponsel♣@txt.att.net

Buat skrip untuk memeriksa apakah pintu garasi terbuka padahal seharusnya tidak, lalu kirim pesan teks.

$ sudo nano /usr/local/bin/garage.sh

dan tambahkan yang berikut ini:

#!/bin/bash

# periksa apakah pintu garasi terbuka. # Jika terbuka, kirim peringatan dan tulis ke syslog up=0; door=$(/home/pi/wiringPi/gpio/gpio read 3) if ["$door" -eq "$up"] maka logger your-hostname♣: Garage Door Open echo "close the garage door" | mail -s "Pintu Garasi Terbuka" nomor telepon seluler♣@txt.att.net fi exit 0

Kemudian tambahkan crontab untuk dijalankan selama jam yang diperlukan:

$ sudo crontab –e

dan tambahkan:

# Di malam hari, periksa setiap jam apakah pintu garasi terbuka

0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh

Jika semuanya berhasil, lanjutkan ke langkah berikutnya.

Langkah 12: Letakkan Raspberry Pi di Buku Rahasia

Taruh Raspberry Pi di Buku Rahasia
Taruh Raspberry Pi di Buku Rahasia
Taruh Raspberry Pi di Buku Rahasia
Taruh Raspberry Pi di Buku Rahasia

Masukkan raspberry pi ke dalam buku rahasia. Saya mendapatkan yang ini di Michael's dengan harga sekitar $7. Saya memotong beberapa lubang kecil untuk kabel dan kabel listrik.

Langkah 13: Lampiran: Referensi

SunFounder 2 Channel 5V Relay Perisai Modul untuk Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-Channel Relay interface board, dan masing-masing membutuhkan 15-20mA
  • Driver Saat Ini Dilengkapi dengan relay arus tinggi, AC250V 10A; DC30V 10A
  • Antarmuka standar yang dapat dikontrol langsung oleh mikrokontroler (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, logika TTL)
  • LED Indikasi untuk status keluaran Relay Tautan untuk mengunduh dokumen:

Langkah 14: Lampiran: Pembaruan

21FEB2016

  • Dalam instruksi asli, ada masalah dengan koreksi otomatis, pemformatan, dan kejelasan arah.

    • Contoh masalah adalah ketika tanda kutip ganda dalam kode diubah menjadi sesuatu yang terlihat seperti tanda kutip ganda yang dicetak miring. Namun, jika Anda memotong dan menempelkan ini ke dalam skrip, itu tidak akan berfungsi.
    • Editor yang dapat diinstruksikan suka mengoreksi otomatis, jadi wlan beralih ke rencana, dan autoremove berubah menjadi hapus otomatis. Perubahan ini sulit dikenali.
    • Beberapa arahan saya mungkin tidak cukup jelas.
    • Biasanya, saya menggunakan kurung sudut sebagai indikator untuk sesuatu yang perlu diganti. Editor mengonversinya menjadi html. Jadi, saya beralih ke tanda kurung siku, tetapi ini dapat menyebabkan masalah karena terlihat seperti kode. Jadi, saya akhirnya menetapkan s sebagai indikator untuk penggantian dengan nilai aktual.
  • Seiring waktu saya juga telah meningkatkan beberapa skrip.
  • Langkah yang Diedit 21-26

03APR2016

  • Membuat Lampiran dengan Pemecahan Masalah, Referensi, dan Pembaruan (langkah 27-29)
  • Memindahkan Pemecahan Masalah ke Lampiran dari langkah sebelumnya 2
  • Memperbarui dan mengurutkan abjad halaman pemecahan masalah
  • Mengubah nama file dari test2wifi.sh menjadi garage.sh - hanya lebih deskriptif.
  • Memperbarui cron untuk menggunakan garage.sh
  • Diedit 1, 20-26 (Buat layanan startup ke langkah sebelum lampiran)

04APR2016

  • Mengganti langkah 2-11 dan 16-20 dengan standar saya adalah menyiapkan Raspberry Pi
  • Daftar bagian yang diperbarui, langkah 1
  • Foto yang ditambahkan/digabungkan

05APR2016

Situs web dan gambar yang disederhanakan (langkah 4 dan 5)

01Mei2016

Menambahkan pemecahan masalah untuk sensor Seco-larm/raspberry Pi

01 MEI2016

Pengeditan sebelumnya tidak disimpan dengan benar?

11NOV2016

  • Diperbarui ke AT&T GigaPower dan mengubah router menjadi 5268ac
  • 5268ac tidak mendukung loop back, jadi server Garage Opener tidak dapat diakses dari komputer di LAN. Agar MacBook dapat mengakses server web pembuka garasi, lakukan hal berikut:

$ sudo nano /etc/hosts

dan tambahkan baris

192.168.1.64 nama domain-eksternal-server♣

Simpan dan keluar, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Aturan penerusan port bawaan 5268ac, seperti, server HTTPS, Server HTTP, dan Server Web tidak berfungsi. Agar penerusan port berfungsi:

    • Buka browser, dan buka 192.168.1.254
    • Gabung
    • Pilih Pengaturan, Firewall, Aplikasi, lubang jarum dan DMZ.
    • Pilih server web pembuka garasi
    • Pilih Ditentukan pengguna
    • Klik aplikasi baru yang ditentukan pengguna
      • Dalam Nama Profil Aplikasi masukkan: PortForwarding
      • Dalam Buat Definisi Aplikasi tambahkan masing-masing berikut ini dan klik Tambahkan ke Daftar:

        • TCP dari 80 hingga 80, petakan ke port host 443
        • TCP dari 443 hingga 443 memetakan ke host port 443
        • UDP dari 443 hingga 443, petakan ke port host 443
        • UDP dari 80 hingga 80, petakan ke port host 443
    • Klik kembali
    • Pilih ulang server web Anda
    • Pilih Ditentukan pengguna
    • Tambahkan Penerusan Port
    • Klik Simpan

21JAN2018

  • Diperbarui ke Raspberry Pi 3
  • Beberapa pengeditan untuk langkah
  • Memperbarui beberapa bagian dan harga

Langkah 15: Lampiran: Pemecahan Masalah

Ruang disk yang digunakan

Baris terakhir menunjukkan total ruang disk yang digunakan. Kartu SD memiliki 8GB.

$cd../..

$ sudo du –hx –c

surel

Jika Anda mengalami masalah, coba ini:

$ echo "tes" | sendmail -v akun-gmail-anda♣@gmail.com

Jika email sudah diatur dengan benar, maka Anda harus mendapatkan email di akun gmail Anda.

Jika Anda mendapatkan kegagalan otentikasi:

Anda mungkin perlu menurunkan keamanan pada akun Anda. Namun, menurunkan keamanan TIDAK disarankan. Google akan mengirim email dengan tautan ke pengaturan keamanan yang lebih rendah.

Anda dapat beralih dari pembaca email Anda saat ini untuk menggunakan www.gmail.com untuk mengakses akun Anda (disarankan) atau mengubah setelan Anda di https://www.google.com/settings/security/lesssecu… sehingga akun Anda tidak lagi dilindungi oleh standar keamanan modern.

Saya tidak menyarankan untuk menurunkan standar keamanan Anda.

Jika Anda mendapatkan kegagalan Otorisasi:

Penyebab paling mungkin dari hal ini adalah Anda telah memasukkan nama pengguna atau sandi yang salah untuk akun gmail Anda di file /etc/ssmtp/ssmtp.conf. Periksa kembali nilai bidang AuthUser dan AuthPass.

Jika Anda kehilangan koneksi di tengah pemrosesan:

Kemungkinan Anda salah menentukan port untuk smtp Google di suatu tempat di /etc/ssmtp/ssmtp.conf atau di /etc/ssmtp/revaliases.

Periksa baris terakhir log Anda. Seharusnya ada beberapa pesan kesalahan yang relevan di sana:

$ tail /var/log/mail.log

$ tail /var/log/syslog

Pintu Garasi tidak mau terbuka

Jika semuanya berfungsi dan berhenti begitu saja, coba mulai ulang. Jika tidak berhasil, cabut kabel daya dari Raspberry Pi, lalu pulihkan daya. Raspberry Pi harus reboot dalam waktu kurang dari 2 menit dan semuanya akan berfungsi dengan baik. Hal ini umumnya disebabkan oleh hilangnya daya ke Residential Gateway.

GPIO

Jika ada yang tidak beres, maka cara terbaik untuk melihat apa yang terjadi adalah dengan perintah berikut:

$gpio readall

Masuk ke raspberry pi dari MacBook

terminal adalah utilitas MacBook: disk/aplikasi/utilitas/terminal. Saya menyimpan aplikasi terminal di dok.

Di MacBook, buka terminal

$ ssh pi@♣raspberry-pi-ip♣

kata sandi♣

Masuk ke gerbang perumahan

Di MacBook, buka browser

URL = raspberry-pi-ip♣

Masuk: gateway-password♣

Log

Jika terjadi kesalahan, periksa log ini untuk mencari kesalahan, peringatan, atau masalah lainnya.

$ cat /var/log/messages

$ cat /var/log/syslog $ cat /var/log/dmesg

Direktori MAC

Direktori di MacBook tempat file situs web disimpan

Direktori MAC = /Users/♣my macbook♣/Desktop/wi-fi rumah yang diaktifkan/pembuka pintu garasi berkemampuan wifi/situs web

Kata sandi

Kata sandi = raspberry-pi-kata sandi♣

RAM dan CPU yang digunakan

$ atas

CTRL-c untuk keluar

Direktori beranda Raspberry Pi

$ pwd

/rumah/pi

Nama host Raspberry Pi

$nama host

nama host = nama host♣

Raspberry Pi IP

raspberry-pi-ip♣ = 192.168.1.93

Direktori Situs Web Raspberry Pi

/var/www

Seco-larm berhenti bekerja

Pada 01MAY2016, Seco-larm berhenti bekerja. Ini adalah ketiga kalinya sensor berhenti bekerja. Untuk mengatakan ini dengan benar, pin fisik 15 pada Raspberry Pi berhenti mendeteksi input 3.3v. Saya mencoba pin fisik 3.3v 1 dan 17, dan keduanya masih menghasilkan 3.3v. Saya beralih dari pin fisik 15 ke GPIO lain, pin fisik 16 (GPIO 4) dan mulai berfungsi kembali. Jadi, tidak ada yang salah dengan Seco-larm. Masalahnya tampaknya dengan Raspberry Pi GPIO.

GPIO 3, pin fisik 15 mati. Ini adalah posting yang sangat bagus tentang cara menguji pin GPIO.

Saya beralih dari GPIO 3 ke GPIO 4, dan mengubah kode yang sesuai. Saya tidak yakin mengapa pin GPIO berhenti bekerja. Berikut adalah dua kemungkinan alasan:

  • Saya memasang sensor Seco-larm sehingga ketika pintu ditutup, outputnya 3.3v. Pintu garasi lebih sering ditutup daripada dibuka. Mungkin, pin GPIO tidak dapat menerima input konstan kurang lebih 3.3v.
  • Kegagalan bertepatan dengan hilangnya daya, mungkin ada lonjakan daya.

Gerbang Perumahan U-ayat

Saya memiliki AT&T U-verse dengan Residential Gateway, tetapi layanan apa pun harus berfungsi.

Jika Gateway U-verse di-restart atau kehilangan daya, Raspberry Pi mungkin perlu di-boot ulang.

Gerbang perumahan U-verse Public IP = router's-public-ip

IP publik gateway perumahan U-verse dapat berubah, tetapi sangat jarang

Halaman Beranda Gerbang Perumahan U-ayat = 192.168.1.254

SSID titik akses nirkabel U-verse Router = ssid♣

Throughput WiFi lebih lambat dari yang diharapkan

Ubah router ke saluran yang jarang digunakan. Secara default, semua penyedia sirkuit menyetel wifi semua orang ke saluran 1. Ubah ke saluran yang jarang digunakan, seperti, 11. Coba gunakan nomor ganjil.

Catatan: Saya memberi tahu beberapa tetangga apa yang saya lakukan untuk meningkatkan wi-fi dan sekarang semua orang menggunakan 9 atau 11, jadi saya pindah kembali ke 1. Anda harus selalu menggunakan saluran aneh.

Buka peramban.

Untuk U-verse, masukkan 192.168.1.254 di kotak URL.

Klik tautan Nirkabel, dan pilih saluran 6 atau 11.

Ada aplikasi untuk ponsel pintar yang disebut penganalisa wifi. Salah satu tampilan menunjukkan semua titik akses wifi terdekat yang disiarkan di saluran tertentu. Di lingkungan saya, semua orang disetel ke saluran 1.

Cabut Raspberry Pi, lalu pulihkan daya

Direkomendasikan: