Мазмұны:
- 1 -қадам: Rapberry Pi конфигурациялаңыз
- 2-қадам: ESP-01-ді Raspberry Pi-ге қосыңыз
- 3 -қадам: Бағдарламалық қамтамасыз етуді орнату (Python to Operate және Arduino IDE бағдарламасына)
Бейне: Raspberry Pi көмегімен USB сериялық адаптері жоқ Flash ESP-01 (ESP8266): 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулық сізге ESP8266 микроконтроллерін ESP-01 WIFI модулінде бағдарламалауды бастау туралы нұсқау береді. Бастау үшін сізге қажет (әрине ESP-01 модулінен басқа)
- Raspberry Pi
- Өткізгіш сымдар
- 10K резистор
Мен төсек жанындағы ескі шамды заманауи Alexa басқаратын жарықдиодты түнгі шамға ауыстырғым келді. Дауыстық пәрменді пайдаланып оны қосуға/өшіруге ештеңе қызық емес. Мен желіде жарықдиодты ESP-01 WIFI модуліне, реле мен сымға тапсырыс бердім және ESP8266 микроконтроллерін бағдарламалау үшін USB-сериялық адаптерге тапсырыс беруді мүлдем ұмытып кеттім. Бірақ менде Raspberry Pi болғандықтан, Raspberry Pi мен ESP-01 тақтасында UART түйреуіштері болғандықтан, мен RPi-ді ESP8266 бағдарламасын адаптерсіз бағдарламалауға болады деп ойладым.
1 -қадам: Rapberry Pi конфигурациялаңыз
Мен Raspberry Pi 3 Model B+қолдандым, алайда нұсқаулар басқа нұсқаларда, әсіресе В моделінде жұмыс істеуі керек.
Сонымен, бірінші кезекте - біз Pi -де UART -ты қосуымыз керек.
RPi конфигурациясының параметрлеріне өтіңіз. Терминал терезесінде іске қосыңыз
$ sudo raspi-config
5 интерфейс опциясына өтіңіз, содан кейін P6 сериясын таңдаңыз. Содан кейін сіз кіру қабығының сериялық қол жетімді болуын қалайсыз ба? таңдаңыз, өйткені біз UART -ты Pi бассыз іске қосу үшін емес, басқа құрылғылармен байланысу үшін қолданғымыз келмейді, сондықтан келесі экранда сұралған кезде сериялық порттың аппараттық құралын қосқыңыз келе ме? таңдаңыз. Нұсқау бойынша Pi қайта іске қосыңыз. UART енді Raspberry Pi 3 RX және TX істікшелерінде сериялық байланыс үшін қосылуы керек. Ескертпе: осыдан кейін /boot/config.txt соңында Enable_uart = 1 жаңа жазбасы пайда болуы керек.
2-қадам: ESP-01-ді Raspberry Pi-ге қосыңыз
Енді біз бәрін сымға қосамыз.
Алдымен RPi 3.3V қуат пен GND (жер) түйреуіштерін ESP8266 микроконтроллерін, TXD (жіберу) және RXD (қабылдау) түйреуіштерін және ESP8266 (жоғары немесе орнатуға болатын түйреуіштер) жұмыс істеуге арналған екі жалпы істікшені анықтаңыз. төмен). Pinout.xyz сайтынан түйіннің орналасуын іздеңіз немесе терминалды теріңіз:
$ pinout
Екіншіден, ESP-01 бойынша қажетті түйреуіштерді анықтаңыз. Бірақ басында біз ESP-01 түйреуіштері туралы түсінікке ие болуымыз керек. Мен сізге осыған көмектесу үшін Интернетте көптеген пайдалы ресурстарды таптым. Бұл ең қысқа, бірақ бұл жақсы түсініктеме береді. Қысқаша айтқанда: 8 түйреуіш бар, бізге олардың 7 -сі қажет болады, атап айтқанда қуат үшін VCC қуаты мен GND (жер) түйреуіштері, байланыс үшін TXD және RXD түйреуіштері және RST (қалпына келтіру), CH_PD (Chip Power Down, кейде таңбаланған) CH_EN немесе чипті қосу) және модульді басқару үшін GPIO0. Әдетте ESP8266 қалыпты режимде жұмыс істейді, бірақ кодты ESP8266 -ға жүктегенде ол жарқыл режимінде болуын ескереді. Тұрақты немесе қалыпты жұмыс режимі үшін модуль қуатқа қосылуы керек (анық), сонымен қатар CH_PD түйреуіші VCC-ге 10K арқылы қосылуы керек (бұл мән әр түрлі әдістерде өзгереді, мен 3К-ге дейінгі мәндерді таптым) тарту жүктеу кезінде резистор. екінші жағынан, жыпылықтау немесе бағдарламалау режиміне өту үшін жүктеу кезінде GPIO0 түйреуішін жерге қосу керек. Жерге қосылған кезде GPIO0 арқылы шектеусіз ток ағынының алдын алу үшін GPIO0 -ны жерге 300 ~ 470Ω төмен қарсылық резисторы арқылы қосу ұсынылады (бұл туралы толығырақ мына жерде). RST түйреуіші атауынан көрініп тұрғандай, MCU қалпына келтіріледі (немесе қайта қосылады). Қалыпты жұмыс кезінде ол VCC-ге 10K тартылатын резистор арқылы қосылуы мүмкін, бірақ микроконтроллерді қалпына келтіру үшін жерге қосу керек. RST және GPIO0 түйреуіштерін қосу үшін физикалық түймелерді қолдану әрқашан мүмкін болса да (немесе түймені модельдеу үшін сымдарды қолмен қосуға болады), Raspberry Pi түйреуіштерін RST және GPIO0 модулінің жоғары және төмен кернеуін орнату әлдеқайда жағымды тәжірибе. түйреуіштер. Сонымен қатар 10K және 470Ω резисторларға қажеттілік жоқ.
Енді ESP-01 түйреуіштерінің ерекшеліктерін біле отырып, біз бәрін біріктіре бастай аламыз. Сіз төмендегі кестені сілтеме ретінде жоғарыдағы сызбамен бірге пайдалана аласыз:
ESP-01 Raspberry Pi
- VCC (3.3V) түйреуіш №1 (3.3V)
- № 6 GND түйреуі (GND)
- №10 TXD түйреуіші (RXD / BCM 15)
- № 8 RXD түйреуіші (TXD / BCM 14)
- CH_PD түйреуіші №1 (3.3В)
- № 3 RST түйреуіші (BCM 2)
- GPIO 0 түйрегіш №5 (BMC 5)
VCC түйреуішін соңғы рет қосыңыз. Сіз VCC түйреуішін қосқан жағдайда Wi-Fi модулі қосылады. RPi мен ESP8266 UART арқылы байланыса алатынын тексеру үшін экранды немесе миникомды пайдаланыңыз (ескерту: алдымен экранды немесе миникомды орнату қажет болуы мүмкін, себебі олар әдепкі бойынша Raspbian -ға орнатылмаған сияқты).
Экрандық жүгіруді қолдану:
$ sudo screen /dev /serial0 115200
Minicom жүгіруді пайдалану:
$ sudo minicom -b 115200 -o -D /dev /serial0
Ескерту: көптеген интернет -ресурстар /dev /ttyAMA0 жүйесінде ESP8266 -ға қосылуды ұсынады, бірақ бұл RPi құжаттамасына сәйкес RPi 3 немесе одан кейінгі (нөлдік Вт қоса алғанда) жұмыс істемейді. Оның орнына /dev /serial0 немесе /dev /ttyS0 арқылы қосылыңыз.
Экранға немесе шағын телефонға кіргеннен кейін ESP8266 -мен байланысу үшін AT командаларын қолданыңыз. AT енгізіңіз, содан кейін Enter пернесін басыңыз, содан кейін Ctrl+J пернелер тіркесімін жіберіңіз. Сіз жауап ретінде OK алуыңыз керек. Қол жетімді AT командаларының тізімін espressiff.com сайтынан немесе дәл осы жерден табуға болады.
Құрылғылар физикалық түрде қосылған және бір -бірімен сөйлесе отырып, біз RPi GPIO түйреуіштерін және ақырында ESP8266 бағдарламалауды бастай аламыз.
3 -қадам: Бағдарламалық қамтамасыз етуді орнату (Python to Operate және Arduino IDE бағдарламасына)
БӨЛІМ 1. ESP8266 режимдерін ауыстыру үшін питонды қолдану
Жоғарыда айтылғандай, ESP8266 жұмыс режимдерін ауыстыру үшін RPI GPIO түйреуіштерін пайдалану ыңғайлы. Мен ESP8266 -ны қалыпты немесе бағдарламалау режиміне қосатын екі негізгі питон кодын жаздым.
Тұрақты режим: Микроконтроллерді тұрақты жұмыс режиміне қосу үшін біз оны қуаттандырып, CH_PD тартқыш резистор арқылы VCC-ге қосуымыз керек, бірақ MCU бағдарламалаудан қалыпты режимге ауыстыру үшін оны қалпына келтіру керек (қайта бастауды ойлаңыз). Мұны істеу үшін RPi-де біз ESP-01-дегі RST түйреуішіне қосылған RPi-дің GPIO-ын қысқаша түсіреміз (әдепкі бойынша мен қалпына келтіру үшін пайдаланатын RPi түйрегіші ЖОҒАРЫ болып орнатылады). Қалайша қысқаша? Мен үшін бұл алыпсатарлық сұрақ. Сіз әр түрлі уақыт аралығын қолдана аласыз, бірақ мен 200 - 500 мс жақсы жұмыс істейтінін білдім. Егер сізде жақсы идея болса, түсініктемелерде жазыңыз. Кодты reset.py ретінде сақтаңыз
#!/usr/bin/python
GPIO.setmode GPIO.setmode (GPIO. BOARD) ретінде RPi. GPIO импорттау # GPIO сәйкестендіруді физикалық PIN нөмірлері бойынша орнатады resetPin = 3 # ESP8266 RST pin GPIO.set (RESPin, GPIO. OUT) қосылған RPi физикалық түйінін анықтау PIN ретінде GPIO.output (resetPin, GPIO. LOW) шығысы # RST түйісу уақытындағы кернеудің түсуі. ұйқы (.2) #.2 с күтіңіз GPIO. шығысы (resetPin, GPIO. HIGH) # RST PIN GPIO кернеуін қалпына келтіру. cleanup () # болашақ жұмыс уақыты туралы ескертулерді болдырмау үшін RPI -дегі түйреуіштерді қалпына келтіру
-
Бағдарламалау режимі: MCU бағдарламалау режиміне қосу үшін біз ESP8266 -ны GPIO0 жерге тұйықтаумен қосуымыз керек, немесе жүктеу кезінде оны қайта жүктеп, GPIO0 жерге қосуымыз керек (кернеудің төмендеуінің нақты ұзақтығы маған әлі белгісіз, сондықтан қателеспеңіз). қолданылған мәндерді басшылыққа алады). Кодты flash.py ретінде сақтаңыз немесе төменде жүктеңіз. Әрекеттер тізбегі келесідей:
- RST түйреуішін төмен түсіріңіз
- GPIO0 түйреуішін төмен түсіріңіз
- RST түйреуішін тартыңыз
- GPIO0 түйреуішін тартыңыз
#!/usr/bin/python
RPi. GPIO -ны GPIO импорттау уақыты ретінде импорттау GPIO.setmode (GPIO. BOARD) # GPIO сәйкестендіруді физикалық PIN нөмірлері бойынша орнатады resetPin = 3 # ESP8266 RST істікшесіне қосылған RPi физикалық PIN кодын анықтау GPIO.setup (resetPin, GPIO. OUT) # қалпына келтіру түйреуін GPIO.setup ретінде орнату (flashPin, GPIO. OUT) # флэш -пинді GPIO. шығысы ретінде орнату (resetPin, GPIO. LOW) # RST түйісу уақытындағы кернеуді төмендету. ұйқы (.2) # бұл күтуге GPIO.output (flashPin, GPIO. LOW) спекулятивті қажет # GPIO0 уақытында кернеудің төмендеуі.) # ESP8266 жүктеуді бастаңыз time.sleep (.5) # болашақта жұмыс уақыты туралы ескертулерді болдырмау үшін GPIO pinGPIO.cleanup () # кернеуді қалпына келтіру GPIO.ouput (flashPin. GPIO. HIGH) ESP8266 жүктелуін күтіңіз.
Терминалды өзгертуге рұқсат:
$ sudo chmod +x flash.py
$ sudo chmod +x reset.py
Бұдан былай бағдарламалау режиміне кіру қажет болғанда терминалда іске қосыңыз:
$ python /flash.py
кодты жүктегеннен кейін қалыпты жұмыс режиміне өтіңіз:
$ python /reset.py
Сонымен қатар, сіз ESP8266 микробағдарламасын жаңартқыңыз келуі мүмкін. Мұны қалай жасауға болатыны туралы көптеген онлайн оқулықтар бар, сондықтан мен мұны қалай жасау керектігі туралы егжей -тегжейлі айтпаймын.
БӨЛІМ 2. Arduino IDE орнату
егер сізде Arduino IDE орнатылған болса, IDE ESP8266 үшін дайын екеніне көз жеткізу үшін сіз әлі де бөлімді аралап көргіңіз келуі мүмкін.
Rapberry Pi -де Arduino IDE көмегімен ESP8266 бағдарламасын пайдалануға болады. IDE -ді RPi -ге орнатудың екі әдісі бар:
- apt-get install көмегімен репозиторийлерден пәрмен жолы арқылы
- arduino.cc сайтынан қолмен жүктеңіз және орнатыңыз.
Мен соңғы жолмен жүруді ұсынамын. Репозиторийлердегі IDE нұсқасы ескірген сияқты, және сіз, әрине, ESP8266 бағдарламалауды бастамас бұрын көп нәрсе істеуіңіз керек. Қиындықты болдырмау үшін Arduino.cc жүктеу бетіне өтіп, Linux ARM нұсқасын жүктеңіз. Келесі сығу және орнату: Егер жүктелген файлдың атауы arduino-X. Y. Z-linuxarm.tar.xz сияқты болса, жүктеу қалтасында іске қосыңыз:
$ tar -xvf arduino-X. Y. Z-linuxarm.tar.xz
Бұл файлды arduino-X. Y. Z қалтасына ашуы керек. Іске қосу:
$ sudo./arduino-X. Y. Z/install.sh
Бұл IDE орнатуы керек. Орнату аяқталғаннан кейін IDE іске қосыңыз.
- Arduino IDE -ден Файл> Параметрлер тармағына өтіңіз. Параметрлер терезесінің төменгі жағындағы «Қосымша тақта менеджерінің URL мекенжайларын» іздеңіз. Http://arduino.esp8266.com/stable/package_esp8266com_index.json «Қосымша тақта менеджерінің URL мекенжайлары» өрісіне енгізіңіз, «ОК» түймесін басыңыз.
- Құралдар> Тақта: XXX> Тақталар менеджері тармағына өтіңіз. Терезеде іздеуді пайдаланыңыз немесе төмен айналдырыңыз, ESP8266 тақта мәзірін таңдап, орнату түймесін басыңыз. Орнатудың аяқталуын күтіңіз және терезені жабыңыз.
- Тағы да Tools> Board: XXX өтіңіз және ESP8266 тақталарын іздеңіз. Жалпы ESP8266 модулін таңдаңыз.
Енді IDE ESP8266 бағдарламасына дайын. IDE терезесіне қажетті кодты енгізіңіз немесе қойыңыз және сақтаңыз. Жүктеу түймесін басыңыз. Flash.py терминалынан бұл сіздің тақтаны бағдарламалау режиміне қосуы керек. IDE құрастыруды және жүктеуді аяқтағанша бірнеше минут күтіңіз (ескерту: ESP-01 әдетте 2 жарық диодты болады, код жүктелген кезде көк жарық диоды жыпылықтайды) және reset.py іске қосыңыз. Енді сіздің ESP-01 тақтасы міндеттерді орындауға дайын.
Ұсынылған:
EASY Infinity Mirror Cube жасаңыз - 3D басып шығару жоқ және бағдарламалау жоқ: 15 қадам (суреттермен)
EASY Infinity Mirror Cube жасаңыз | 3D басып шығару жоқ және бағдарламалау жоқ: Барлығы жақсы шексіздік текшесін ұнатады, бірақ оларды жасау қиынға соғады. Бұл нұсқаулықтағы менің мақсатым-сізге оны қалай жасау керектігін біртіндеп көрсету. Бұл ғана емес, мен сізге берген нұсқаулармен сіз оны жасай аласыз
Ethernet кабелін қолдана отырып, ноутбук/компьютер арқылы Raspberry Pi 4 орнатыңыз (монитор жоқ, Wi-Fi жоқ): 8 қадам
Raspberry Pi 4-ді ноутбук/компьютер арқылы Ethernet кабелі арқылы орнатыңыз (монитор жоқ, Wi-Fi жоқ): Бұл жағдайда біз 1 Гб жедел жады Raspberry Pi 4 Model-B-мен жұмыс жасаймыз. Raspberry-Pi-бұл 5В 3А қуат көзін қажет ететін, қол жетімді бағасы бар оқу және DIY жобалары үшін қолданылатын бір тақталы компьютер
Макей Макей жоқ па? Проблемалар жоқ! Үйде макей макей қалай жасауға болады!: 3 қадам
Макей Макей жоқ па? Проблемалар жоқ! Үйде макей жасауды қалай жасауға болады?: Сіз ешқашан нұсқаулықтар бойынша Makey Makey байқауына қатысқыңыз келді ме, бірақ сізде Makey Makey болған жоқ па?! ҚАЗІР сіз жасай аласыз! Келесі нұсқаулықпен мен сізге өзіңіз жасай алатын бірнеше қарапайым компоненттермен Makey Makey жасауды көрсеткім келеді
ESP8266 Ешқандай RTC жоқ желілік сағат - Nodemcu NTP сағаты RTC жоқ - INTERNET CLOCK ЖОБАСЫ: 4 қадам
ESP8266 Ешқандай RTC жоқ желілік сағат | Nodemcu NTP сағаты RTC жоқ | ИНТЕРНЕТ САҒАТЫНЫҢ ЖОБАСЫ: Жобада RTC жоқ сағаттық жоба жасалады, ол wifi арқылы интернеттен уақыт алады және оны st7735 дисплейінде көрсетеді
Кітапханасы жоқ немесе сериялық функциялары жоқ Arduino тон генераторы (үзіліссіз): 10 қадам
Кітапханасы жоқ немесе сериялық функциялары жоқ Arduino дыбыстық генераторы (үзілістермен): бұл мен үйрететін нәрсе емес, мен металл өңдеуді жақсы көремін, бірақ мен электротехника мамандығы бойынша және микроконтроллерлерден сабақ алуым керек ( Кіріктірілген жүйелердің дизайны), мен өзімнің бір нұсқамада нұсқаулық жасаймын деп ойладым