Las ondas electromagnéticas permiten comunicaciones inalámbricas (sin cables) entre dispositivos electrónicos. talvez, la radio y los teléfonos celulares sean grandes ejemplos del uso de ondas electromagnéticas. la tarjeta microbit también tiene una interface de radio que le permite enviar datos a otros microbit. en este apartado aprenderemos sobre los bloques usados para enviar y recibir datos a través de ondas electromagnéticas con la tarjeta micro:bit.

 

 


| Clique na imagem para ampliar |

 

 

Enviar y recibir mensajes inalámbricos es posible, gracias a la radiofrecuencia, las cuales son ondas electromagnéticas viajando por el espacio a una frecuencia determinada. Para que las ondas puedan ser transmitidas y recibidas es necesario hacerlo a través de una antena. En el caso de la microbit podemos observar la antena en la parte superior izquierda de la parte trasera de la tarjeta, como muestra la siguiente imagen.

 


 

 

Existe mucha información sobre radiofrecuencia, pero para centrarnos en la tarjeta microbit, pasaremos a describir los bloques usados por la radio de esta tarjeta. Los bloques para controlar la interface de radio de la tarjeta microbit se encuentran en el menú: “Radio”, como mostrado en la siguiente imagen:

 

 


 

 

 

El bloque: “radio establecer grupo” permite seleccionar un ID (canal de frecuencia) de radio, entre 0 a 255, por el cual enviar y recibir mensajes. Este bloque se usa y configura al iniciar el programa, es decir en el bloque: “al iniciar”. Para que otras tarjetas microbit reciban sus mensajes, es necesario que pertenezcan al mismo grupo, configurado en su tarjeta microbit. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “radio enviar número”, difunde un numero a otros microbits a través de radio. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “radio enviar valor”, difunde un par de valores. El primer valor es un texto con hasta 8 caracteres. El segundo es un número. Este bloque es mostrado en la siguiente figura:

 


 

 

 

El bloque: “radio enviar cadena”, difunde un texto de hasta 19 caracteres a otros microbit, vía radio. La siguiente imagen muestra este bloque:

 


 

 

 

El bloque: “al recibir radio receivedNumber”, se ejecuta cuando la tarjeta microbit, recibe un numero en el radio. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “al recibir radio name value”, se ejecuta cuando la tarjeta microbit, recibe un par (nombre, valor) en el radio. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “al recibir radio receivedString”, se ejecuta cuando la tarjeta microbit, recibe un texto en el radio. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “paquete recibido”, obtiene una de las propiedades del último paquete de radio recibido. Este bloque no funciona en el simulador. La siguiente figura muestra este bloque:

 


 

 

 

Las propiedades que se pueden conseguir con este bloque son:

• Intensidad de la señal cuando se recibió el paquete.

• La hora en que se envió el paquete.

• El número de serie de la tarjeta microbit que envió el paquete.

Observa en la siguiente figura estas propiedades:

 


 

 

 

El bloque: “radio establecer potencia de transmisión”, hace que la señal de radio sea más fuerte o débil. El número que recibe este bloque puede estar entre 0 a 7. Si la tarjeta microbit establece la potencia de transmisión en 7 y está en una zona abierta, la señal de radio puede alcanzar hasta unos 70 metros de distancia. La siguiente figura muestra este bloque:

 


 

 

 

El bloque: “radio establecer número de serie de transmisión”, hace que el paquete de radio incruste el número de serie de la tarjeta microbit, con cada paquete de datos transmitido. La siguiente figura muestra este bloque:

 


 

 

 

Para usar los bloques del menú: Radio, es necesario programar dos tarjetas microbit y así, una o otra tarjeta trasmite mensajes vía radio. Si los bloques usados van ha ser programados por igual en las tarjetas, puede usar el simulador de Makecode que automáticamente se ejecuta cuando se usan los bloques de radio como mostrado en la siguiente imagen:

 


 

 

 

Si los bloques usados en un proyecto vía radio, son diferentes, entonces puede usar el editor múltiple, el cual fue desarrollado con este fin:

 


 

 

 

Para llegar a este editor, habra Makecode y vaya hasta la seccion: Juegos de radio/editores multiples, como muestra la siguiente imagen:

 

 

 


| Clique na imagem para ampliar |

 

 

Cuando de click en este icono, aparecerá el programa Makecode, con la posibilidad de programar dos proyectos como mostrado en la siguiente figura:

 


| Clique na imagem para ampliar |

 

 

Ya en el editor múltiple, puede tener un programa en una ventana y otro programa en el editor del lado. Observa en la siguiente figura que también hay dos tarjetas microbit:

 


| Clique na imagem para ampliar |

 

 

Dando click en la tarjeta microbit del editor múltiple, puede tener una visión ampliada de la microbit, como mostrado en la siguiente imagen:

 


| Clique na imagem para ampliar |

 

 

 

PRACTICA DADOS MULTIPLES CON RADIO.

 

 


 

 

 

En esta práctica crearemos un juego de dados multijugador usando la radio de las tarjetas microbit. El juego consiste en agitar las tarjeta para “tirar los dados” y enviar a otros tarjetas microbit el resultado. Si el numero enviado es menor que el tuyo, ganaste. El programa en bloques para este juego sería el siguiente:

 


 

 

 

 


 

 

 

El programa es muy sencillo de entender. Es necesario crear una variable llamada: “dado”, para almacenar el resultado. En el bloque: “al iniciar”, configuramos el grupo de radio, para 1. Cuando la tarjeta microbit es agitada, se escoge un numero al azar, entre 1 y 6. Este número es almacenado en la variable: “dado”, mostrado en el display de LEDs y luego transmitido vía radio para los otros microbit. El bloque que se encarga de la recepción del número, compara el número recibido con la variable: “dado” que hay en su tarjeta microbit, si el valor recibido es mayor o igual, has perdido el juego y se muestra un emoji triste. La siguiente imagen muestra como se muestra en juego en la pantalla LED de 5x5:

 


 

 

 

 

PRACTICA ESTADO DE ANIMO VIA RADIO.

 

 


 

 

 

 

Esta práctica envía el estado de animo o humor a otras tarjetas microbit vía radio. El programa es muy simple, mas interesante desde el punto de vista de enviar datos vía radio. La idea es que, si presionamos el botón “A”, enviamos el numero cero (0) por la antena de radio y mostramos una cara alegre. Si presionamos el botón “B”, enviamos el numero 1 y mostramos una cara triste. El bloque donde se recibe los datos, examina la variable: “receivedNumber” y usa el bloque: “si entonces” para evaluar cual numero fue recibido. Si el numero recibido fue cero (0), entonces muestra una cara feliz, pero si el numero enviado fue 1, muestra una cara triste. El programa para esta practica seria como el siguiente:

 


 

 

 

 


 

 

 

La siguiente imagen muestra la matriz de LED cuando enviamos el numero cero (0) vía radio:

 


 

 

 

 

PRACTICA TELE-PAPA VIA RADIO.

 

 


 

 

 

Este es un juego que consiste en generar un numero positivo presionando las teclas: “A” y “B” juntas. Uno de los jugadores agita la tarjeta microbit y el número es enviado a otro microbit. El número se va decrementando con cada envió de radio y el jugador que reciba el valor cero (0), perderá el juego. Así, el juego se basa en la siguiente lógica:

• Si la variable: “papa” es mayor a cero (0), se muestra una papa y se disminuye la variable: “papa” en 1.

• Si la variable: “papa” es menor a cero (0), no tenemos la papa, por lo tanto, limpiamos la pantalla.

• Si la variable: “papa” es igual a cero (0), lo sentimos mucho, ¡has perdido!

Observa en el programa, como cada vez que se recibe un número, la variable papa es decrementada en 1. También, observa en la tarjeta que es agitada, coloca la variable: “papa” a -1, para indicar que esta tarjeta ya no tiene la papa y así borrar la pantalla. El programa para esta práctica, sería similar al siguiente:

 


 

 

 


 

 

 

Nota en el programa como es necesario crear una variable llamada: “papa”. La siguiente es la pantalla que se mostrara cuando el juego haya terminado:

 


 

 

 

Usar la interface de radio de la tarjeta microbit es realmente fácil. La cantidad de proyectos que se pueden hacer con esta interface es ilimitada. Esta es una gran ventaja de esta tarjeta y esto es gracias a que la interface de radio esta dentro del mismo microcontrolador de la tarjeta microbit. Con el uso de esta interface abres un mundo nuevo a tus ideas y proyectos.

 

 

 

 

18.921MBMemory Usage40.15msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747346609 "last" => 1747346609...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.33KB) (290μs)
  • afterInitialise (1.14MB) (3.65ms)
  • afterRoute (123.27KB) (840μs)
  • beforeRenderComponent com_content (100.74KB) (450μs)
  • Before Access::preloadComponents (all components) (33.45KB) (205μs)
  • After Access::preloadComponents (all components) (107.06KB) (495μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19ms)
  • Before Access::getAssetRules (id:26963 name:com_content.article.30604) (514.65KB) (665μs)
  • After Access::getAssetRules (id:26963 name:com_content.article.30604) (7.38KB) (48μs)
  • afterRenderComponent com_content (424.41KB) (6.89ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.63ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (345μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (91μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.91KB) (1.15ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (569μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (71μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (187μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (49μs)
  • afterRender (281.77KB) (3.35ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (47.32%)
    19.00ms
    1 x afterRenderComponent com_content (424.41KB) (17.17%)
    6.89ms
    1 x afterInitialise (1.14MB) (9.09%)
    3.65ms
    1 x afterRender (281.77KB) (8.35%)
    3.35ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (4.07%)
    1.63ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.91KB) (2.86%)
    1.15ms
    1 x afterRoute (123.27KB) (2.09%)
    840μs
    1 x Before Access::getAssetRules (id:26963 name:com_content.article.30604) (514.65KB) (1.66%)
    665μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.42%)
    569μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.23%)
    495μs
    1 x beforeRenderComponent com_content (100.74KB) (1.12%)
    450μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.86%)
    345μs
    1 x afterLoad (85.33KB) (0.72%)
    290μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.51%)
    205μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.47%)
    187μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    91μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.18%)
    71μs
    1 x afterDispatch (2.25KB) (0.14%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    49μs
    1 x After Access::getAssetRules (id:26963 name:com_content.article.30604) (7.38KB) (0.12%)
    48μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique11.3ms1.61MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 170μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)148μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`46μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest67μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`214μs3.98KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)342μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.83ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`385μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '30604'223μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)177μs46.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`240μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)247μs4KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`163μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC397μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`166μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1170μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)93μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context65μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)163μs46.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 163μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy