Съдържание:
- Стъпка 1: Теория
- Стъпка 2: Подготовка на необходимите библиотеки
- Стъпка 3: Писане на прост код за заявка
- Стъпка 4: Качване
- Стъпка 5: Четене и Python
- Стъпка 6: Завършване
Видео: ESP8266 и комуникация с Python за Noobs: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това ръководство ви позволява да получите всякакви данни от ESP8266 и да ги контролирате чрез python без AT команди.
За начинаещи повечето ръководства за използване на ESP8266 са трудни, защото искат да мигате „AT COMMANDS“в чип, което е:
- Ненужно
- Пропилява паметта на ESP
- Дава ви ограничен контрол
- Трудно и предизвикателно
- И не е подходящ за всички модули ESP8266
Ето защо създадох много проста комуникационна система mDNS, която се контролира само с 3 прости функции. Освен това ви дава пълен контрол.
Стъпка 1: Теория
Нашият esp се свързва с нашия wifi и създава localhost сървър и започва да чака заявка. Всеки път, когато нашият питон изпраща заявка до този локален хост, esp изпълнява желания код и след това връща резултата като http заявка. Накрая python чете тези върнати данни като http заявка и вземете тези променливи от него. С това esp може да връща низове, данни и масиви. Кодът на Python ще разбере техния тип данни.
Стъпка 2: Подготовка на необходимите библиотеки
На първо място, трябва да изтеглите библиотеката с карти ESP8266 на arduino ide. Ако не знаете как, ето ръководството.
След това трябва да изтеглите моята микробиблиотека от тук.
След като изтеглите, в папката на библиотеката има файл, наречен "ESP_MICRO.h", копирайте го във вашата кодираща папка на текущия проект arduino. Да, не го копирайте в библиотеките на arduino, това е микро библиотека, така че ще го копирате в папката на текущия ви проект arduino.
Така че сега нашите изисквания са удовлетворени. Можем да започнем да го кодираме.
Стъпка 3: Писане на прост код за заявка
Когато отворите проекта си.ino, ще видите два раздела на arduino ide. Единият е вашият проект, другият е "ESP_MICRO.h" нашата микробиблиотека.
Сега имате тази функция 5 в ESP_MICRO.h във вашия основен код (функциите са обяснени в първите редове на ESP_MICRO.h)
Ето един прост код за увеличаване на променливата.
Код на Arduino:
/* F5 ТЕСТ ЗА ESP2PY
* Написано от Junicchi * https://github.com/KebabLord/esp_to_python * Той просто увеличава и връща променлива всеки път, когато дойде rethon на python */#include "ESP_MICRO.h" // Включете микро библиотеката int testvariable = 0; void setup () {Serial.begin (9600); // Стартиране на сериен порт, за да се видят детайли ("USERNAME", "PASSWORD"); // EnAIt ще се свърже с вашия wifi с дадени подробности} void loop () {waitUntilNewReq (); // Изчаква, докато дойде нова заявка от python/* увеличава индекса, когато дойде нова заявка*/testvariable += 1; returnThisInt (testvariable); // Връща данните в python}
Стъпка 4: Качване
Програмиращите Nodemcu ESP8266 просто свързват usb и качват скицата от arduino.
Но програмирането на ESP8266-1 е по-трудно, има два метода за тяхното програмиране
Програмиране на ESP чрез arduino
Ако сте добре с джъмперите, можете да го програмирате чрез arduino с тази схема. Но в дългосрочен план това е болка. Затова предлагам друг метод.
Програмиране с ESP програмист
Това е много по -лесно и по -бързо. Това е само 1 долар, купете един и използвайте USB програмист.
Изучаване на IP адреса на ESP
Докато кодът се качва, отворете серийния порт, ще видите, че подробностите се отпечатват, когато качването приключи. Научете IP на esp и отбележете, че. Не забравяйте, IP на ESP на локално ниво; промени от wifi към wifi, а не от сесия до сесия, така че когато го затворите и отворите по -късно, той няма да бъде променен.
Стъпка 5: Четене и Python
В esp_to_python/библиотеката има „EXAMPLE_PYTHON_READER.py“
редактирайте го, променете петия ред с IP адреса на модула esp, който е отпечатан на сериен порт и изпълнете скрипта python. В този проект използвах python за изпращане и четене на заявка. Но можете също да видите необработените данни с браузър, докато поставяте ip на ESP в браузър. Или можете да направите заявление, за да го прочетете, или дори да използвате друг език. Контролирането на модула върху python също е обяснено в проекта "ledControl" в папката с примери.
Стъпка 6: Завършване
Всички функции и кодове са обяснени в ESP_MICRO.h и във файла README.md.
Ако този проект ви е помогнал, можете да добавите звезда към оригиналния проект на github.
Препоръчано:
Безжична комуникация LoRa от 3 до 8 км с ниска цена E32 (sx1278/sx1276) Устройство за Arduino, Esp8266 или Esp32: 15 стъпки
Безжична комуникация LoRa от 3 до 8 км с ниска цена E32 (sx1278/sx1276) Устройство за Arduino, Esp8266 или Esp32: Създавам библиотека за управление на EBYTE E32 въз основа на серия Semtech на устройство LoRa, много мощно, просто и евтино устройство. Можете да намерите 3Km версия тук, 8Km версия тук Те могат да работят на разстояние от 3000m до 8000m и имат много функции и
STM32F4 Discovery Board и Python USART комуникация (STM32CubeMx): 5 стъпки
STM32F4 Discovery Board и Python USART комуникация (STM32CubeMx): Здравейте! В този урок ще се опитаме да установим USART комуникация между STM32F4 ARM MCU и Python (може да бъде заменен с всеки друг език). И така, нека започнем
PIC MCU и серийна комуникация на Python: 5 стъпки
PIC MCU и серийна комуникация на Python: Здравейте, момчета! В този проект ще се опитам да обясня експериментите си с PIC MCU и серийната комуникация на Python. В интернет има много уроци и видеоклипове за това как да комуникирате с PIC MCU през виртуален терминал, което е много полезно. Хоув
Последователна комуникация на Arduino и Python - Дисплей на клавиатурата: 4 стъпки
Arduino и Python серийна комуникация - Дисплей на клавиатурата: Този проект е направен за потребители на Mac, но може да бъде реализиран и за Linux и Windows, единствената стъпка, която трябва да бъде различна, е инсталацията
ESP8266 Директна комуникация на данни: 3 стъпки
ESP8266 Директна комуникация на данни: Въведение Докато направих някои проекти с модули Arduinos и nRF24l01, се чудех дали мога да спестя малко усилия, като използвам вместо това модул ESP8266. Предимството на модула ESP8266 е, че той съдържа микроконтролер на борда, така че няма