Cours:InfoEmbarquee

De troyesGEII
Aller à : navigation, rechercher

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



ATTINY10-pinout.jpg

Le tableau donne la correspondance entre patte de sortie du µcontrôleur et position de(s) led(s) sur le dé :


PB0 PB1
PB3 PB2 PB3
PB1 PB0

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 :

  1. 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
  2. Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
  3. On affiche un nombre aléatoire
  4. 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

/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