Mundarija:
- 1 -qadam: nazariya
- 2 -qadam: Kerakli kutubxonalarni tayyorlash
- 3 -qadam: oddiy so'rov kodini yozish
- 4 -qadam: yuklash
- 5 -qadam: O'qish va Python
- 6 -qadam: yakunlash
Video: NoSP uchun ESP8266 va Python aloqasi: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Ushbu qo'llanma sizga ESP8266 -dan har qanday ma'lumotlarni olish va AT buyruqlarisiz python orqali boshqarish imkonini beradi.
Yangi boshlanuvchilar uchun ESP8266 -dan foydalanish bo'yicha qo'llanmalarning ko'pchiligi qiyin, chunki ular "AT COMMANDS" ni chipga qo'yishni xohlashadi, bu:
- Keraksiz
- ESP xotira yo'qolishi
- Sizga cheklangan nazoratni beradi
- Qattiq va qiyin
- Va barcha ESP8266 modullari uchun mos emas
Shuning uchun men faqat 3 ta oddiy funksiya bilan boshqariladigan juda oddiy mDNS aloqa tizimini yaratdim. Bu sizga to'liq nazoratni beradi.
1 -qadam: nazariya
Bizning esp Wi -Fi tarmog'imizga ulanadi va localhost serverini yaratadi va so'rovni kuta boshlaydi. Bizning python har safar localhost -ga so'rov yuborganida, esp kerakli kodni ishga tushiradi va natijani http so'rovi sifatida qaytaradi. Nihoyat, python qaytarilgan ma'lumotlarni http so'rovi sifatida o'qiydi va undan o'zgaruvchilarni oladi. Bu bilan esp satrlarni, ma'lumotlarni va massivlarni qaytarishi mumkin. Python kodi ularning ma'lumot turini tushunadi.
2 -qadam: Kerakli kutubxonalarni tayyorlash
Birinchidan, siz arduino ide uchun ESP8266 karta kutubxonasini yuklab olishingiz kerak. Agar bilmasangiz, mana bu ko'rsatma.
Shundan so'ng, siz mening mikro kutubxonamni bu erdan yuklab olishingiz kerak.
Yuklab olingandan so'ng, kutubxona papkasida "ESP_MICRO.h" nomli fayl mavjud bo'lib, uni joriy arduino loyihasining kodlash papkasiga ko'chiring. Ha, uni arduino kutubxonalariga ko'chirmang, bu mikro kutubxona, shuning uchun siz uni joriy arduino loyihasi papkasiga ko'chirasiz.
Shunday qilib, endi bizning talablarimiz qondiriladi. Biz uni kodlashni boshlashimiz mumkin.
3 -qadam: oddiy so'rov kodini yozish
Project.ino -ni ochganingizda, arduino ide -da ikkita yorliq paydo bo'ladi. Biri sizning loyihangiz, ikkinchisi "ESP_MICRO.h" bizning mikro kutubxonamiz.
Endi sizning asosiy kodingizda ESP_MICRO.h da 5 ta funksiya bor (funksiyalar ESP_MICRO.h birinchi satrlarida tushuntirilgan)
Mana oddiy o'zgaruvchan ko'paytiruvchi kod.
Arduino kodi:
/* ESP2PY uchun F5 TEST
* Junicchi tomonidan yozilgan * https://github.com/KebabLord/esp_to_python * Python req kelganida o'zgaruvchini ko'paytiradi va qaytaradi */#include "ESP_MICRO.h" // int kutubxonasi int testvariable = 0; void setup () {Serial.begin (9600); // Tafsilotlarni ko'rish uchun ketma -ket portni ishga tushirish ("USERNAME", "PASSWORD"); // EnAIt Wi -Fi -ga berilgan tafsilotlar bilan ulanadi} void loop () {waitUntilNewReq (); // python -dan yangi so'rov kelguncha kutish/* yangi so'rov kelganda indeksni oshiradi*/testvariable += 1; returnThisInt (testvariable); // Ma'lumotlarni pythonga qaytaradi}
4 -qadam: yuklash
Nodemcu ESP8266 -ni dasturlash shunchaki usb -ni ulash va eskizni arduino -dan yuklashdir.
Ammo ESP8266-1 dasturlash qiyinroq, ularni dasturlashning ikkita usuli bor
Arduino orqali ESP dasturlash
Agar siz o'tish moslamalarini yaxshi bilsangiz, uni arduino orqali ushbu sxemada dasturlashingiz mumkin. Ammo uzoq vaqt davomida bu og'riq. Shuning uchun men boshqa usulni taklif qilaman.
Uni ESP dasturchisi yordamida dasturlash
Bu ancha oson va tezroq. Bu atigi 1 dollar, birini sotib oling va usb dasturchisidan foydalaning.
ESP IP -manzilini o'rganish
Kod yuklanayotganda ketma -ket portni oching, yuklash tugagandan so'ng tafsilotlar chop etilishini ko'rasiz. Esp -ning IP -ni bilib oling va bunga e'tibor bering. Esingizda bo'lsin, ESP ning mahalliy IP -si; Wi -Fi -ni sessiyaga emas, wifi -ga o'zgartiradi, shuning uchun uni keyin yopib ochganingizda, u o'zgarmaydi.
5 -qadam: O'qish va Python
Esp_to_python/kutubxonasida "EXAMPLE_PYTHON_READER.py" mavjud.
tahrir qiling, ketma -ket portda chop etilgan esp modulining IP -manzili bilan 5 -qatorni o'zgartiring va python skriptini ishga tushiring. Ushbu loyihada men so'rov yuborish va o'qish uchun pythondan foydalandim. Brauzerda ESP -ning IP -manzilini joylashtirishda siz ham ma'lumotlarni brauzer yordamida ko'rishingiz mumkin. Yoki uni o'qish uchun ariza yozishingiz yoki hatto boshqa tilni ishlatishingiz mumkin. Python orqali modulni boshqarish, shuningdek, "ledControl" loyihasida misollar papkasida tushuntirilgan.
6 -qadam: yakunlash
Barcha funktsiyalar va kodlar ESP_MICRO.h va README.md faylida tushuntirilgan.
Agar bu loyiha sizga yordam bergan bo'lsa, siz github -dagi asl loyihani belgilashingiz mumkin.
Tavsiya:
SmartHome simsiz aloqasi: MQTT -ning haddan tashqari asoslari: 3 qadam
SmartHome simsiz aloqasi: MQTT -ning eng asosiy asoslari: MQTT asoslari: ** Men "Uy avtomatizatsiyasi" turkumini tayyorlamoqchiman, men kelajakda qilgan hamma narsani o'rganish uchun qilgan qadamlarni bosib o'taman. Bu ko'rsatma MQTT -ni kelgusidagi ko'rsatmalarimdan foydalanish uchun qanday sozlash bo'yicha asosiy ma'lumotlar. Qanday
MPU 6050 Gyro, Arduino bilan akselerometr aloqasi (Atmega328p): 5 qadam
MPU 6050 Gyro, Arduino bilan akselerometr aloqasi (Atmega328p): MPU6050 IMU 3 o'qli akselerometr va bitta o'qga o'rnatilgan 3 o'qli giroskopga ega. X, Y va Z o'qlari. Gyroskopning natijalari
PIC MCU va Python ketma -ket aloqasi: 5 qadam
PIC MCU va Python ketma -ket aloqasi: Salom, bolalar! Ushbu loyihada men PIC MCU va Python ketma -ket aloqasi bo'yicha tajribalarimni tushuntirishga harakat qilaman. Internetda PIC MCU bilan virtual terminal orqali qanday bog'lanish bo'yicha ko'plab darsliklar va videolar mavjud, bu juda foydali. Qanday
Arduino va Python ketma -ket aloqasi - klaviatura displeyi: 4 qadam
Arduino va Python ketma -ket aloqasi - Klaviatura displeyi: Ushbu loyiha Mac foydalanuvchilari uchun mo'ljallangan, lekin u Linux va Windows uchun ham qo'llanilishi mumkin, farq qiladigan yagona qadam - bu o'rnatish
Kirish nuqtasi - ikkita ESP8266 MCU o'rtasida stansiya aloqasi: 3 qadam
Kirish nuqtasi - ikkita ESP8266 MCU o'rtasida stansiya aloqasi: Salom ishlab chiqaruvchilar! Oldingi ko'rsatmomda men uydagi WiFi router orqali ikkita ESP8266 MCU o'rtasida WiFi aloqasini o'rnatdim. Sharhlardan ko'rganimdek, ESP8266 MCU -ni yo'riqnoma diapazonidan uzoqda foydalanmoqchi bo'lgan ishlab chiqaruvchilar bor. Mana, bar