Cours:InfoEmbarquee : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(support utilisé)
Ligne 1 : Ligne 1 :
=Attiny10=
 
  
* [https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/ATtiny4-5-9-10-Data-Sheet-DS40002060A.pdf datasheetAttiny10]
+
Séances :
  
==support utilisé==
+
*[[Cours:InfoEmbarqueeConcommationMicroC|Analyse de la consommation d'un µcontroleur]]
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
 
  
 
 
 
{|
 
|-
 
| [[Fichier:SchemaDeElectronique.png|400px]] || [[Fichier:SchemaSimonsay.png|400px]]
 
|-
 
|
 
{|class="wikitable center"
 
|-
 
| PB0 ||  || PB1
 
|-
 
| PB3 || PB2 || PB3
 
|-
 
| PB1 ||  || PB0
 
|}
 
||
 
{|class="wikitable center"
 
|-
 
| PB0 || haut || droite
 
|-
 
| PB1 || haut || gauche
 
|-
 
| PB2 || bas || gauche
 
|-
 
| PB3 || bas || droite
 
|}
 
|}
 
 
 
 
 
[[Fichier:ATTINY10-pinout.jpg]]
 
 
==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 [http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html dans le fichier {{Rouge|avr/sleep.h}}] pour passer en économie d'énergie.
 
 
Les différents modes sont détaillés [[media:Attiny10.pdf|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 {{Rouge|avr/sleep.h}}.
 
 
{| class="wikitable"
 
|-
 
! 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=
 
=script shell=

Version du 13 septembre 2023 à 10:07

Séances :


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