Мазмұны:

Raspberry Pi көмегімен USB сериялық адаптері жоқ Flash ESP-01 (ESP8266): 3 қадам
Raspberry Pi көмегімен USB сериялық адаптері жоқ Flash ESP-01 (ESP8266): 3 қадам

Бейне: Raspberry Pi көмегімен USB сериялық адаптері жоқ Flash ESP-01 (ESP8266): 3 қадам

Бейне: Raspberry Pi көмегімен USB сериялық адаптері жоқ Flash ESP-01 (ESP8266): 3 қадам
Бейне: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Қараша
Anonim
Flash ESP-01 (ESP8266) Raspberry Pi қолданатын USB сериялық адаптері жоқ
Flash ESP-01 (ESP8266) Raspberry Pi қолданатын USB сериялық адаптері жоқ

Бұл нұсқаулық сізге 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 конфигурациялаңыз

Rapberry Pi конфигурациясын жасаңыз
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-ге қосыңыз

ESP-01-ді Raspberry Pi-ге қосыңыз
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 тақтасы міндеттерді орындауға дайын.

Ұсынылған: