Мазмұны:

MicroPython IoT Rover WEMOS D1 (ESP-8266EX) негізінде: 7 қадам (суреттермен)
MicroPython IoT Rover WEMOS D1 (ESP-8266EX) негізінде: 7 қадам (суреттермен)

Бейне: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) негізінде: 7 қадам (суреттермен)

Бейне: MicroPython IoT Rover WEMOS D1 (ESP-8266EX) негізінде: 7 қадам (суреттермен)
Бейне: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, Қараша
Anonim
Image
Image
WEMOS D1 (ESP-8266EX) негізіндегі MicroPython IoT Rover
WEMOS D1 (ESP-8266EX) негізіндегі MicroPython IoT Rover

** Жаңарту: Мен v2 -ге арналған жаңа бейне түсірдім.

Мен кішкентай балаларға арналған робототехника бойынша семинарларды өткіземін және мен әрқашан қызықты жобалар жасау үшін үнемді платформаларды іздеймін. Arduino клондары арзан болғанымен, ол балалар білмейтін C/C ++ тілін қолданады. Сонымен қатар, IoT жобалары үшін қажет кіріктірілген WiFi жоқ. Екінші жағынан, Raspberry Pi -де WIFI бар және оны балалар Python көмегімен бағдарламалай алады, алайда бұл құрылғыны қосу және өшіру үшін бірнеше GPIO портын басқаратын қымбат платформа. Маған WIFI мен Python мүмкіндіктері бар бір нәрсе керек. Менің жауапымды MicroPython-да арзан ESP8266 негізіндегі тақтаға түсіргендей болдым.

Micropython дегеніміз не?

Өз веб -сайтына сәйкес, MicroPython - бұл Python 3 стандартты кітапханасының кіші жиынтығын қамтитын Python 3 бағдарламалау тілдерінің ұтымды және тиімді іске асырылуы, ол микроконтроллерлерде және шектеулі ортада (мысалы, ESP8266) жұмыс істеуге оңтайландырылған. Бұл чипте Python IDE. Бір басты артықшылығы-Webrepl деп аталатын веб-браузер клиентінің көмегімен кодты құруға және оны тез өзгертуге болады. (Мұны Arduino-да орындап көріңіз.) Сіз деректерді тіркеуге немесе Arduino-дағы жарықдиодты экранға емес, Webrepl-де сенсорлық деректерді нақты уақытта көре аласыз.

ESP8266 дегеніміз не?

Қысқаша айтқанда, бұл кіріктірілген желі мүмкіндігі бар Arduino деп ойлаңыз. Arduino IDE көмегімен ESP8266 тақталарын C/C ++ тілінде бағдарламалауға болады немесе оны NodeMCU немесе MicroPython көмегімен жыпылықтауға болады. Бұл жобада мен MicroPython -ды ESP8266 тақтасына қосамын.

Мен осы қарапайым жоба үшін ESP8266-12EX негізіндегі WEMOS D1 алуды шештім, онда мен 2WD көлікті веб-браузер арқылы басқаратын боламын. MicroPython -ға арналған басқа да тақталар бар, бірақ егер олар менің критерийлеріме сәйкес келмесе, мен тастай алатын арзан нәрсе алғым келді. Күтілгендей, бұл менің барлық талаптарыма жауап берді және мен болашақтағы жобаларға WeMos пен Micropython -ды қосатын шығармын.

1 -қадам: бөлшектер

Бөлшектер
Бөлшектер
Бөлшектер
Бөлшектер
Бөлшектер
Бөлшектер
Бөлшектер
Бөлшектер
  • Wemos D1 немесе кез келген ESP8266 негізіндегі тақталар
  • Мотор қалқаны (мен AliExpress -тен арзан L293D қолданамын)
  • 4 x AA және 9V аккумуляторлық ұстағыштар (4 x AA батареялары қозғалтқыштарға арналған және 9V Wemos тақтасына арналған)
  • 2WD автомобиль шассиі
  • Дюпон кабельдері

Барлығын біріктіру үшін дәнекерлегіш, бұрағыш және желім пистолеті қажет болуы мүмкін.

2 -қадам: аппараттық құралдарды жинау

Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы

Алдымен нұсқаулыққа сәйкес шассиді жинаңыз.

Содан кейін, суретте көрсетілгендей, басқа компоненттерді ыстық желіммен жабыстырыңыз.

Қозғалтқыш сымдары қозғалтқыш терминалдарына дәнекерленген болуы керек және терминалдардың қосылыстарын нығайту үшін ыстық желімді қолданыңыз.

Кішкене қосқыш 4АА батарея ұстағышына бекітілген. Бұл мотор қалқанының қуатын қосады/өшіреді.

3 -қадам: Сымдарды жалғау

Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар

Менің қосылу схемасын суретте көрсетілгендей орындаңыз.

Қозғалтқыш қалқандары:

D1 IN2

D2 IN1 D3 IN4 ** өткізіп жіберу D4 D5 IN3 GND -> GND

Қозғалтқыштан қозғалтқышқа/қуатқа:

Терминал -> Сол жақ мотор

B терминалы -> Оң моторлы VCC -> Батарея (+) GND -> Батарея (-)

4 -қадам: MicroPython орнату

Біріншіден, Wemos -та CH304G негізіндегі сериялық/USB чипі бар. Бұл арзан Arduino-клондарында кездесетін чип және сіз Mac немесе компьютерге сәйкес драйверді орнатуыңыз керек. Драйверді орнату үшін осы сайттағы нұсқауларды орындаңыз.

Wemos -ты компьютерге қосыңыз және компьютер Wemos -ты анықтай алатынын растаңыз. Mac жүйесінде келесі пәрменді орындаңыз және сіз /dev/tty.wchusbserial640 деп аталатын құрылғыны көресіз.

$ ls -lt /dev /tty* | бас

crw-rw-rw- 1 түбірлік дөңгелек 17, 4 наурыз 2 23:31 /dev/tty.wchusbserial640

Егер сіз компьютерде болсаңыз, сіз осы нұсқаулықты сілтеме ретінде пайдалана аласыз.

Содан кейін сізге компьютерде Python 2 немесе 3 орнату қажет, себебі esptool.py флэш құралы Python -ға негізделген. MicroPython нұсқаулығы бұл құрал тек Python 2.7 -мен жұмыс істейтінін айтуы мүмкін, бірақ мен оны Python 3 -те еш қиындықсыз іске қоса алдым. Https://www.python.org сайтынан соңғы Python жүктеп алыңыз және компьютерге немесе Mac компьютеріне орнату нұсқауларын орындаңыз.

Ақырында, сізге MicroPython -ді Wemos -қа орнату қажет болады. MicroPython сайтында ESP8266 -де MicroPython -ды қалай орнату керектігі туралы тамаша нұсқаулық бар. ESP8266 -де MicroPython -ды іске қосудағы орнату нұсқауларын орындаңыз.

Төменде мен қолданған командалар:

$ esptool.py --port /dev/tty.wchusbserial640 erase_flash

esptool.py v1.3 Қосылуда…. Cesanta флэш -стопын іске қосу… Жарқылды өшіру (бұл біраз уақыт алуы мүмкін)… Өшіру 10,5 секундқа созылды

$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin

esptool.py v1.3 Қосылуда…. Cesanta жарқ еткізгіші жұмыс істеп тұр… 0x0240 флэш -параметрлері 0x0 кезінде 589824 байтты 50,8 секундта (92,8 кбит/с) жазды… Шығу…

MicroPython енді тақтаға орнатылды!

5 -қадам: Желіні орнату

Желіні орнату
Желіні орнату

MicroPython қазір Wemos -қа орнатылғанмен, ол сіздің желіге әлі қосылмаған. Алдымен сіз желіні қосуыңыз керек. Mac жүйесінде, Wemos жүйесіне сериялық терминалды сеансты бастау үшін SCREEN командасын орындаңыз.

$ экран /dev/tty.wchusbserial640 115200

Бос экранды көргенде, шақыруды көру үшін RETURN түймесін басыңыз:

>>

(Ескерту: Шығу үшін CTRL-A CTRL- / теріңіз.)

Енді веб -клиенттерге қатынауды қосайық. Орнату бағдарламасын іске қосу үшін «import webrepl_setup» теріңіз. WebREPL қосу үшін E енгізіңіз, содан кейін құпия сөзді орнатыңыз. Өзгерістерді белсендіру үшін қайта жүктеңіз.

>> webrepl_setup импорттау

WebREPL демонның автоматты түрде басталу күйі: өшірілген (E) қосуды немесе (D) жүктеу кезінде іске қосуды қалайсыз ба? (Шығу үшін бос жол)> E WebREPL қосу үшін оған құпия сөз орнату қажет Жаңа құпия сөз: xxxxx Құпия сөзді растау: xxxxx Қайта жүктеуден кейін өзгертулер қосылады Қазір қайта жүктегіңіз келе ме? (у/н) ж

Соңында Webrepl клиентін компьютерге жүктеңіз. Бұл міндетті емес, бірақ клиент кейінірек қолданғыңыз келетін басқа пайдалы құралдармен бірге келеді. Мысалы, webrepl_cli.py-бұл файлдарды Wemos-қа scp тәрізді синтаксисте көшіру командасы. Клиентті жүктеу үшін git пайдаланыңыз. (Егер сізде әлі жоқ болса, git құралын орнатыңыз.)

git клоны

Веб -шолғышты ашыңыз және URL өрісіне жүктелген webrepl клиент файлының орналасқан жерін енгізіңіз, мысалы:

файл: ///Users/xxxxx/wemos/webrepl/webrepl.html

Бұл шолғышта webrepl клиентін көрсетуі керек. Оған қосылмас бұрын, алдымен оның WIFi кіру нүктесіне қосылу керек. Егер сіз компьютер үшін қол жетімді WIFI-ге қарасаңыз, MicroPython-xxxx-тен басталатын желіні көресіз. Сол желіге қосылыңыз. (Ескерту: Сіз желіге қосылғаннан кейін Интернетке кіру мүмкіндігін жоғалтасыз.)

Webrepl клиентіне оралыңыз және Қосылу түймесін басыңыз. Ол құпия сөзді сұрауы керек. Wemos құпия сөзін енгізіңіз, сіз қосылуыңыз керек.

MicroPython -ға қош келдіңіз!

Құпия сөз: WebREPL қосылған >>>

Сіздің Wemos әлі де AccessPoint режимінде жұмыс істейді. Бұл жақсы болса да, мен оны үйдегі WIFI -ге қосылатын станция режимінде жұмыс істегенді жөн көремін, осылайша менің компьютерім оған үйдегі WIFI арқылы қол жеткізе алады және Интернетке әлі де кіре алады. Мұны істеу үшін сізге желі конфигурациясы бар boot.py деп аталатын файлды құру және оны Wemos -қа жүктеу қажет болады.

Міне boot.py үлгісі. SSID пен құпия сөзді үйдегі WIFI желісіне өзгертіңіз. Сонымен қатар, мен оған 192.168.0.32 статикалық IP бергім келеді. Оны үйдегі WIFI қол жетімді IP мекенжайына өзгертіңіз.

boot.py (сіз оны төменнен жүктей аласыз)

gc импорттау

webrepl def do_connect (): импорттау желісі sta_if = network. WLAN (network. STA_IF) егер sta_if.isconnected (): басып шығару ('желіге қосылу…') sta_if.active (True) sta_if.ifconfig (('192.168. 0.32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' ') sta_if.isconnected () емес: басып шығаруды рұқсат етіңіз (' желі конфигурациясы: ', sta_if).ifconfig ()) do_connect () webrepl.start () gc.collect ()

Boot.py файлын Wemos -қа жіберу үшін Webrepl клиентінің «Файл жіберу» формасын пайдаланыңыз. Қайта жүктеу үшін қалпына келтіру түймесін басыңыз. Егер сіз әлі де SCREEN пәрменін пайдаланып USB арқылы қосылсаңыз, сіз мынаны көресіз:

желіге қосылу… желінің конфигурациясы: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') WebREPL демоны ws -те іске қосылды: //192.168.4.1: 8266 WebREPL демоны w -те іске қосылды: //192.168.0.32: 8266 Қалыпты режимде іске қосылған webrepl 2017-01-09 күні MicroPython v1.8.7-7-gb5a1a20a3 оқу үшін 'main.py' файлын аша алмады; ESP8266 бар ESP модулі Қосымша ақпарат алу үшін «help ()» теріңіз. >>>

Бұл сіздің Wemos үйдегі WIFI -ге 192.168.0.32 IP мекенжайы арқылы қосылғанын растайды.

Тексеру үшін IP мекенжайын жіберуге болады.

$ ping 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 байт деректер

192.168.0.32 -ден 64 байт: icmp_seq = 0 ttl = 255 уақыт = 9.334 мс 192.168.0.32 -ден 64 байт: icmp_seq = 1 ttl = 255 уақыт = 11.071 мс..

6 -қадам: Негізгі бағдарламаны орнатыңыз

Негізгі бағдарламаны орнатыңыз
Негізгі бағдарламаны орнатыңыз
Негізгі бағдарламаны орнатыңыз
Негізгі бағдарламаны орнатыңыз

Ақырында, сіз Wemos -та жұмыс істей беретін негізгі бағдарламаны орнатуыңыз керек.

Веб -шолғышқа оралып, webrepl клиенттік бағдарламасын іске қосыңыз. IP мекенжайын Wemos IP мекенжайына өзгертіңіз. Менің жағдайда бұл қазір 192.168.0.32. Wemos құпия сөзін енгізіңіз, енді сіз Wemos -қа қосылуыңыз керек.

Қосылған main.py бағдарламасын жүктейік. Қосылған файлды компьютерге жүктеңіз. Жүктелген main.py файлын таңдау үшін Файлды таңдау түймесін басыңыз, содан кейін Құрылғыға жіберілген түймесін басыңыз.

Main.py бағдарламасын жүктеу үшін Қалдыру түймесін басу қажет. Қалпына келтіру түймесін басқаннан кейін сіз көресіз:

желіге қосылуда…

желі конфигурациясы: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

WebREPL демоны ws: //192.168.4.1: 8266 -де басталды WebREPL демоны ws: //192.168.0.32: 8266 -де басталды webrepl қалыпты режимде іске қосылды Тыңдалуда, шолғышты келесіге қосыңыз …

Бұл сіздің main.py бағдарламасы белсендірілгенін және 80 портқа енгізілгенін білдіреді.

Тексеру үшін веб -шолғышты ашып, https:// енгізіңіз.

Бұл бейнеде көрсетілгендей көлікті басқару экранын көрсетуі керек. Егер сымдар дұрыс қосылған болса, басқару түймелері көлікті жылжыту үшін GPIO порттарына тиісті сигналдарды жібереді.

7 -қадам: Болашақ жақсартулар

Келесі тапсырмалар менің v2 тізімімде:

  • Қозғалтқыш жылдамдығын басқару үшін PWM пайдаланыңыз
  • Веб -интерфейсті жақсарту. Мүмкін aREST құрылымын қолданыңыз. Мен aREST lib MicroPython -да қол жетімді емес деп ойлаймын, сондықтан оны бұзуға тура келуі мүмкін.

Бұл нұсқаулықты оқығаныңыз үшін рахмет. Болашақта басқа жобалар үшін мені Facebook, Youtube және Instructables -те қадағалаңыз.

Ұсынылған: