Mündəricat:

Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar: 6 addım
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar: 6 addım

Video: Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar: 6 addım

Video: Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar: 6 addım
Video: TOPLADIĞINIZ Pİ COİNLƏRİ SATMAĞIN YENİ ÜSULU / İnternetdən pul qazanmaq 2024, Iyul
Anonim
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar
Bir Moruq Pi istifadə edərək satış nöqtələrini necə idarə etmək olar

Bu Təlimat kitabında, sizə bir Raspberry Pi istifadə edərək evinizdəki satış nöqtələrini idarə etmək üçün bir veb interfeysi necə yaradacağınızı sizə göstərəcəyəm. Sensorlar yarışmasını görəndə bu layihəni yazmağı seçdim və bu layihə, satın aldığınız prizlərlə təchiz edilmiş pultun kodlarını oxumaq üçün bir sensordan istifadə etməyi nəzərdə tutduğundan bu layihənin mükəmməl uyğun olacağını düşündüm.

Bunu mümkün qədər yüksək səviyyədə saxlamağa çalışacağam və bütün bunların işləməsi üçün kod təqdim edəcəyəm. Hamınız oradakı meymunları kodlaşdırdığınız üçün, kodu araşdırmaqdan çəkinməyin və şərhlərdə məni diqqətlə araşdırın! Həmişə yaxşılaşmağa çalışıram. Bu işdə kifayət qədər işlər gedir, buna görə də hər hansı bir addımla bağlı suallarınız olarsa, şərh yazın ki, Təlimatçını lazım olan detallarla yeniləyim.

Bu layihə, moruq pi -yə qoşulmuş bir RF ötürücü ilə birlikdə 433MHz -də radio tezliyi idarə olunan prizlərdən istifadə edir. Çıxış yerləri prizləri aça/söndürə bilən uzaqdan idarəetmə cihazları ilə gəlir, amma bu əyləncəli deyil! Bunun əvəzinə, şəbəkəyə qoşulan hər kəsin müəyyən satış nöqtələrini açmasına və ya söndürməsinə imkan verən moruq pi üzərində işləyən bir veb serverdən istifadə edəcəyik. Bu layihənin veb ön ucu idealdır, çünki şəbəkənizdəki hər hansı bir vebə qoşulmuş cihaz pult olaraq istifadə edilə bilər.

İllərdir tamamlamağı xəyal etdiyim bir layihədir və hələ də əlavələr üçün yer olsa da, aşağıda təsvir olunan layihə funksional bir sistemdir.

Təchizat

  • Raspberry Pi (RPi 3 Model B+istifadə etdim)
  • 433MHz Verici və Alıcı (mən bunu istifadə etdim)
  • 433MHz çıxışları (bundan istifadə etdim)
  • Qadın-Qadın Atlayanlar (bu dəstəni aldım)
  • İnternetə çıxa bilən kompüter və ya əl cihazı

Addım 1: Raspberry Pi qurun

Raspberry Pi qurun
Raspberry Pi qurun

Yeni Raspberry Pi -yə ən son Raspbian versiyasını quraşdıraraq başlayın. Mövcud bir Pi istifadə etməyi planlaşdırırsınızsa (bunu tamamilə edə bilərsiniz), ehtiyac duyduğunuz tək şey Pi -də Python 3 -ün olduğundan əmin olmaqdır, çünki təmin etdiyim bütün mənbə kodunun yazıldığı budur. Bunu etmək üçün., növü

python3

əmr satırına daxil edin. Python 3 varsa, python terminalının açıq olduğunu görməlisiniz. Bağlayaraq və ya yazaraq terminaldan çıxın

çıxmaq ()

Bunu təsdiqlədikdən sonra Pi -yə bir şüşə quraşdırmalısınız. Flask veb serverimizi yaratmağa imkan verir. Pi əmr satırından yazın

sudo pip3 qabı quraşdırın

Pi -də pip quraşdırılmamışsa, yazmalısınız

sudo apt-get python3-pip quraşdırın

Raspberry Pi -də masaüstü kompüterimin rahatlığından inkişaf etməyi üstün tuturam. Əgər siz də bu seçimi üstün tutursanız, Pi -yə SSH üçün bir növ mühit qurmalısınız. PuTTY işləyəcək, amma GUI (qrafik istifadəçi interfeysi) olmağı üstün tuturam ki, bu da birbaşa Pi -də olduğunuzu göstərir. GUI seçimi üçün, işləməyi planlaşdırdığınız kompüterə VNC Viewer qurmaq istəyəcəksiniz. Pi -də tənzimləməyiniz lazım olan parametrlər də var. Parametrləri dəyişdirmək üçün təlimatları burada tapa bilərsiniz.

Addım 2: Avadanlıqlarınızı bağlamaq

Avadanlığınızı bağlamaq
Avadanlığınızı bağlamaq

Bu nöqtədə, bu layihə üçün mənbə kodunu qurmağa hazırlaşmaq üçün lazım olan bütün fiziki əlaqələri qurmağın vaxtı gəldi. Vericinin və alıcının sancaqlarını Pi -nin GPIO pinlərinə bağlayacaqsınız. GPIO pinlərinin pinout diaqramına dini olaraq istinad etmək istəyəcəksiniz. Bunu etmək üçün Pi cihazınızın terminalını açın və yazın

pinout

Etdiyim əlaqələr aşağıdakılardır. Girişdə göstərdiyimdən fərqli bir ötürücü/qəbuledici qurğu satın alsanız fərqli bir konfiqurasiyaya sahib ola bilərsiniz. Aşağıda göstərdiyim nömrələrdən fərqli pin nömrələri seçməyə qərar verərsənsə, qorxma! Mənbə kodunu yüklədiyiniz zaman, RxTx.py faylında lazım olduğu kimi pin nömrələrini dəyişdirin.

Alıcı (böyük çip):

  • GND - Hər hansı bir təyin edilmiş torpaq pin
  • DATA - Pin 11
  • DER - Bağlı deyil
  • +5V - İstənilən təyin edilmiş +5V pin
  • ------
  • +5V - İstənilən təyin edilmiş +5V pin
  • GND - Hər hansı bir təyin edilmiş torpaq pimi
  • GND - Bağlı deyil
  • ANT - Bağlı deyil

Qeyd: Lazım gələrsə bir anten bağlaya bilərsiniz, amma ehtiyacım olmadığını gördüm. Bu kiçik çip təəccüblü dərəcədə həssas idi və oturduğu yerdən ən azı 50 fut məsafədə və ən azı iki divardan siqnalları sadiq şəkildə algılar.

Verici:

  • P - 3.3V pin
  • DA - Pin 7
  • G - Hər hansı bir təyin edilmiş torpaq pimi
  • AN - bağlı deyil

Qeyd: Yenə də lazım olduqda antena vericiyə qoşa bilərsiniz, amma lazım olmadığını gördüm. Aralığı kifayət qədərdir (50+ft).

Addım 3: Kodu əlavə edin

Bu layihəni hazırlayarkən vaxtımın çox hissəsini keçirdiyim hissədir. Mümkün olduğunca şərh verməyə çalışıram, amma çox güman ki, hər biriniz bunu başa düşmək üçün vaxt sərf etsəniz izahat tələb edə biləcək boşluqlar buraxmışam. Bu sizinlə baş verərsə, zəhmət olmasa bir şərh yazın!

Burada iştirak edən dillər bunlardır:

  • Python
  • CSS
  • Javascript
  • HTML
  • JQuery/Ajax

Python, şüşə serverində və

RxTx.py

kod ötürülməsi və alınması ilə məşğul olan fayl. CSS veb səhifəsinin üslubunu yaratmaq üçün istifadə olunur. Kim cansıxıcı bir sayt istəyir !? Javascript hər hansı bir hadisənin idarə edilməsində istifadə olunur (düyməni basmaq və s.). HTML, veb səhifənin əsas bina blokudur. Nəhayət, JQuery/Ajax veb səhifəsi ilə Python arxa tərəfi arasında ünsiyyət qurmaq üçün istifadə olunur.

Bütün bu dillər qorxuducu səslənirsə, narahat olmayın! Python -un ən az kodlaşdırma dilinə sahib olan bu layihəyə girdiyini bilirdim, rəqəmə keçin … Bunu etməyi seçdiyiniz təqdirdə, kodu taramağa vaxt ayırın. İstəmirsənsə, etməzsən!

Aşağıda bu veb səhifədə istifadə etməyi seçdiyim kataloq quruluşu var. Bu addıma əlavə edilmiş qovluq aşağıdakı quruluşdakı bütün mənbə kodunu ehtiva edir.

Çıxış açarı-> comm-- DataRW.py-- keys.py-- RxTx.py-> veb səhifəsi-statik ----- favicon.ico ----- style.css-- şablonlar ----- index.html ----- cədvəl.html-- app.py-- data.file

Çıxış Keçid qovluğunu Pi -nin istənilən yerinə qoya bilərsiniz. Veb serverinizi işə salmağa hazır olduğunuzda, Pi üzərindəki terminalı açın və

cd

(qovluğu dəyişdirin) veb səhifəsi qovluğuna. Sonra yazın

python3 app.py

terminala daxil olur. Səhvlər olmasaydı, getməyiniz yaxşı olardı!

P. S. Hər hansı bir səhvlə qarşılaşsanız, səbr edin. Yükləməzdən əvvəl hamısını sıxışdırmağa çalışdım.

Addım 4: Şəkil verin

Bir Vur!
Bir Vur!

İndi kodu işə saldığınız üçün veb interfeysini parmaklarınızın ucunda hiss edə bilərsiniz. Sistemin idarə edilməsi çox sadədir:

  • Veb interfeysindən istifadə edərək istədiyiniz qədər satış nöqtəsi əlavə edə bilərsiniz.
  • Silmək, redaktə etmə, silmək istədiyiniz çıxışları seçmək və silmək düyməsini basmaq qədər sadədir.

Yuxarıdakı YouTube videosu, siyahınıza yeni bir çıxış əlavə etmək üçün necə getmək lazım olduğunu göstərir. Göstərdiklərini ümumiləşdirmək üçün:

  • Əvvəlcə Başlıq sahəsindəki çıxışın adını daxil edin
  • Proqramın başlığın mövcud olmadığını yoxlamasına icazə vermək üçün Başlıq sahəsinin kənarına vurun və ya toxunun. Eyni adda başlıqlara sahib ola bilməzsiniz
  • Təsdiq edildikdən sonra ON kodu və OFF kodu düymələri aktivdir.
  • Təmin etdiyiniz pultdakı ON düyməsini basıb saxlayın və interfeysdəki ON Kodu düyməsini tez bir zamanda basın. İkili kodunuz bitişik sahəni doldurana qədər pultdakı düyməni basıb saxlayın.
  • OFF kodu üçün əvvəlki addımı təkrarlayın.
  • OK düyməsini basın və indi bu çıxışı dəyişdirməyə hazırsınız!

Girişdə qeyd edildiyi kimi, layihə mənim istifadəm üçün 100% tamamlanmayıb. Hələ tamamlamadığım və tətbiq etmədiyim ən böyük komponent, planlaşdırma qabiliyyətidir. İstifadəçiyə, satış nöqtələrinin avtomatik olaraq təyin olunan vaxtlarda açılıb söndürülməsinə imkan verən bir cədvəl qurmasına icazə verməyi planlaşdırıram.

Addım 5: Hata Ayıklama və RxTx.py Fayl

Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl
Hata Ayıklama və RxTx.py Fayl

Sistemin bilinən yeganə məhdudiyyəti, fərqli satıcıların satış nöqtələri arasında uyğunsuzluq şansının olmasıdır. Açma və söndürmə kod mesajları sistemim üçün 25 bitdir və bir sistemin fərqli bir mesaj uzunluğu varsa, bu layihə ilə dərhal uyğun gəlmir. Təlimatları tam olaraq yerinə yetirmiş olsanız və hələ də bu problemi həll etməkdə çətinlik çəkirsinizsə, aşağıdakılar problemi həll etməyin ən yaxşı yolu olardı.

  • Pi -də matplotlib quraşdırdığınızdan əmin olun. Bunu Pi terminalına aşağıdakıları yazaraq edə bilərsiniz:

    • python3

    • matplotlib idxal edin

    • Bir səhv alsanız, matplotlib quraşdırmalısınız.
    • İstifadə edərək python qabığından çıxın

      çıxmaq ()

  • Matplotlib qurmaq üçün yazın

    sudo pip3 matplotlib quraşdırın

  • terminala daxil olur
  • Əlavə edilmiş test.py faylını yükləyin və Pi -də RxTx.py faylının yanında yerləşdirin
  • Python terminalını açın və qovluğu comm qovluğuna dəyişdirin.
  • Yazın

    python3 test.py

  • "** Yazmağa Başlandı **" deyildikdə, pultunuzdakı ON və ya OFF düyməsini qeyd bitənə qədər basıb saxlayın.
  • Proqram yuxarıdakılara bənzəyən matplotlib rəqəmi yükləyəcək. Yuxarıdakı fotoşəkillərdə göstərildiyi kimi təkrarlanan siqnalı görənə qədər yaxınlaşdırın.
  • Hər bir mesaj üçün ümumi məntiqi 1 və məntiqi 0 sayın, burada bir mesaj yuxarıda görünən təkrarlanan siqnalın bir təkrarlanmasıdır. Cəmi 25 olarsa, RxTx.py faylının günahı yoxdur. 25-dən başqa bir şeylə qarşılaşsanız, aşağıda şərh yazdığınızdan əmin olun və mən RxTx.py faylını daha açıq tipli etmək üçün yenidən hazırlayacağam (və ya əlinizi sınamaqdan çekinmeyin).

Təkrarlanan bir siqnal görmürəmsə nə etməli?

Təkrarlanan bir siqnal görmürsənsə, iki şeydən biri səhvdir. Əvvəlcə bütün tullanan tel əlaqələrinizin düzgün qurulduğunu yoxlayın. Hər şey yaxşı görünsə, pis bir alıcı ola bilər. Təklif etdiyimi aldınızmı? İlk alıcı çipimi alanda çox səs -küylü idi. O qədər səs -küylü idi ki, aydın bir siqnal ala bilmədim. Sonra həmin çipi geri qaytardım və bağladığım birini götürdüm və daha yaxşı işləyə bilməzdi.

Addım 6: Zövq alın

Telefonunuzdan, planşetinizdən, kompüterinizdən və ya digər veb aktiv cihazdan prizləri açmaq/söndürmək qabiliyyətiniz olduğunu bilirsiniz! Şərhlərdə nə düşündüyünüzü mənə bildirin!

Tövsiyə: