Internet de les coses amb ESP32 i ESP8266

Exemples Referència Plaques   Recursos CITCEA
Projectes Programació Perifèrics   Inici

Comandes http per comunicar amb el servidor

Quan carreguem una pàgina web fem servir una comanda http (o https). Quan nosaltres ens haguem de connectar a la nostra placa o haguem de connectar la placa a un servidor farem servir comandes http. A continuació tenim un exemple de comanda http.

http://recursos.citcea.upc.edu:80/iot/tutor/prova.html?m=1&n=4&h=hola

Anem a comentar les diferents parts d'aquesta comanda.

Exemple Descripció
http Inici de la comanda http, indicatiu del protocol
També podria ser https si és una connexió segura
:// Separador que va després del protocol
recursos.citcea.upc.edu Nom complet del servidor
upc.edu Domini (part del nom que identifica l'empresa o la xarxa)
: Separador per al port
80 Port de connexió
80 és el port http per defecte (en https és el 443
/iot/tutor/prova.html Adreça de la pàgina sol·licitada (o del fitxer desitjat)
? Separador de dades d'una comanda get
m=1 Primera dada
& Separador entre la primera dada i les següents
n=4     h=hola Més dades

Anem a comentar algunes d'aquestes parts.

En alguns casos farem servir l'adreça IP en lloc del nom del servidor. Un exemple d'adreça IP seria:

192.168.4.1

Quan ens connectem a un servidor acostumem a fer servir el nom i llavors hi ha uns dispositius a la xarxa (anomenats DNS) que s'encarreguen de fer la conversió. Així no cal preocuparse si el servidor canvia d'adreça (sempre que l'administrador del servidor hagi comunicat el canvi al DNS). Nosaltres farem servir l'adreça IP quan ens comuniquem amb la nostra placa de manera local. En aquests casos no tindrem un arbre de carpetes i, per tant, la nostra adreça acabarà a la / si no té dades o paràmetres. Per exemple:

http://192.168.4.1/
http://192.168.4.1/m=4

Quan el port és el de defecte no cal posar-lo. Si us fixeu, no surt en l'adreça d'aquesta pàgina.

Les dades get son dades que es passen en la pròpia comanda http. El format de cada dada és nom=valor i es separen entre elles amb el signe & sense espais. L'inici de les dades s'indica amb un interrogant.

L'adreça de les pàgines es pot entendre amb aquests exemples:

Exemple Descripció
/iot/tutor/prova.html Agafa la pàgina prova.html que es troba a la carpeta tutor que
està dins la carpeta iot de la carpeta principal del servidor.
/iot/tutor/ Agafa la pàgina per defecte (en molts servidors és index.html) de la carpeta tutor que
està dins la carpeta iot de la carpeta principal del servidor.
/ Agafa la pàgina per defecte (en molts servidors és index.html)
de la carpeta principal del servidor.

Quan estem fent una pàgina web i hi posem enllaços, tenim algunes opcions més. En els enllaços hi podem posar adreces completes (adreçament absolut) o adreces parcials (adreçament relatiu). Cal fer servir l'adreçament absolut quan anem a una pàgina d'un altre servidor mentre que si ens quedem al mateix servidor podem fer una adreçament relatiu a la posició de l'arxiu actual. Els exemples que hem vist fins ara tenien adreçament absolut. La següent taula mostra alguns exemples d'adreçament relatiu. Estem suposant que els enllaços que es mostren estan en el document

http://recursos.citcea.upc.edu/iot/tutor/prova.html

i, per tant, estan en referència a la ubicació d'aquest.

Exemple Adreça corresponent a l'exemple Comentaris
arduino.html http://recursos.citcea.upc.edu/iot/tutor/arduino.html Està a la mateixa carpeta
/ http://recursos.citcea.upc.edu/ Carpeta arrel o principal del servidor
/iot.css http://recursos.citcea.upc.edu/iot.css Carpeta arrel o principal del servidor
./ http://recursos.citcea.upc.edu/iot/tutor/ Carpeta actual
../ http://recursos.citcea.upc.edu/iot/ Hem pujat un nivell
../../ http://recursos.citcea.upc.edu/ Hem pujat dos nivells
../refer/ http://recursos.citcea.upc.edu/iot/refer/ La carpeta refer està al mateix directori que la tutor
../refer/http.html http://recursos.citcea.upc.edu/iot/refer/http.html La carpeta refer està al mateix directori que la tutor

Alguns navegadors van a buscar la icona del lloc web, anomenada favicon.ico a l'arrel del servidor. És probable, doncs, que cada cop que carreguem la pàgina el microcontrolador vegi dues peticions, la primera serà la nostra mentre que la segona, probablement, serà:

http://192.168.4.1/favicon.ico

En alguns casos, aquesta petició ens pot donar problemes i caldrà detectar-la i descartar-la.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.