Cours:InfoEmbarquee : Différence entre versions
Ligne 8 : | Ligne 8 : | ||
*de trouver la liste des sorties | *de trouver la liste des sorties | ||
*d'associer chaque led avec un numéro de patte | *d'associer chaque led avec un numéro de patte | ||
− | + | ||
{| | {| | ||
|- | |- | ||
− | | | + | | [[Fichier:SchemaDe.png|200px]] || [[Fichier:simonsay.png|200px]] |
|} | |} | ||
Version du 5 septembre 2023 à 08:43
Sommaire
Attiny10
support utilisé
Les schémas suivants vous permettent :
- de comprendre sur quel état logique les leds s'allument
- de trouver la liste des sorties
- d'associer chaque led avec un numéro de patte
Erreur lors de la création de la miniature : Impossible d'enregistrer la vignette sur la destination |
Erreur lors de la création de la miniature : Impossible d'enregistrer la vignette sur la destination
|
![]() |
Le tableau donne la correspondance entre patte de sortie du µcontrôleur et position de(s) led(s) sur le dé :
|
Sleep modes
Afin de limiter la consommation de la carte, nous allons utiliser les modes d'économie d'énergie disponibles sur le µcontrôleur utilisé.
Le principe sera le suivant :
- On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation
- Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
- On affiche un nombre aléatoire
- Retour au mode faible consommation après quelques secondes
Vous vous servirez des fonctions disponibles dans le fichier avr/sleep.h pour passer en économie d'énergie.
Les différents modes sont détaillés Attiny10.pdf dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier avr/sleep.h.
Sleep Mode | valeur programme c |
---|---|
idle | SLEEP_MODE_IDLE |
ADC Noise Reduction | SLEEP_MODE_ADC |
Standby | SLEEP_MODE_PWR_DOWN |
Power-Down | SLEEP_MODE_STANDBY |
script shell
mqtt
HA mqtt sensor
- https://www.home-assistant.io/integrations/sensor/
- https://github.com/home-assistant/core/blob/dev/homeassistant/const.py#L489
/usr/local/bin/createHaSensor :
#!/bin/bash
echo "name : $1"
echo "device class : $2"
echo "unit : $3"
topic="homeassistant/sensor/$1/config"
payload="{\"name\": \"$1\", \
\"unique_id\": \"$1\", \
\"state_topic\": \"homeassistant/sensor/$1/state\", \
\"device_class\":\"$2\", \
\"unit_of_measurement\":\"$3\" \
}"
mosquitto_pub -t "$topic" -m "$payload" -h 192.168.0.7
/usr/local/bin/deleteHaSensor :
#!/bin/bash
echo "name : $1"
echo "device class : $2"
echo "unit : $3"
topic="homeassistant/sensor/$1/config"
mosquitto_pub -t "$topic" -m "" -h 192.168.0.7
/usr/local/bin/publishHaSensor :
#!/bin/bash
echo "name : $1"
echo "valeur : $2"
topic="homeassistant/sensor/$1/state"
payload="{\"name\": \"$1\", \
\"unique_id\": \"$1\", \
\"state_topic\": \"homeassistant/sensor/$1/state\", \
\"device_class\":\"$2\", \
\"unit_of_measurement\":\"$4\" \
}"
mosquitto_pub -t "$topic" -m "$2" -h 192.168.0.7