Yamovince – Robot E-Rambo et Autonomous Wrestler 01

Vince partage son voyage dans la robotique amateur. Il commence avec un petit robot batteur jusqu’à ses objectifs de commercialisation en passant par ces 2 robots :

E-Rambo

Autonomous Wrestler 01

Reportage France3 à la Toulouse Robot Race

On a noté les clins d’oeil à Pascal(Serveurperso) et à Yougo.

Flux audio

Pourquoi un flux audio en direct pour un podcast ? Ce flux est mis en place pour un format de podcast en mode hot line.

Comment ça fonctionne ? Voici la chaîne que j’utilise :

La table de mixage a une carte son usb intégrée. Elle est directement reconnue comme telle par un PC. Le son issue du mix est donc cette prise usb qui sert de master pour le flux.

Le PC qui bénéficie de cette carte son est un Raspberry PI 3. Il est chargé de lire le flux audio qui sort de la table de mixage via usb. Il arrive au format PCM. Il faut le comprimer en MP3 et l’envoyer sur un serveur de diffusion. La lecture est faite avec alsa (arecord). L’encodage est fait avec lame. L’envoi sur le serveur est fait avec ezstream. Cela donne la commande suivante :

arecord --device hw:CARD=CODEC,DEV=0 --format cd --rate 44100 --vumeter=stereo | lame -r -s 44.1 -m s -b 128 --cbr --scale 3  - | ezstream -c /home/pi/ezstream_mp3.xml

Le serveur icecast2 sert à relayer le flux audio aux différents auditeurs. Il faut noter que ce dernier composant crée un délai de quelques secondes.

Pour écouter le flux audio, il faut une balise html audio qui pointe sur le serveur icecast.

<audio src="http://163.172.63.38:8000/live.mp3" volume="1.0" controls autoplay>
Votre navigateur ne supporte pas l'élément <code>audio</code>.
</audio>

Tout cela demande pas mal de recherche et de configuration qu’il est facile de retrouver sur le net.

Comment j’ai fait mon flux RSS avec wordpress

Cette méthode m’a permis de faire mon flux RSS ‘MBH’ sans ajouter de plugin WP. Mes émissions sont rangées dans la catégorie ’emission’. J’utiliser les champs personnalisés pour compléter les informations demandées par itunes.

RSS Made By Humans

J’ai modifié le template très simplement, voilà comment.

NB. Cette façon de faire oblige à choisir un thème avant.

Modifier le fichier functions.php

Placer le code suivant à la fin du fichier

/wp-content/themes/<nom du thème>/functions.php

Replacer ‘mbh’ par le nom du flux.

/**
 * My custom rss 'mbh'
 */

add_action('init', 'customRSS');
function customRSS(){
 add_feed('mbh', 'customRSSFunc');
}

function customRSSFunc(){
 get_template_part('rss', 'mbh');
}

La dernière ligne indique à WP d’aller chercher un fichier nommé : rss-mbh.php. Il faut le créer dans le même répertoire que functions.php.

Ce fichier contient le template du flux RSS personnalisé. Par exemple :

<?php
/**
 * Template Name: Custom RSS Template - Feedname
 * http://www.wpbeginner.com/wp-tutorials/how-to-create-custom-rss-feeds-in-wordpress/
 */
$item_counter = 0;
$postCount = 500; // The number of posts to show in the feed
$posts = query_posts('showposts=' . $postCount.'&category_name=emission');
header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
?>
<rss version="2.0"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:atom="http://www.w3.org/2005/Atom"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
 xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
 xml:lang="fr-FR"
 <?php do_action('rss2_ns'); ?>>
<channel>
 <title><?php bloginfo_rss('name'); ?></title>
 <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
 <link><?php bloginfo_rss('url') ?></link>
 <description><?php bloginfo_rss('description') ?></description>
 <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
 <language><?php echo get_option('rss_language'); ?></language>
 <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
 <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
 <?php do_action('rss2_head'); ?>
 <?php while(have_posts()) : the_post(); ?>
 <item>
 <title><?php the_title_rss(); ?></title>
 <link><?php the_permalink_rss(); ?></link>
 <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
 <dc:creator><?php the_author(); ?></dc:creator>
 <guid isPermaLink="false"><?php the_guid(); ?></guid>
 <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
 <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
 <?php rss_enclosure(); ?>
 <itunes:order><?php echo $item_counter++; ?></itunes:order>
 <?php do_action('rss2_item'); ?>
 </item>
 <?php endwhile; ?>
</channel>
</rss>

Au début du template, on note le filtre &category_name=emission sur la commande query_posts

A la première exécution, cela ne fonctionne pas. Il faut rafraîchir les règles de réécriture. Pour cela, j’ai ajouté les 2 lignes suivantes à la fin du fichier functions.php. On rafraichit la page xml et on commente les 2 lignes.

global $wp_rewrite;
$wp_rewrite->flush_rules();

On peut noter dans le fichier template le tag <itunes:order> que l’on fabrique avec un compteur.

Champs personnalisés

Pour ajouter, par exemple le tag <itunes:duration>, on va utiliser les champs personnalisés.

Pour cet exemple, j’ai ajouté le champ personnalisé audio_file_duration

NB. Les champs personnalisés ne sont pas visibles par défaut. Pour les afficher, il faut cocher dans le panneau « Options de l’écran » en haut à droite du tableau de bord.

Dans le template, les commandes comme <?php do_action(‘rss2_item’); ?> appellent des actions définies dans le fichier functions.php.

A la fin du fichier functions.php, après celle vues plus haut, on ajoute ces lignes :

function add_custom_fields_to_rss() {
 if($audio_file_duration = get_post_meta(get_the_ID(), 'audio_file_duration', true)) {
 ?>
 <itunes:duration><?php echo $audio_file_duration ?></itunes:duration>
 <?php
 }
}
add_action('rss2_item', 'add_custom_fields_to_rss');

Il faut remplacer audio_file_duration par le nom de votre champ personnalisé.

Et remplacer itunes:duration par le tag que vous voulez voir dans le RSS.

Ce code est appelé par le template avec commande do_action(‘rss2_item’);. Il va placer la ligne XML <itunes:duration></itunes:duration> avec la valeur donné dans votre article.

On prend bien soin d’ajouter le namespace itunes xmlns:itunes= »http://www.itunes.com/dtds/podcast-1.0.dtd » dans header du template.

Serverperso / Pascal – Robot autonome sur microcontrôleur

Pascal aka Serveurperso sur le forum présente son robot web sécurisé & utilisable par n’importe qui à distance!

La présentation du robot sur robot-maker.com

Le robot en live

Attention, c’est dense et c’est du lourd !! Radio HF, programmation web temps-réel, PIC32, lidar, vidéo … Pascal nous explique tout !! Un grand merci pour ce partage.

MP3Paris 2e édition 2017

Aujourd’hui, je suis allé là : http://www.mp3aparis.fr/. C’est une convention de podcasteurs (audio biensûr). Et, attention, pas les youtubeurs, On ne se mélange pas 😀

J’ai échangé avec les podcasteurs. Les vrais, ceux qu’on écoute étaient là en vrai !! Ces sont des amateurs, comme moi. Ils ne m’ont pas pris de haut, loin de là. Je trouve la communauté ultra sympa, chaleureuse et prête à partager ses ficelles.

J’ai causé imprimante 3D avec un certain Picaboubx de Bricolo et Mulot et de http://lavis-des-moutons.lepodcast.fr/. Nous avons tout le deux monté la dagoma disco 200. Lui, il a changé la buse pour qu’elle fonctionne bien …

J’ai causé technique podcast avec un certain Quenton de http://www.techcraft.fr/. Format de fichiers, mixage, rss, montage. Il m’a donné des pistes pour mon pb avec les petits bruits qu’on entends dans le mumble. Je vais voire ça. Il a même pris le temps d’écouter un bout de l’épisode avec Oliver !! Il a trouvé ça top … pour un début … 🙂

J’ai aussi causé technique d’hébergement avec les mecs (Phil_goud) qui on fait https://podcloud.fr/, un annuaire très connu de podcast. Je leur ai dit attention on arrive ^^.

Rien sur la robotique et très peu de tech dans l’assemblée mais j’en sors chaud patate et surtout serein d’avoir échangé avec cette communauté !! J’y retourne l’année prochaine !!

Oliver – Projet Glenn Robot Humanoïde

Échange avec le très sympathique Oliver du forum Robot-Maker.com. On a échangé à propos de nos explorations humanoïdes. Oliver parle de son objectif de commander un bras sur Glenn en cinématique inverse et de le commander par la vision. Cela s’adresse aux grands débutants en robotique amateur, hobbyiste et à ceux qui n’ont pas franchi le pas.

Glenn sur Robot-maker.com

Dr Guero, le lien cité dans l’enregistrement.