import Header from "@/components/Header"; import Footer from "@/components/Footer"; import PageHero from "@/components/PageHero"; import SectionHead from "@/components/SectionHead"; import Link from "next/link"; import frameworksDataPt from "@/public/frameworks.json"; import frameworksDataEn from "@/data/en/frameworks.json"; import frameworksDataEs from "@/data/es/frameworks.json"; import frameworksDataFr from "@/data/fr/frameworks.json"; import frameworksDataDe from "@/data/de/frameworks.json"; import { paginaMeta } from "@/lib/seo"; import { getLocalizedHref } from "@/i18n/links"; import { ArrowRight, ArrowUpRight, Box, Brain, Cloud, GraduationCap, Layers, Mic, Music, Sparkles } from "lucide-react"; const GUIAS_PT = [ { icon: GraduationCap, titulo: "Estou começando", texto: "Arduino ou MicroPython são os caminhos mais rápidos para testar sensores e APIs. Para produto, vá de ESP-IDF ou Rust.", links: [ ["Arduino", "/frameworks/Arduino"], ["MicroPython", "/frameworks/MicroPython"], ["Rust", "/frameworks/Rust-ESP"], ], }, { icon: Cloud, titulo: "Nuvem e casa conectada", texto: "ESP-Matter para interoperabilidade, ESP-RainMaker para nuvem pronta e Zigbee para redes locais de baixo consumo.", links: [ ["RainMaker", "/frameworks/ESP-RainMaker"], ["Matter", "/frameworks/ESP-Matter"], ["Zigbee", "/frameworks/ESP-Zigbee-SDK"], ], }, { icon: Sparkles, titulo: "Áudio, voz e IA", texto: "ESP-ADF para áudio, ESP-SR para reconhecimento de fala offline e ESP-NN para acelerar TinyML.", links: [ ["Áudio", "/frameworks/ESP-ADF", Music], ["Voz", "/frameworks/ESP-SR", Mic], ["IA", "/frameworks/ESP-NN", Brain], ], }, ]; const GUIAS_EN = [ { icon: GraduationCap, titulo: "Getting Started", texto: "Arduino or MicroPython are the fastest routes to test sensors and APIs. For production, go with ESP-IDF or Rust.", links: [ ["Arduino", "/frameworks/Arduino"], ["MicroPython", "/frameworks/MicroPython"], ["Rust", "/frameworks/Rust-ESP"], ], }, { icon: Cloud, titulo: "Cloud and Connected Home", texto: "ESP-Matter for interoperability, ESP-RainMaker for ready-made cloud, and Zigbee for low-power local mesh networks.", links: [ ["RainMaker", "/frameworks/ESP-RainMaker"], ["Matter", "/frameworks/ESP-Matter"], ["Zigbee", "/frameworks/ESP-Zigbee-SDK"], ], }, { icon: Sparkles, titulo: "Audio, Voice and AI", texto: "ESP-ADF for audio processing, ESP-SR for offline speech recognition, and ESP-NN for accelerating TinyML.", links: [ ["Audio", "/frameworks/ESP-ADF", Music], ["Voice", "/frameworks/ESP-SR", Mic], ["AI", "/frameworks/ESP-NN", Brain], ], }, ]; const GUIAS_ES = [ { icon: GraduationCap, titulo: "Estoy comenzando", texto: "Arduino o MicroPython son los caminos más rápidos para probar sensores y APIs. Para producto, elija ESP-IDF o Rust.", links: [ ["Arduino", "/frameworks/Arduino"], ["MicroPython", "/frameworks/MicroPython"], ["Rust", "/frameworks/Rust-ESP"], ], }, { icon: Cloud, titulo: "Nube y hogar conectado", texto: "ESP-Matter para interoperabilidad, ESP-RainMaker para nube lista y Zigbee para redes locales de bajo consumo.", links: [ ["RainMaker", "/frameworks/ESP-RainMaker"], ["Matter", "/frameworks/ESP-Matter"], ["Zigbee", "/frameworks/ESP-Zigbee-SDK"], ], }, { icon: Sparkles, titulo: "Audio, voz e IA", texto: "ESP-ADF para procesamiento de audio, ESP-SR para reconocimiento de voz offline y ESP-NN para acelerar TinyML.", links: [ ["Audio", "/frameworks/ESP-ADF", Music], ["Voz", "/frameworks/ESP-SR", Mic], ["IA", "/frameworks/ESP-NN", Brain], ], }, ]; const GUIAS_FR = [ { icon: GraduationCap, titulo: "Je débute", texto: "Arduino ou MicroPython sont les voies les plus rapides pour tester capteurs et APIs. Pour la production, optez pour ESP-IDF ou Rust.", links: [ ["Arduino", "/frameworks/Arduino"], ["MicroPython", "/frameworks/MicroPython"], ["Rust", "/frameworks/Rust-ESP"], ], }, { icon: Cloud, titulo: "Cloud et maison connectée", texto: "ESP-Matter pour l'interopérabilité, ESP-RainMaker pour un cloud clé en main et Zigbee pour les réseaux maillés locaux à basse consommation.", links: [ ["RainMaker", "/frameworks/ESP-RainMaker"], ["Matter", "/frameworks/ESP-Matter"], ["Zigbee", "/frameworks/ESP-Zigbee-SDK"], ], }, { icon: Sparkles, titulo: "Audio, voix et IA", texto: "ESP-ADF pour le traitement audio, ESP-SR pour la reconnaissance vocale hors ligne et ESP-NN pour accélérer le TinyML.", links: [ ["Audio", "/frameworks/ESP-ADF", Music], ["Voix", "/frameworks/ESP-SR", Mic], ["IA", "/frameworks/ESP-NN", Brain], ], }, ]; const GUIAS_DE = [ { icon: GraduationCap, titulo: "Erste Schritte", texto: "Arduino oder MicroPython sind die schnellsten Wege, um Sensoren und APIs zu testen. Für den Produkteinsatz empfehlen sich ESP-IDF oder Rust.", links: [ ["Arduino", "/frameworks/Arduino"], ["MicroPython", "/frameworks/MicroPython"], ["Rust", "/frameworks/Rust-ESP"], ], }, { icon: Cloud, titulo: "Cloud und Smart Home", texto: "ESP-Matter für Interoperabilität, ESP-RainMaker für eine fertige Cloud-Lösung und Zigbee für stromsparende lokale Mesh-Netzwerke.", links: [ ["RainMaker", "/frameworks/ESP-RainMaker"], ["Matter", "/frameworks/ESP-Matter"], ["Zigbee", "/frameworks/ESP-Zigbee-SDK"], ], }, { icon: Sparkles, titulo: "Audio, Sprache und KI", texto: "ESP-ADF für Audioverarbeitung, ESP-SR für Offline-Sprachkennung und ESP-NN zur Beschleunigung von TinyML.", links: [ ["Audio", "/frameworks/ESP-ADF", Music], ["Sprache", "/frameworks/ESP-SR", Mic], ["KI", "/frameworks/ESP-NN", Brain], ], }, ]; export default async function Frameworks({ params }) { const { locale } = await params; const isEn = locale === "en"; const isEs = locale === "es"; const isFr = locale === "fr"; const isDe = locale === "de"; const currentLocale = isEs ? "es" : isEn ? "en" : isFr ? "fr" : isDe ? "de" : "pt"; const frameworksData = isEs ? frameworksDataEs : isEn ? frameworksDataEn : isFr ? frameworksDataFr : isDe ? frameworksDataDe : frameworksDataPt; const frameworks = Object.entries(frameworksData); const guias = isEs ? GUIAS_ES : isEn ? GUIAS_EN : isFr ? GUIAS_FR : isDe ? GUIAS_DE : GUIAS_PT; return (
{guias.map(({ icon: Icon, titulo, texto, links }) => (

{titulo}

{texto}

    {links.map(([rotulo, href, Extra]) => (
  • {Extra &&
  • ))}
))}

ESP Component Registry

{isEs ? ( <> Instale controladores de pantalla (LVGL), pilas industriales (Modbus), integraciones en la nube y paquetes de soporte para placas (BSPs) con una sola línea en su manifiesto idf_component.yml. ) : isEn ? ( <> Install display drivers (LVGL), industrial stacks (Modbus), cloud integrations, and board support packages (BSPs) with a single line in your idf_component.yml manifest. ) : isFr ? ( <> Installez des pilotes d'écran (LVGL), des piles industrielles (Modbus), des fonctionnalités cloud et des paquets de support de cartes (BSPs) avec une seule ligne dans votre manifeste idf_component.yml. ) : isDe ? ( <> Installieren Sie Display-Treiber (LVGL), Industrieprotokolle (Modbus), Cloud-Funktionen und Board-Support-Pakete (BSPs) mit einer einzigen Zeile in Ihrem idf_component.yml-Manifest. ) : ( <> Instale drivers de display (LVGL), pilhas industriais (Modbus), recursos de nuvem e pacotes de placa (BSPs) com uma linha no manifesto idf_component.yml. )}

{isEs ? "Explorar componentes" : isEn ? "Explore components" : isFr ? "Explorer les composants" : isDe ? "Komponenten erkunden" : "Explorar componentes"}
{frameworks.map(([key, framework]) => (

{framework.nome}

{framework.linguagem}

{framework.tipo}

{framework.descricao}

    {framework.casos_uso.slice(0, 3).map((caso) => (
  • {caso}
  • ))}
{isEs ? "Ver detalles y ejemplo" : isEn ? "View details and example" : isFr ? "Voir les détails et l'exemple" : isDe ? "Details und Beispiel ansehen" : "Ver detalhes e exemplo"} ))}
); }