Més enllà dels recursos que trobareu en aquest lloc web fruit de la feina dels diferents integrants del grup de treball, en aquest curs hem pogut explorar i reflexionar sobre diferents aspectes de l'IoT i la seva didàctica a l'aula, i que ens ha portat a una sèrie de conclusions.
Cal aprofundir en els aspectes ètics i de seguretat al voltant de l'IoT: dilema del cotxe autònom, abús governamental, confidencialitat de les dades, problemes de privacitat, possible accés de gent aliena a la nostra llar, registre de converses privades ...
Si bé trobem a la Internet diversos tutorials i experiències, la majoria pertanyen al món maker, i difícilment es poden aplicar a l'aula sense una adaptació. Moltes d'elles es podrien aplicar a nivell individual o en parella (a treballs de recerca de Batxillerat, fins-i-tot a un petit grup de PRE de 4t d'ESO), però difícilment a tota una promoció d'alumnes, ni tan sols a Batxillerat.
Si bé el treball a l'entorn arduino IDE amb el llenguatge de programació C++ el tenim actualment ben documentat en català, els exemples són o molt senzills o massa complicats. Cal desenvolupar projectes amb una dificultat moderada.
Sembla que el sistema de fitxers de la SD virtual LittleFS s'imposa en detriment del SPIFFS, que es preveu obsolet en el futur. Cal fer proves d'aquest nous sistema de fitxers, molt més complert encara que gasta més espai per fitxer.
Per altra banda les proves realitzades a l'entorn PlatformIO integrat a Visual Studio Code per programar amb el mateix llenguatge de programació C++, si bé ofereixen una major rapidesa en quant a compilació del codi per a la família ESP8266, la complexitat per a incloure llibreries o modificar la memòria flash dedicada a SD virtual desaconsellen el seu ús a l'àmbit docent.
Creiem que micropython és una bona alternativa com a llenguatge de codificació textual. Les experiències que trobareu en aquest mateix lloc web així ho demostren. Però ens falta afegir unes funcions que facilitin la connectivitat amb la Internet, servidors MQTT i ThinkSpeak, i preparar la documentació d'aquestes noves funcions.
Per altra banda cal descartar CircuiPython amb els ESP8266 i ESP32, ja que han retirat el suport per a aquests microcontroladors. Raons tècniques o guerra comercial encoberta? Amb el ESP32-S2, amb més RAM i suport nadiu USB aquests problemes no existeixen, al·leguen l'impacte de la COVID19 i no tenen previsions de calendari ... Ja veurem l'evolució del tema.
Si bé alguns llenguatges de programació de blocs tenen suport per a la família ESP8266, aquest és mínim, i no hi ha un suport específic dels mòduls D1 mini, limitant-se a les funcions IoT de l'ESP8266, fins-i-tot a la recent versió. 0.5 de MicroBlocks. En aquest sentit hem tingut contactes amb Bernat Romagosa, de l'equip fundador de MicroBlocks, i amb Juanjo López, creador de la plataforma ArduinoBlocks, per animar-los a treballar en aquest sentit i hem enviat de forma gratuita un kit complet D1 mini R2 a ambdós desenvolupadors. Aquestes dues plataformes de programació en blocs destaquen per l'autonomia del sistema una vegada programat, ja que el podem desconnectar de l'ordinador, a diferència d'altres plataformes (Scratch, Snap!) que, encara que amb versions modificades (OneGPIO Scratch 3 Extensions, Snap4Arduino) puguin treballar amb el D1 mini com a esclaus, necessiten la connexió constant amb l'ordinador, desvirtuant la filosofia IoT. Esperem que en els pròxims mesos les nostres gestions arribin a bon termini. La utilització de llenguatge de blocs és imprescindible per treballar amb alumnes dels primers nivells de l'ESO, encara que la seva aplicació es pot fer a qualsevol nivell educatiu, fins-i-tot universitari, tal com demostra la nova versió de Snap! amb càlcul vectorial.
La connectivitat WiFi a l'aula ha aparegut com un problema als centres transformats. La sofisticada criptografia utilitzada queda fora de les possibilitats de l'ESP8266. Si bé l'ESP32, molt més avançat, sembla que és capaç de connectar-se a aquestes xarxes, el seu preu més elevat i l'absència d'una placa base compatible desaconsellen el seu ús per ara, malgrat existeixen mòduls ESP32 compatibles amb pins amb el D1 mini. Sembla que la solució apunta per un mòdem amb SIM amb dades il·limitades.
Les proves realitzades amb centres de recollida i anàlisis de dades i que permeten la interacció web tals com node-RED i WebThings Gateway no semblen aconsellables al mon educatiu donat que es necessita un ordinador dedicat per a cada projecte o una màquina virtual, opció molt utilitzada a l'entorn universitari. En canvi les proves realitzades amb Snap! i Snap4Arduino utilitzant llibreríes MQTT o ThingSpeak semblen prometedores. Encara que l'anterior llibreria MQTT necessitava modificar el servidor Snap!, les gestions realitzades amb Xavier Pi i Bernat Romagosa ens han permès disposar d'una llibreria estàndard tant per a Snap! com per a Snap4Arduino. Cal desenvolupar una llibreria ThinkSpeak més completa.
Hem descobert que els mòduls D1 mini fabricats per l'empresa Robodyn utilitzen un bus I2C a 5V, incompatible amb els mòduls estàndard a 3,3 V. Per tant hem eliminat aquests mòduls del kit.
Per altra banda hem re-definit el pin del brunzidor al pin D6 (per defecte era el D5). D'aquesta forma aquest mòdul és compatible amb el mòdul led array, obrint la porta a nous projectes.
Hem re-definit també la base triple utilitzada al kit. Ara porta femelles a les tres columnes, amb mascles afegits a la tercera columna així com els anteriors mascles d'alimentació. S'ha eliminat el connector mascle I2C i el connector servo per facilitar la soldadura de la base.
Cal dosificar la informació que reben alumnes i professors nouvinguts al kit. En aquest sentit hem re-dissenyat el kit en 3 fases: bàsic, avançat i màster. El kit bàsic utilitza els components utilitzats amb èxit a l'entorn micropython: D1 mini, sensor DHT, brunzidor, display OLED, mòdul RGB i polsador. El kit avançat amplia el conjunt de mòduls D1 mini. El kit principal incorpora els components externs, així. com els mòduls CON1 i CON2 que faciliten la connexió d'aquests components. Estem redactant la segona edició del llibre IoT amb D1 mini (ESP8266) i codi Arduino per reflectir tots aquests canvis.
Cal treballar la codificació amb HTML a les aules. HTML5+CSS+JS permet la creació d'interfícies web autònomes als sistemes D1 mini.
El treball amb mòduls D1 mini virtuals és possible. Hem realitzat experiències amb molt d'èxit al confinament per la COVID19 tant amb micropython (repl.it) com amb HTML5. Cal facilitar l'accés a servidors d'aquests mòduls virtuals.
Com veieu, molts són els fruits d'aquest grup de treball que moltes vegades no es materialitzen en documents, però que acoten els camps a treballar i obren noves perspectives.