El celular tiene una cámara CMOS con una sensibilidad diferente del ojo humano. Estas cámaras se pueden utilizar en muchos proyectos interesantes que involucran la luz visible e infrarroja para arriba. Ver los consejos de este artículo.

Las primeras cámaras utilizadas en diversas aplicaciones fueron el tipo CCD cuya construcción tenía una la tecnología que os hacia cada vez más caros y todavía tenía otras dificultades a su uso.

La tecnología utilizada actualmente es los chips CMOS donde los materiales semiconductores sensibles a la luz forman una matriz con filtros para diferentes colores, como se muestra en la Figura 1.

 

Figura 1 – Cámara CMOS
Figura 1 – Cámara CMOS

 

 

Figura 2 - Estructura de una cámara CMOS
Figura 2 - Estructura de una cámara CMOS

 

 

El hecho importante, sin embargo, es que tenemos estas cámaras en nuestros teléfonos celulares y las alas pueden ser utilizadas para diversos fines, además de conseguir simplemente imágenes a las fotos y las películas que queremos hacer.

Muchas aplicaciones disponibles en Internet hacen uso de la cámara, ya sea sobre Android como en otro sistema operativo.

Podemos tomar como ejemplo los programas que leen los códigos de barras.

 

 

Figura 3 - lectura de códigos de bar ras con el celular
Figura 3 - lectura de códigos de bar ras con el celular

 

 

Pero para nosotros lo que queremos hacer experimentos electrónicos usando la cámara es importante conocer algunas características importantes.

Una de tales características es la curva espectral. Conocer cómo la cámara se comporta en los diferentes colores es importante. En la figura 4 tenemos la curva espectral típica de una cámara CMOS.

 

Figura 4 - respuesta espectral típica de una cámara CMOS
Figura 4 - respuesta espectral típica de una cámara CMOS

 

 

Como podemos ver, los sensores utilizados también puede darse cuenta de la radiación en el rango infrarrojo, filtros que se utilizan en algunos casos para evitar su captura.

Sin embargo, algunas aplicaciones pueden acceder a los sensores individuales de la cámara y así hacer posible elegir el color que se ve y para detectar la radiación infrarroja, como hemos visto en nuestro artículo CEL001S.

Varias aplicaciones y los experimentos se pueden realizar sobre la base de este hecho, todo dependiendo de la imaginación del lector.

Vimos en el artículo que hay aplicaciones que le permiten destacar el rojo, otros colores y por lo tanto permite una visión de objetos "térmicos".

El experimento descrito precisamente permite "ver en la oscuridad" un LED infrarrojo o la señal emitida por un mando a distancia.

Pero hay mucho más por hacer.

Un experimento de física, por ejemplo, puede usar un LED den3 colores diferentes (RGB) y configurar la cámara para "ver" de una en una en la oscuridad.

El experimentador entonces ver que cuando se ajusta la cámara para ver el verde, a pesar de que los tres encendidos, sólo aparece el LED verde, al igual que los otros están apagados.

Un programa que convierte la señal de salida de infrarrojos para que suene, por ejemplo, permite que un comunicador telégrafo óptico de usar la cámara como un receptor.

Si la señal puede ser decodificado, podemos modular una lámpara de infrarrojos en el techo con la señal de sonido desde un televisor y escuchar el ruido ene la celular que se convierte en el receptor de un "teléfono inalámbrico".

De todos modos, hay muchas posibilidades interesantes para explorar los artículos de esta sección.

Nuestra sugerencia es que las aplicaciones disponibles en Google Play, el lector explore que hacer con lo uso de la cámara.

 

 

 

18.978MBMemory Usage48.18msRequest 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:49 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1748942354 "last" => 1748942354...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.72KB) (225μs)
  • afterInitialise (1.14MB) (3.84ms)
  • afterRoute (179.21KB) (833μs)
  • beforeRenderComponent com_content (100.98KB) (409μs)
  • Before Access::preloadComponents (all components) (33.45KB) (166μs)
  • After Access::preloadComponents (all components) (107.06KB) (378μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (27.7ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.05KB) (2.07ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (30μs)
  • afterRenderComponent com_content (424.48KB) (5.67ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.53KB) (1.48ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (293μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (95μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.02KB) (1.01ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (537μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (67μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (187μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (48μs)
  • afterRender (288.81KB) (2.98ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (57.48%)
    27.70ms
    1 x afterRenderComponent com_content (424.48KB) (11.77%)
    5.67ms
    1 x afterInitialise (1.14MB) (7.98%)
    3.84ms
    1 x afterRender (288.81KB) (6.18%)
    2.98ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.05KB) (4.31%)
    2.07ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.53KB) (3.06%)
    1.48ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.02KB) (2.1%)
    1.01ms
    1 x afterRoute (179.21KB) (1.73%)
    833μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.11%)
    537μs
    1 x beforeRenderComponent com_content (100.98KB) (0.85%)
    409μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.78%)
    378μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.61%)
    293μs
    1 x afterLoad (85.72KB) (0.47%)
    225μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.39%)
    187μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.34%)
    166μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.2%)
    95μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.14%)
    67μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.1%)
    48μs
    1 x afterDispatch (2.25KB) (0.09%)
    43μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.06%)
    30μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.01%)
    7μs
23 statements were executed, 5 of which were duplicates, 18 unique11.36ms1.58MB
  • SELECT @@SESSION.sql_mode;34μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 172μ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)147μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`51μ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` = :guest71μ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`218μs20.2KBParams/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)208μ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_assets`319μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.1003'66μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`304μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '1003'125μ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)153μs22.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`187μ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)349μs3.97KBParams/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`237μ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 ASC365μs6.06KBParams/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`185μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1112μs656B/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)72μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context58μ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)143μs22.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` = 158μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content
  • warningassets - No asset found for com_content.article.1003, falling back to com_content