Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu təlimat, ESP8266 -dan istənilən məlumatı əldə etməyə və AT əmrləri olmadan python üzərində idarə etməyə imkan verir.
Yeni başlayanlar üçün ESP8266 -dan istifadə ilə bağlı bələdçilərin çoxu çətindir, çünki "AT COMMANDS" ı çipə daxil etməyinizi istəyirlər:
- Lazımsız
- ESP yaddaşının itirilməsi
- Sizə məhdud nəzarət imkanı verir
- Çətin və Çətin
- Və bütün ESP8266 modulları üçün uyğun deyil
Bu səbəbdən yalnız 3 sadə funksiya ilə idarə olunan çox sadə bir mDNS rabitə sistemi yaratdım. Bu da sizə tam nəzarət imkanı verir.
Addım 1: nəzəriyyə
Bizim esp WiFi şəbəkəmizə qoşulur və localhost serveri yaradır və sorğu gözləməyə başlayır. Python hər dəfə bu localhost -a bir sorğu göndərdikdə, esp istədiyi kodu işə salır və sonra nəticəni http sorğusu olaraq qaytarır. Nəhayət, python, qaytarılmış məlumatları http tələbi olaraq oxuyur və ondan dəyişənləri götürür. Bununla esp, strings, data və massivləri qaytara bilər. Python kodu onların məlumat növünü başa düşəcək.
Addım 2: Lazımi kitabxanaların hazırlanması
Hər şeydən əvvəl, arduino ide üçün ESP8266 kart kitabxanasını yükləməlisiniz. Necə olduğunu bilmirsinizsə, bələdçi budur.
Bundan sonra mikro kitabxanamı buradan yükləməlisən.
Yüklədikdən sonra kitabxana qovluğunda "ESP_MICRO.h" adlı bir fayl var və onu cari arduino layihəsinin kodlaşdırma qovluğuna kopyalayın. Bəli, arduino kitabxanalarına kopyalamayın, bu mikro kitabxanadır, buna görə də mövcud arduino layihənizin qovluğuna kopyalayacaqsınız.
Beləliklə, indi tələblərimiz təmin olunur. Kodlamağa başlaya bilərik.
Addım 3: Sadə İstək Kodunun Yazılması
Project.inonu açdığınızda arduino ide -də iki nişan görəcəksiniz. Biri sizin layihənizdir, digəri "ESP_MICRO.h" mikro kitabxanamızdır.
İndi əsas kodunuzda ESP_MICRO.h -də 5 funksiyanız var (funksiyalar ESP_MICRO.h -in ilk sətirlərində izah edilmişdir)
Budur sadə bir dəyişən artan kod.
Arduino kodu:
/* ESP2PY ÜÇÜN F5 TESTİ
* Junicchi tərəfindən yazılmışdır * https://github.com/KebabLord/esp_to_python * Bir python req gəldiyi zaman sadəcə dəyişir və dəyişir */#include "ESP_MICRO.h" // Mikro kitabxana int testvariable = 0 daxil edin; void setup () {Serial.begin (9600); // Detalların başladığını görmək üçün seriya portu başlayır ("KULLANICI ADI", "PAROLA"); // EnAIt verilən detallarla wifi -yə qoşulacaq} void loop () {waitUntilNewReq (); // python -dan yeni bir tələb gələnə qədər gözləyir/* yeni bir istək gəldikdə indeksi artırır*/testvariable += 1; returnThisInt (test dəyişən); // Veriləri pythona qaytarır}
Addım 4: Yükləmə
Proqramlaşdırma Nodemcu ESP8266s sadəcə usb -ni bağlayır və eskizini arduinodan yükləyir.
Ancaq ESP8266-1 proqramlaşdırmaq daha çətindir, onları proqramlaşdırmağın iki yolu var
Arduino vasitəsilə ESP proqramlaşdırılması
Atlayıcılarla yaxşı işləyirsinizsə, bu dövrə ilə arduino vasitəsilə proqramlaşdıra bilərsiniz. Ancaq uzun müddət ağrıdır. Buna görə başqa bir üsul təklif edirəm.
ESP proqramçısı ilə proqramlaşdırma
Çox daha asan və daha sürətli. Cəmi 1 dollardır, birini alın və usb proqramçıdan istifadə edin.
ESP -nin IP ünvanını öyrənmək
Kod yüklənərkən serial portunu açın, yükləmə tamamlandıqda detalların çap olunduğunu görəcəksiniz. Esp -in IP -ni öyrənin və unutmayın. Unutmayın, ESP -nin yerli IP; wifi ilə wifi -yə dəyişir, seansa deyil, buna görə də sonra bağlayıb açdığınız zaman dəyişdirilməyəcək.
Addım 5: Oxu və Python
Esp_to_python/kitabxanasında "EXAMPLE_PYTHON_READER.py" var
redaktə edin, seriya portunda çap edilmiş esp modulunun IP ünvanı ilə 5 -ci sətri dəyişdirin və python skriptini işləyin. Bu layihədə sorğu göndərmək və oxumaq üçün python istifadə etdim. ESP -nin ipini bir brauzerə yapışdırarkən, xam məlumatları bir brauzerlə də görə bilərsiniz. Və ya oxumaq üçün bir ərizə yaza bilərsiniz və ya başqa bir dildən də istifadə edə bilərsiniz. Python üzərindəki modulu idarə etmək, nümunələr qovluğunda "ledControl" layihəsində də izah edilmişdir.
Addım 6: Bitirmə
Bütün funksiyalar və kodlar ESP_MICRO.h və README.md faylında izah edilmişdir.
Bu layihə sizə kömək edərsə, orijinal layihəni github -da ulduz edə bilərsiniz.