İçindekiler:

İnternet Etkin Güç Çıkışı: 13 Adım
İnternet Etkin Güç Çıkışı: 13 Adım

Video: İnternet Etkin Güç Çıkışı: 13 Adım

Video: İnternet Etkin Güç Çıkışı: 13 Adım
Video: PROGRAMSIZ İNTERNET HIZLANDIRMA 2023 | PİNG DÜŞÜRME 2023 2024, Temmuz
Anonim
Image
Image
Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler

PowerHub Web Sunucusu Projesi ve İnternet Etkin Çıkış Kurulum Talimatları

Evinizdeki İnternet özellikli ışık ve prizler için merkezi veri kalıcılık merkezi!

Adım 1: PowerHub Web Sunucusu Projesi ve İnternet Etkin Çıkış Kurulum Talimatları

Evinizdeki İnternet özellikli ışık ve prizler için merkezi veri kalıcılık merkezi

Yanıp Sönen RaspberriPi Sabit Disk / Gerekli Yazılımı Yükleyin (Ubuntu Linux Kullanarak) "RASPBIAN JESSIE LITE" indirin

DashboardPI için yeni sabit diskinizi oluşturun

MicroSD'yi USB adaptörü aracılığıyla bilgisayarınıza takın ve dd komutunu kullanarak disk görüntüsünü oluşturun

Takılı microSD kartınızı df -h komutuyla bulun, bağlantısını kesin ve disk copy dd komutuyla disk görüntüsünü oluşturun

$ df -h /dev/sdb1 7.4G 32K 7.4G %1 /medya/XXX/1234-5678

$ umount /dev/sdb1

Dikkat: komutun tamamen doğru olduğundan emin olun, bu komutla diğer disklere zarar verebilirsiniz.

if=RASPBIAN JESSIE LITE görüntü dosyasının konumu=microSD kartınızın konumu

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (not: bu durumda /dev/sdb'dir, /dev/sdb1, mikroSD)

RaspberriPi'nizi kurma

Yeni microSD kartınızı raspberrypi'ye takın ve HDMI bağlantı noktasına bağlı bir monitörle açın

Giriş yapmak

kullanıcı: pi pass: ahududu

Güvenlik için hesap şifrenizi değiştirin

sudo şifresi

2. Adım: RaspberriPi Gelişmiş Seçeneklerini Etkinleştirin

sudo raspi yapılandırması

Seçin: 1 Dosya Sistemini Genişlet

9 Gelişmiş Seçenek

A2 Ana Bilgisayar Adı "WIFI-OUTLET" olarak değiştirin

A4 SSH SSH Sunucusunu Etkinleştir

A7 I2C i2c arayüzünü etkinleştir

İngilizce/ABD Klavyesini Etkinleştir

sudo nano /etc/varsayılan/klavye

Aşağıdaki satırı değiştirin: XKBLAYOUT="us"

Klavye düzeni değişiklikleri / dosya sisteminin etkili olması için yeniden boyutlandırılması için PI'yi yeniden başlatın

$ sudo kapatma -r şimdi

WiFi'nize Otomatik Bağlanın

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Raspberrypi'nizin otomatik olarak ev WiFi'nize bağlanması için aşağıdaki satırları ekleyin (örneğin aşağıdaki örnekte kablosuz ağınız "linksys" olarak adlandırılmışsa)

network={ ssid="linksys" psk="KABLOSUZ ŞİFRE BURADA" } WiFi ağına bağlanmak için PI'yi yeniden başlatın

$ sudo kapatma -r şimdi

Artık PI'niz nihayet yerel ağda olduğuna göre, SSH aracılığıyla uzaktan oturum açabilirsiniz. Ancak önce şu anda sahip olduğu IP adresini almanız gerekir.

$ ifconfig PI'nizin IP Adresi için aşağıdaki komutun çıktısında "inet addr: 192.168. XXX. XXX" ifadesini arayın

Başka bir makineye gidin ve raspberrypi'nize ssh ile giriş yapın

$ ssh [email protected]. XXX. XXX

3. Adım: Gerekli Paketleri Kurmaya Başlayın

$ sudo apt-get güncellemesi

$ sudo apt-get yükseltme

$ sudo apt-get kurulumu vim git python-istekleri python-gpiozero python-smbus i2c-araçları python-görüntüleme python-smbus inşa-temel python-dev rpi.gpio python3 python3-pip libid2vp

Yerel saat dilimi ayarlarını güncelleyin

$ sudo dpkg-tzdata'yı yeniden yapılandır

arayüzü kullanarak saat diliminizi seçin

Basit dizin l komutunu kurun [isteğe bağlı]

vi ~/.bashrc

aşağıdaki satırı ekleyin:

takma ad l='ls -lh'

kaynak ~/.bashrc

VIM varsayılan sözdizimi vurgulamasını düzeltin [isteğe bağlı]

sudo vi /etc/vim/vimrc

aşağıdaki satırın yorumunu kaldırın:

sözdizimi açık

i2c Python Sürücülerini yükleyin

4. Adım: WEB API'Yİ OLUŞTURUN

Aşağıdaki talimatlar, oluşturabileceğiniz çeşitli wifi özellikli çıkışları ve duvar anahtarlarını, hangi cihazların açılıp kapatıldığını açıklayan merkezi hub oluşturmanıza olanak tanır. Bu, seçtiğiniz bir web barındırıcısına yerleştirmek için küçük bir PHP betiğidir. Bilgileri almak ve ayarlamak için aşağıdaki API'ye sahiptir. Not: Uygun URL yönlendirmesinin gerçekleşmesi için.htaccess dosyasını eklemeyi unutmayın.

"index.php", "values/" klasörünü ve settings.php'yi (kendi değerlerinize göre yapılandırılmış) seçtiğiniz bir PHP etkin web sunucusuna kurun. "settings.php" dosyasındaki gizli anahtar değeri, "settings.py" dosyasında ayarladığınız gizli anahtar değeriyle eşleşmelidir. Bu, temel düzeyde, diğer web trafiğinin değer ayarlamasını/yazmasını, cihazlarınızı açmasını önleyecektir, şimdi bunu yapmak için HTTP istek başlığında bu karma API anahtarına ihtiyacınız var.

API aşağıdaki özellikleri desteklemektedir, bu proje için sadece anahtarın açılıp kapanmasını söyleyen boole değerleri olan "bayrak" değerlerini kullanacağız. Belki de "okuma" değerlerinden yararlanmak istiyorsanız, buna sahip olabilirsiniz, böylece bir oda sıcaklığı orada bir sıcaklık kaydederek çok ısınırsa, bir pencere fanını açabilir, vb.

Kodu Alın

Web sunucusunu ve RaspberryPI çıkışını çalıştıracak kodu almak için aşağıdaki projeyi GitHub'dan klonlayın.

github.com/khinds10/PowerHub

Web sunucusunda çalışırken API Uç Noktaları

myhost/message (geçerli mesaj setini al)

myhost/message/set (HTTP POST, yeni bir mesaj ayarlamak için bu URL'ye ham bir dize değeri)

myhost/flag/{id} (bayrağın mevcut boole durumunu tam sayıya göre alın: {id})

myhost/flag/all (tüm bayrakların tüm mevcut boole durumunu bir dizi olarak alın)

myhost/flag/{id}/set (şu anki boole durumunu, tamsayıya göre bayrak için 'true' olarak ayarlayın: {id})

myhost/flag/{id}/unset (şu anki boole durumunu tamsayıya göre bayrak için 'false' olarak ayarlayın: {id})

myhost/reading/{id} (tam sayıya göre okuma için geçerli ortalama değeri alın: {id})

myhost/reading/all (bir dizi olarak tüm okumalar için geçerli ortalama değeri alın)

myhost/reading/{id}/set (geçerli hesaplanan ortalamaya yeni bir değer eklemek için bu URL'ye HTTP POST ham sayısal değer) -- ortalama değere toplamda kaç değerin derlendiğini görmek için aşağıya bakın Konfigürasyon 'Okumalar' değerleri, belirli sayıda son kalıcı okuma sayısal değerlerinin ortalamaları olarak hesaplanır. Aşağıdaki sabiti, ortalamayı üretmek için en son okumalardan kaçının dahil edilmesi gerektiğine ayarlayın.

$readingsAverageLimit = 5;

Datastore Sunucusu, aşağıdaki adlandırma kurallarına göre bulunan basit dosyalara değerleri sürdürecektir. Not: {id}, gelen isteğin URL'si tarafından sunulan gerçek tamsayı ile değiştirilecektir.

$valueFileFolder = 'values' (ölçüm dosyalarını içeren klasörün adı) $messageFileName = 'message.msg' (mesaj metin dosyasının adı) $readingsFilesNames = 'reading{id}.avg' (CSV'nin ortalama adı okumalar dosyası) $flagFilesNames = 'flag{id}.flg' (boolean flag value flag dosyasının adı)

Tüm değer dosyalarının systemchmod 777 değerleri/* tarafından yazılabilir olduğundan emin olun

Adım 5: Gerekli Malzemeler

Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler
Ihtiyaç duyulan malzemeler

1 inç delik testeresi (matkap için)

5V 2 Kanal Röle Modülü

Dubleks Priz Duvar Plakası

Dubleks Priz

Pi Sıfır K

Yüzey Montajlı Backbox Çift Çete

Beyaz Işıklı Basmalı Butonlar

Adım 6: Çıkışı Oluşturma

Outlet'i İnşa Etmek
Outlet'i İnşa Etmek

Çıkış Sekmelerini Kır

Her bir soketin bağımsız olarak açılıp kapanması için çıkışın yanındaki tırnağı kırın

Adım 7: Düğmeleri Yükleyin

Düğmeleri Yükle
Düğmeleri Yükle
Düğmeleri Yükle
Düğmeleri Yükle

Çıkış yüz plakasında, çıkışların yanına yerleştirilecek düğmeler için 1 delik testere kullanarak 2 delik açın

Bileşenlerin Test Boyutlandırması

Tüm bileşenlerin çıkış yüzeyine montaj kutusuna sığacağından emin olun

Adım 8: Tel Röle

Tel Röle
Tel Röle
Tel Röle
Tel Röle

Röleyi prize, uzatma kablosundan duvara giden kablodan bağlayın, toprak (yeşil) ve nötr (beyaz) doğrudan çıkışa bağlayın Sıcak (siyah) için bunları önce röleye sonra röleden her çıkışa sıcak konektörlere bağlayın bireysel olarak

9. Adım: Ek Kablolama ve Montaj Resimleri

Ek Kablolama ve Montaj Resimleri
Ek Kablolama ve Montaj Resimleri

Adım 10: Bağlantı Şeması

Bağlantı şeması
Bağlantı şeması

RaspberryPI Python koduyla çalışacak bileşenleri doğru şekilde bağlamak için diyagramı kullanın.

Adım 11: Kuru Çalıştırmayı Test Edin

Kuru Çalıştırmayı Test Et
Kuru Çalıştırmayı Test Et
Kuru Çalıştırmayı Test Et
Kuru Çalıştırmayı Test Et
Kuru Çalıştırmayı Test Et
Kuru Çalıştırmayı Test Et

Son montajdan sonra, delik ünitesini birbirine vidalamadan önce, kısa devre, kötü kablolama olmadığından emin olmak için cihazı kuru bir şekilde çalıştırın.

Adım 12: Başlangıç Komut Dosyalarını Ayarlayın

crontab -e

aşağıdaki satırları ekleyin

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

Önerilen: