Dans le monde de la technologie, des expériences curieuses basées sur le mélange de créativité et de connaissances techniques ne manquent pas, mais celle que nous vous apportons aujourd'hui est l'une des plus frappantes que nous ayons vues ces derniers temps (ainsi que l'exécution de jeux vidéo dans un PDF): il consiste à utiliser quelque chose d'aussi insuffisant qu'un vapeur Jetable pour abriter une page Web.
Oui, un appareil conçu pour «consommer (vapeur) et lancer» se termine dans un minuscule serveur consultable à partir d'Internet. Comment restez-vous?
Des ordures électroniques en laboratoire improvisé
Pendant des années, les «vapoteurs» jetables ont été considérés comme un problème environnemental: ils contiennent des batteries rechargeables et des composants électroniques qui sont rarement recyclés. L'auteur du projet a décidé de collecter certains de ces appareils, d'abord pour profiter uniquement des batteries.
Cependant, il a rapidement découvert que les modèles les plus récents incluent déjà des microcontrôleurs (minuscules puces capables d'exécuter des logiciels, tels que Arduino) dotés d'une certaine «puissance».
Au lieu de vous limiter à l'extraction de pièces, il a pensé: que se passerait-il si vous essayez d'exécuter un serveur Web sur l'un de ces appareils? L'idée, qui semble absurde à première vue, est devenue un défi technique pour notre protagoniste, Bogdan Ionescu.
Le cœur caché de vapeur
Lors de l'ouverture de plusieurs modèles, l'auteur a trouvé une puce identifiée comme PUYA C642F15. En un mot, il s'agit d'un Cortex-M0 + du Microcontroller ARM avec des spécifications très modestes: processeur de 24 MHz (mille fois plus lent que votre mobile), 24 Ko de mémoire flash et 3 Ko de RAM.
Comparé à un ordinateur ou même avec un téléphone il y a 20 ans, c'est presque ridicule. Cependant, ces limitations sont précisément ce qui rend l'expérience attrayante: un matériel aussi simple peut-il être converti en serveur fonctionnel?
Le défi de le connecter à Internet
De toute évidence, le vapeur Il n'a pas de câble Wi-Fi ni réseau. Ainsi, pour relever le défi, la première étape a été de simuler une connexion: Ionscu a décidé d'utiliser un ancien protocole appelé Slip (Protocole Internet de ligne série), ce qui a permis d'envoyer des données Internet pour un port série, tels que les modems des années 90.
Avec quelques outils logiciels, il a obtenu l'appareil Microchip capable de « parler à Internet ». Il a ensuite ajouté un mini serveur HTTP (intégré dans l'application UIP) qui pourrait répondre aux demandes d'un navigateur.
Optimisation: de la tortue au lièvre
Au début, le serveur était si désespérément lent qu'il s'est même amusé: les Pings ont pris 1,5 seconde et le chargement d'une page pourrait prendre plus de 20 secondes. Fondamentalement, c'était comme revenir sur Internet par téléphone des années 90.
Mais le problème était dans la façon dont les données ont été traitées: octet à l'octet. Dès que cela a été optimisé, le serveur a ensuite répondu en 20 millisecondes et pourrait charger une page complète en seulement 160 millisecondes. Tout cela, avec moins de la moitié de la RAM occupé et seulement 20% de la mémoire flash utilisée.
Mais que peut-on faire avec un tel serveur?
Vous n'allez pas monter Netflix dans un vapeurévidemment: il n'a pas le pouvoir d'exécuter des applications lourdes ou de prendre en charge beaucoup de trafic. Mais cela peut:
- Servir des pages statiques, comme l'article où l'expérience est documentée.
- Exécuter de petits programmes écrits en C.
- Offrez une API simple dans JSON qui renvoie des données telles que le nombre de visites ou l'identifiant unique du microcontrôleur.
En d'autres termes, un vapeur Jetable peut devenir une petite fenêtre Internet surprenante.
Au-delà de la blague, la clé de la question
Bien que le projet ait un air humoristique – « Mon blog fonctionne dans un vapeur« – Cela soulève également des questions de fond:
- Réutilisation technologique: les appareils jetés peuvent avoir une deuxième vie créative.
- Efficacité extrême: montre à quel point il peut être atteint avec des ressources limitées, nous rappelant que les logiciels modernes sont généralement beaucoup plus lourds que nécessaire.
- Curiosité et apprentissage: le démontage, la recherche et l'expérimentation est l'un des meilleurs moyens de comprendre comment les systèmes intégrés fonctionnent vraiment.
Via | Github