En aquesta practica aprenem com programar el ESP8266 utilitzant MicroPython i el IDE uPyCraft.
Com exemple fem que el LED del ESP8266 es posi intermitent, utilitzant el llenguatge MicroPython.

MicroPython es una implementació del llenguatge de programació Python 3. Es adequat per micro-controladors i per sistemes incrustats. Es quasi igual a Python però mes limitat.
MicroPython nomes inclou una part de totes les llibreries de Python 3. Les llibreries necessàries per interactuar amb els GPIOs dels micro-controladors. També inclou llibreries de suport a les connexions WiFi.
Es un llenguatge molt senzill de utilitzar. Com exemple, per fer intermitent un LED, nomes te 6 linies:
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
REPL (Read-Evaluate-Print Loop). REPL permet connectar amb la placa i executar el codi sense necessitat de compilar i de pujar-lo. MicroPython fa la programació molt mes fàcil.
Abans de instal·lar el IDE tenim primer que instal·lar Python 3.9.X – Windows PC
Pagina de descarrega:
www.python.org/downloads
Descarguen la versión per Windows de 64 bits.
Afegim Python al PATH en les variables d’entorn del sistema, marcar la casella Add Python 3.9 to Path.


Pagina de descarrega:
https://randomnerdtutorials.com/uPyCraftWindowsFem doble click en el arxiu descarregat uPyCraft_V1.1.exe i ja s’obre el IDE. No queda instal·lat en el ordinador. Cada vegada que volem obrir el IDE, tenim que executar el .exe baixat.

Per pujar el Firmware de MicroPython al ESP8266 utilitzem el IDE uPyCraft.
La placa ESP8266 no conté el programari MicroPython per defecte. La primera tasca a realitzar es flash MicroPython al ES8266.
Pagina de descarrega del Firmware de MicroPython:
https://micropython.org/download/#esp8266Buscar el fitxer .bin per ESP8266.

Clic en la ultima versió .bin
Connectem la placa al IDE per el port sèrie. Tools/serial/port. Posem el port en que esta connectada la nostre placa.
Escollim el tipus de micro-processador, ESP8266.
Busquem el arxiu .bin descarregat en Users. Clic OK.

Comença el procés de pujar el Firmware a la placa.

Obrim el IDE i observem 4 parts diferenciades:
1. Directoris i fitxers.
2. Editor.
3. Terminal de MicroPython.
4. Eines.

1. Directoris i fitxers.
El directori Device mostra els arxius que estan guardats en el ESP8266, que esta connectat via serial amb el IDE uPyCraft.
Per defecte hi ha el fitxer boot.py que s’executa quan s’inicia el ESP8266. També el main.py, que conté el nostre codi i que s’executa després del boot.py. Es recomanable sempre nomenar el nostre script com main.py.

La carpeta sd es nomes per plaques que suporten targeta sd.
uPy_lib mostra les llibreries.
Workspace es el directori on es guarden els nostres scpits.
2. Editor.
Es la part per escriure els nostres scrips.
3. Terminal de MicroPython.
El terminal serveis per executar comandos immediatament al ESP8266, sense necessita de pujar nous scrips. També mostra informació del estat del programa que s’executa, de errors, missatges, etc.
4. Eines.

Nou fitxer: crea un nou fitxer a l'Editor.
Obrir fitxer: obriu un fitxer des del vostre ordinador.
Desa fitxer: desa un fitxer.
Descarregar i executar: pengeu el codi al vostre tauler i executeu el codi.
Atura: atura l'execució del codi: és el mateix que introduir CRTL + C al Shell per aturar l'execució de tots els scripts.
Connecta / Desconnecta: connecta o desconnecta a la placa mitjançant Serial. Primer heu de seleccionar el port sèrie a Eines/ Sèrie.
Desfés: desfer l'últim canvi a l'Editor de codi.
Refés: refer l'últim canvi a l'Editor de codi.
Comprovació de sintaxi: comprova la sintaxi del vostre codi.
Esborra: esborra els missatges de la finestra de Shell / terminal.
Primer de tot es té que pujar (flash) MicroPython a la placa.
Passos per pujar el Script:
Connectar ESP8266 al IDE (ordinador) amb el cable USB-miniUSB.
Anar a Tools/Board i escollir ESP8266.
En Tools/Port seleccionar el port de la connexió de la placa amb el ordinador.
Prem el botó Connect per establir la comunicació sèrie amb la placa.


Prem el botó New file per crear un nou script.

Prem Save file per guardar el fitxer.

En el diàleg, posar el nom del nou fitxer, main.py

Copiar i enganxar el següent codi en el editor.
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
while True:
led.value(not led.value())
sleep(0.5)
Guarda els canvis i prem el botó Stop per si esta corrent quelcom script en el ESP8266.

Prem Dowload amd run, per pujar el script a la placa.

Te que sortir en el Shell del IDE dwnload ok, si la pujada ha sigut exitosa.

Prem el botó Stop.
Prem el botó Reset (RST) de la placa, per perquè corri el script des de el inici.
Consells de resolució de problemes.
El ESP8266 te que il·luminar-se i apagar-se el LED incrustat en la placa, cada mig segon.

La majoria d’errors se solucionen amb el botó STOP de IDE o amb el botó RST de la placa.
Exposem una llista dels missatges d’error mes comuns.
Error 1.
>>>
Select Serial Port could not open port 'COM4': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2)
O el missatge equivalent:
>>>
could not open port 'COM4': PermissionError(13, 'A device attached to the system is not functioning.', None, 31)
El port no es correcte o esta ocupat. Tancar els possibles programes que poden establir comunicació sèrie amb la placa. Desconnecta i torna a connectar la placa, reinicia el IDE. Torna a seleccionar el port en Tools/Serial.
Error 2.
Problemes en pujar un nou Script.
>>>
already in download model,please wait.
Prem Stop en uPyCraft per parar tots el programes que estan corren en la placa. Prem Download and run per pujar el script.
Error 3.
>>>
Ready to download this file,please wait!
...
download ok
os.listdir('.')
Traceback (most recent call last):
O també el següent missatge:
>>>
Ready to download this file,please wait!
...
download ok
os.listdir('.')
OSError: [Errno 98]
El script s’ha pujat amb èxit. Prem el botó RST de la placa per reiniciar-la. El script correrà des de el inici.
Error 4.
>>>
Brownout detector was triggered
Hi ha problemes de Hardware. Cable defectuós, placa amb defectes, port USB del ordinador no funciona o el port USB no proporciona el voltatge adient.
Error 5.
El diàleg de Burn Firmware pregunta per re-instal·lar el Firmware de MicroPython. La solució es obrir el port COM varies vegades, fins poder establir comunicació.
El mar.
Havaneres.
Lloret antic.
Lloret avui.
De cala Morisca a Sa Carabera.
De Sa Carabera a Treumal.
Lloret en kayak.
Vígilancia remota.
Caixa-tpv.
Cambrer-app.
Client webApp.
Relats del banc del si no fos
Històries d'ahir
Vídeos antics de Lloret
El caiac
Contes de l'avi.
Control d’accés amb contrasenya.
Orgue de llums.
Comparativa de editors Arduino.
Projecte bon Nadal.
Control de la qualitat del aire interior (CO2) amb semàfor LED.
NodeMCU-ThingSpeak
ThingSpeak.
NodeMCU com AccessPoint.
Control de la llum de casa per web.
Control de un led per el mòbil.
Sistema de fitxers en ESP8266.
Altura del nivell d'aigua.
Avis d’alarma a Telegram.
Control de la intensitat de llum de un LED per Internet.
Magatzematge de temperatura i humitat en Thinger.
Publicar temperatura i humitat en Google Sheets.
ESP8266 i Firebase.
La bàscula. ESP8266 NodeMCU amb cèl·lula de càrrega.
ESP32-CAM
ESP32-CAM captura fotos per ser vistes en la WEB.
Pujar fotos a un servidor FTP amb ESP32-CAM.
MicroPython en ESP8266.
Visual Estudio Code per Arduino.
Classificador d’imatges.
Instal·lar i configurar Apache en Ubuntu.
Accés a un servidor Linux remotament.
Client i Servidor FTP.
Màquina virtual UBUNTU.
WindowsXP en Virtualbox.
Multisim, simulador de circuits electrònics.
Proteus, simulador de circuits electrònics.
MySQL. Instal·lació.
MySQL. Aplicacions.
Netbeans Maven MySQL.
Java+Netbeans+Maven+EclipseLink+Mysql
Aplicació d’escriptori JavaFX
App JavaFX amb SceneBuilder
App Java-Swing









Noves tecnologies WEB Arduino Domótica MycroPython NodeMCU IoT Java ESP8266 Lora C++ Programació Server-Client