Étape 10 : Lecteur de flux RSS à l’aide de la connexion série et écran LCD
Matériel
Nous utilisons le Dragon Rider 500 comme un Conseil de développement. Ceci fournit tout le matériel dont vous avez besoin (en supposant que vous avez tous les kits d’Add-on). Cela étant dit que vous pouvez certainement le faire avec votre propre configuration matérielle :
- ATmega8 microcontrôleur (ou tout autre qui a un USART et assez épingles pour toutes les connexions
- Un moyen de programmer le microcontrôleur (j’utilise le Dragon de l’AVR)
- Puce MAX232 pour la communication série
- Connecteur DB9
- Écran LCD hd44780
- Crystal (j’ai utilisé un cristal de 8MHz)
- Résistances et condensateurs assortis
Un schéma est présenté ci-dessous.
Sur le cavalier de Dragon, nous aurons besoin d’utiliser peu de créativité pour acheminer les connexions. Normalement le Port D pourrait être branché directement à l’en-tête de l’écran LCD. Ce n’est pas le cas en l’espèce car l’USART nécessaire pour la connexion série utilise PD0 et PD1. En outre, Port B sont inutilisables parce qu’on utilise pour le cristal externe PB6 et PB7.
Sur la photo ci-dessous est ma solution à ce problème. J’ai Branchez un câble ruban aux en-têtes de LCD, Port B et D du Port, puis utilisez les fils de raccordement pour faire les itinéraires appropriés. N’oubliez pas de raccorder la tension et la terre sur l’en-tête de l’écran LCD.
Logiciel
Le logiciel pour ce projet est livré en deux parties, le firmware pour le microcontrôleur et le script python pour racler les flux RSS et de les envoyer via la connexion série.
Firmware de l’AVR
J’utilise la bibliothèque de LCD de Peter Fleury encore une fois (http://jump.to/fleury). Il est puissant et concis, polyvalent et facile à modifier pour votre configuration matérielle. Si vous examinez le fichier d’en-tête joint (lcd.h), vous verrez que je suis en cours d’exécution en mode 4 bits avec Port D comme les bits de données et le Port B comme les bits de contrôle.
Le concept de ce firmware est assez simple :
- Une fois mis sous tension le microcontrôleur affiche « Lecteur RSS » et puis attend pour les données série.
- Chaque octet des causes des données série a reçu un tampon de 16 chars à MAJ gauche et ajouter l’octet dans la mémoire tampon, puis le tampon d’affichage.
- Trois commandes spéciales sont acceptés par le microcontrôleur: 0 x 00, 0 x 01 et 0 x 02. Il s’agit d’écran clair, passer à la ligne 0 et de passer à la ligne 1 respectivement.
Scrypt python
J’ai écrit un script pyton pour gratter les données de flux RSS et l’envoyer par la connexion série. Cela nécessite le module python « pyserial » que vous aurez probablement à installer sur votre système pour que cela fonctionne.
Flux RSS peut être configuré dans la partie supérieure du fichier pyton. Avis que vous devez entrer un nom pour le flux ainsi que l’alimentation url. Il y a trois exemples là, je suis certain que vous pouvez suivre ceux pour le syntx bon.
Tout faire fonctionner
- Assembler le matériel
- Programmer le microcontrôleur (dragon_rss.hex peut être utilisé si vous ne voulez pas compiler vous-même). Fusible de paramètres pour l’ATmega8 en utilisant un cristal de 8 MHz: lfuse = 0xEF hfuse = 0xD9
- Allumez le Dragon Rider et assurez-vous que le câble série est branché (LCD devrait se lire: « Lecteur RSS »)
- Exécutez le programme python (python serial_rss.py)
- Profitez de