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 { 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], ], }, ]; export default async function Frameworks({ params }) { const { locale } = await params; const isEn = locale === "en"; const isEs = locale === "es"; const currentLocale = isEs ? "es" : isEn ? "en" : "pt"; const frameworksData = isEs ? frameworksDataEs : isEn ? frameworksDataEn : frameworksDataPt; const frameworks = Object.entries(frameworksData); const guias = isEs ? GUIAS_ES : isEn ? GUIAS_EN : 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. ) : ( <> 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" : "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" : "Ver detalhes e exemplo"} ))}
); }