Разлика между версии на „ESP8266“

От VarnaLab
Направо към навигацията Направо към търсенето
Ред 14: Ред 14:
  
  
* Достъп до уеб конзолата
+
 
 +
== Достъп до уеб конзолата WebREPL ==
 +
 
 +
 
 
[http://docs.micropython.org/en/v1.9.3/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi Линкове за достъп до уеб клиента на конзолата и инсталация на локална конзола]
 
[http://docs.micropython.org/en/v1.9.3/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi Линкове за достъп до уеб клиента на конзолата и инсталация на локална конзола]
  
Ред 27: Ред 30:
  
 
След това добави IP в уеб конзолата и се свържи
 
След това добави IP в уеб конзолата и се свържи
 +
  
 
* Стъпки за създаване и допълване на библиотеки контролера:
 
* Стъпки за създаване и допълване на библиотеки контролера:

Версия от 21:34, 22 декември 2017

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


Достъп до уеб конзолата WebREPL

Линкове за достъп до уеб клиента на конзолата и инсталация на локална конзола

  • свързване на контролер към локалната мрежа
 import network
 sta_if = network.WLAN(network.STA_IF)
 sta_if.active(True)
 sta_if.connect('Име на мрежа', 'парола')

За да се провери IP-то на мрежата към която трябва да се свържи конзолата:

 sta_if.ifconfig()

След това добави IP в уеб конзолата и се свържи


  • Стъпки за създаване и допълване на библиотеки контролера:

Нужни библиотеки за работа с LCD модула (нужни са само esp8266_i2c_lcd.py и lcd_api.py)

  • отвори уеб конзолата
  • send a file
  • send to device

работа с файлове

docs.micropython


проверка и дали файла е качен

 >>> 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.

офицяклен github

За да започнете с това, просто добавете следното към вашето boot.py

 >>>import utelnetserver
 >>>utelnetserver.start()

тестван с клиент на telnet

 $ telnet 192.168.1.19

Ftp сървър

Mинимален FTP сървър достатъчно, за да получа списък на файлове.

офицяклен github

Стартиране

   >>>import uftpserver

Приложен хардуер


LCD DISPLAY 1602 BLUE + I2C ADAPTER


Lcd-display-1602-i2c-adapter.jpg

  • Библиотеки за контролера:

Нужни библиотеки за работа с LCD модула (нужни са само esp8266_i2c_lcd.py и lcd_api.py) https://gist.github.com/killa1093/ed2b81e5c697fafde2c7e2b3aa04dafa кода за scroller модула] След качването scroller модула:

 >> import scroller
 >> scroller.scroll('Текста който искаш да се изпише на дисплея')