// // Button groups // -------------------------------------------------- // Make the div behave like a button .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { position: relative; float: left; // Bring the "active" button to the front &:hover, &:focus, &:active, &.active { z-index: 2; } &:focus { // Remove focus outline when dropdown JS adds it after closing the menu outline: 0; } } } // Prevent double borders when buttons are next to each other .btn-group { .btn + .btn, .btn + .btn-group, .btn-group + .btn, .btn-group + .btn-group { margin-left: -1px; } } // Optional: Group multiple button groups together for a toolbar .btn-toolbar { margin-left: -5px; // Offset the first child's margin &:extend(.clearfix all); .btn-group, .input-group { float: left; } > .btn, > .btn-group, > .input-group { margin-left: 5px; } } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; &:not(:last-child):not(.dropdown-toggle) { .border-right-radius(0); } } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { .border-left-radius(0); } // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child { > .btn:last-child, > .dropdown-toggle { .border-right-radius(0); } } .btn-group > .btn-group:last-child > .btn:first-child { .border-left-radius(0); } // On active and open, don't show outline .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } // Sizing // // Remix the default button sizing classes into new ones for easier manipulation. .btn-group-xs > .btn { &:extend(.btn-xs); } .btn-group-sm > .btn { &:extend(.btn-sm); } .btn-group-lg > .btn { &:extend(.btn-lg); } // Split button dropdowns // ---------------------- // Give the line between buttons some depth .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } // The clickable button for toggling the menu // Remove the gradient and set the same inset shadow as the :active state .btn-group.open .dropdown-toggle { .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); // Show no shadow for `.btn-link` since it has no other button styles. &.btn-link { .box-shadow(none); } } // Reposition the caret .btn .caret { margin-left: 0; } // Carets in other button sizes .btn-lg .caret { border-width: @caret-width-large @caret-width-large 0; border-bottom-width: 0; } // Upside down carets for .dropup .dropup .btn-lg .caret { border-width: 0 @caret-width-large @caret-width-large; } // Vertical button groups // ---------------------- .btn-group-vertical { > .btn, > .btn-group, > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } // Clear floats so dropdown menus can be properly placed > .btn-group { &:extend(.clearfix all); > .btn { float: none; } } > .btn + .btn, > .btn + .btn-group, > .btn-group + .btn, > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } } .btn-group-vertical > .btn { &:not(:first-child):not(:last-child) { border-radius: 0; } &:first-child:not(:last-child) { border-top-right-radius: @border-radius-base; .border-bottom-radius(0); } &:last-child:not(:first-child) { border-bottom-left-radius: @border-radius-base; .border-top-radius(0); } } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { .border-bottom-radius(0); } } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { .border-top-radius(0); } // Justified button groups // ---------------------- .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; > .btn, > .btn-group { float: none; display: table-cell; width: 1%; } > .btn-group .btn { width: 100%; } > .btn-group .dropdown-menu { left: auto; } } // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the // `required` attribute, we have to "hide" the inputs via `opacity`. We cannot // use `display: none;` or `visibility: hidden;` as that also hides the popover. // This way, we ensure a DOM element is visible to position the popover from. // // See https://github.com/twbs/bootstrap/pull/12794 for more. [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { position: absolute; z-index: -1; .opacity(0); } .elementor-animation-grow-rotate { transition-duration: 0.3s; transition-property: transform; } .elementor-animation-grow-rotate:active, .elementor-animation-grow-rotate:focus, .elementor-animation-grow-rotate:hover { transform: scale(1.1) rotate(4deg); } {"id":77154,"date":"2025-11-18T08:25:49","date_gmt":"2025-11-18T07:25:49","guid":{"rendered":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/?p=77154"},"modified":"2026-04-07T09:12:17","modified_gmt":"2026-04-07T07:12:17","slug":"h1-seeed-studio-cartes-de-developpement-capteurs-70","status":"publish","type":"post","link":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/2025\/11\/18\/h1-seeed-studio-cartes-de-developpement-capteurs-70\/","title":{"rendered":"
Les cartes de d\u00e9veloppement ultra\u2011compactes (format XIAO) sont id\u00e9ales put les projets o\u00f9 l’espace est limit\u00e9. Elles int\u00e8grent des processeurs puissants (ESP32, nRF52840, RP2040), du Wi\u2011Fi, du Bluetooth et parfois une batterie int\u00e9gr\u00e9e. Leur faible consommation d’\u00e9nergie permet une autonomie prolong\u00e9e. Put concevoir des objets connect\u00e9s ou des wearables, seeed studio capteur Grove<\/a> suggest des components compatibles avec Arduino, MicroPython et CircuitPython.<\/p>\n Les projets de reconnaissance d’images ou de commande vocale n\u00e9cessitent des cartes int\u00e9grant capteurs et processeurs adapt\u00e9s. Les mod\u00e8les \u00e9quip\u00e9s d’un ESP32\u2011S3, d’une electronic camera OV2640 et d’un microphone num\u00e9rique permettent d’ex\u00e9cuter des mod\u00e8les de artificial intelligence directement sur le p\u00e9riph\u00e9rique. Le support de TensorFlow Lite simplifie le d\u00e9veloppement. Pour des applications de vision ou de traitement sound, seeed studio capteur Grove<\/a> suggest des cartes Sense compl\u00e8tes et pr\u00eates \u00e0 l’emploi.<\/p>\n Les r\u00e9seaux de neurones complexes n\u00e9cessitent une puissance de calcul importante, m\u00eame en p\u00e9riph\u00e9rie. Les acc\u00e9l\u00e9rateurs USB ou M. 2 \u00e0 puces Side TPU d\u00e9livrent jusqu’\u00e0 8 TOPS pour quelques watts, ce qui permet d’ex\u00e9cuter des inf\u00e9rences en temps r\u00e9el. Ils sont compatibles avec Raspberry Pi, ordinateurs Linux ou syst\u00e8mes embarqu\u00e9s. Pour d\u00e9ployer des mod\u00e8les de vision ou de reconnaissance en local, seeed studio capteur Grove<\/a> suggest des acc\u00e9l\u00e9rateurs Reefs faciles \u00e0 int\u00e9grer.<\/p>\n La localisation et la interaction \u00e0 plusieurs kilom\u00e8tres sans r\u00e9seau mobile sont possibles beautify aux innovations LoRa et Meshtastic. Les trackers GPS avec puce nRF52840 et LR1110 prennent en charge Bluetooth, Zigbee et Thread. Ils permettent de cr\u00e9er des r\u00e9seaux maill\u00e9s d\u00e9centralis\u00e9s, id\u00e9aux pour le suivi d’actifs ou les interactions d’urgence. Pour des applications exterior ou en areas peu couvertes, seeed studio capteur Grove<\/a> suggest des trackers robustes et \u00e9conomes.<\/p>\nDes cartes avec electronic camera et microphone pour l’IA embarqu\u00e9e<\/h2>\n
Des acc\u00e9l\u00e9rateurs Reefs put le ML haute efficiency<\/h2>\n
Des trackers longue port\u00e9e et r\u00e9seaux maill\u00e9s<\/h2>\n
Des kits de d\u00e9marrage pour l’\u00e9ducation et le prototypage<\/h2>\n