Разлика между версии на „ESP8266“
Ред 13: | Ред 13: | ||
$ esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash | $ esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash | ||
+ | *Запазване на резервно копие(bascap). | ||
+ | |||
+ | $ esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x00000 0x400000 image4M.bin | ||
+ | |||
+ | * възстанови резервно копие. | ||
+ | |||
+ | $ esptool.py --port /dev/ttyUSB0 --baud 460800 erase_flash --flash_size=detect -fm dio 0 image4M.bin | ||
Версия от 22:28, 1 април 2018
ESP8266
MicroPython
Документация за инсталация на MicroPython на платката
- Промени порт-а в зависимост къде е свързан микроконтролера
$ cd ~/micropython/micropython1.9.3 $ esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20171101-v1.9.3.bin $ esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash
- Запазване на резервно копие(bascap).
$ esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x00000 0x400000 image4M.bin
- възстанови резервно копие.
$ esptool.py --port /dev/ttyUSB0 --baud 460800 erase_flash --flash_size=detect -fm dio 0 image4M.bin
Достъп до уеб конзолата WebREPL
Линкове за достъп до уеб клиента на конзолата и инсталация на локална конзола
- Преди да се свържете с WebREPL, трябва да зададете парола и да я активирате чрез нормална серийна връзка.
>>>import webrepl_setup
- свързване на контролер към локалната мрежа
>>>import network >>>sta_if = network.WLAN(network.STA_IF) >>>sta_if.active(True) >>>sta_if.connect('Име на мрежа', 'парола')
За да се провери IP-то на мрежата към която трябва да се свържи конзолата:
>>>import network >>>sta_if = network.WLAN(network.STA_IF) >>>sta_if.ifconfig()
След това добави IP в уеб конзолата и се свържи
- Стъпки за създаване и допълване на библиотеки контролера:
Нужни библиотеки за работа с LCD модула (нужни са само esp8266_i2c_lcd.py и lcd_api.py)
- отвори уеб конзолата
- send a file
- send to device
работа с файлове
проверка и дали файла е качен
>>> import os >>> os.listdir() ['boot.py', 'webrepl_cfg.py', 'test.py']
изтриване на файлове
>>> os.remove('test.py')
редактиране на файлове
- създаване
>>> f = open('boot.py', 'w') >>> f.write('import gc\n') #добавя се знак за нов ред 9 >>> f.close()
- вписване (допълване)
>>> f = open('boot.py', 'a') >>> f.write('gc.collect()\n') #добавя се знак за нов ред 12 >>> f.close()
- проверка
>>> f = open('boot.py') >>> f.read() 'import gc\ngc.collec()'
изпълняване на кода
кода за scroller модула След качването scroller модула:
>> import scroller >> scroller.scroll('Текста който искаш да се изпише на дисплея')
Проверка на свободната флаш памет
esp - функции, свързани с ESP8266
>>> import esp >>> esp.flash_size()
os.statvfs('cd') Извършете statvfs()системно повикване по даден път. Върнатата стойност е обект чиито качества описва файловата система на даден път, и съответства на членовете на statvfs структурата, а именно: f_bsize, f_frsize, f_blocks, f_bfree, f_bavail, f_files, f_ffree, f_favail, f_flag, f_namemax.
пример:
>>> import os >>> (f_bsize, f_frsize, f_blocks, f_bfree, f_bavail, f_files, f_ffree, f_favail, f_flag, f_namemax)=os.statvfs('cd') >>> f_bfree 848
Приложен софтуер
MQTT
Telnet сървър
Внедряване на telnet сървър, който ще закачи клиентите на telnet до REPL.
За да започнете с това, просто добавете следното към вашето boot.py
>>>import utelnetserver >>>utelnetserver.start()
тестван с клиент на telnet
$ telnet 192.168.1.19
Ftp сървър
Mинимален FTP сървър достатъчно, за да получа списък на файлове.
Стартиране
>>>import uftpserver
Приложен хардуер
LCD DISPLAY 1602 BLUE + I2C ADAPTER
- Библиотеки за контролера:
Нужни библиотеки за работа с LCD модула (нужни са само esp8266_i2c_lcd.py и lcd_api.py) https://gist.github.com/killa1093/ed2b81e5c697fafde2c7e2b3aa04dafa кода за scroller модула] След качването scroller модула:
>> import scroller >> scroller.scroll('Текста който искаш да се изпише на дисплея')
Прост уеб сървър за включване и изключване на LED
- Прост уеб сървър за включване и изключване на светодиодите с Micropython.
- по подразбиране са настроени gpio0 gpio2 може да се променят.
#Setup PINS LED0 = machine.Pin(0, machine.Pin.OUT) LED2 = machine.Pin(2, machine.Pin.OUT)
- стартиране
>>>import led