Bonsoir à tous,
guillaume9344 a écrit :
Bon courage , je continu à suivre votre post , meme si je n'ai pas encore craqué pour l 'achat des module ESp (je me bas encore avec mes nrf24l01)
@+
Pour réaliser des commandes sans fil, j’ai utilisé pour ma part les modules RF 433MHZ de GROVE avec un Arduino pour piloter des Interrupteurs domotique Blyss de castorama
http://www.castorama.fr/store/Module-re ... navCount=0
Je ne sais pas si ces modules sont encore vendus, mais c'est pratique pour gérer du 220V.
On peut trouver des informations sur Google -> « interrupteur blyss arduino » sur le reverse engineering du protocole utilisé par Blyss.
C’est vrai que l’on oublie les différents modules de tests qui trainent au fond des tiroirs.
http://dangerousprototypes.com/docs/Bus_Pirate
Pour ma part, j’ai oublié mon BUS Pirate qui permet de tester les protocoles :
– 1-Wire
– I2C
– SPI
– Asynchronous serial
– MIDI
– HD44780 LCD
– 2 et 3-wire + « bitwise pin control »
– mode « raw binary » sur les modes bitbang, 1-Wire, I2C, SPI, et UART
Voir le lien pour des exemples.
https://skyduino.wordpress.com/2011/10/ ... situation/
Voici par exemple l’utilisation du BUS Pirate sur le DS1337.
On peut trouver l’adresse des puces I2C
On peut lire et écrire des données sur l’IDC.
On peut sniffer le bus I2C.
Code : Tout sélectionner
HiZ>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
9. DIO
x. exit(without change)
(1)>4
Set speed:
1. ~5KHz
2. ~50KHz
3. ~100KHz
4. ~400KHz
(1)>4
Ready
I2C>W
Power supplies ON
I2C>P
Pull-up resistors ON
I2C>(1)
Searching I2C address space. Found devices at:
0xD0(0x68 W) 0xD1(0x68 R)
I2C>(2)
Sniffer
Any key to exit
I2C>[0xd0 0 [0xd1 r:16]
I2C START BIT
WRITE: 0xD0 ACK
WRITE: 0x00 ACK
I2C START BIT
WRITE: 0xD1 ACK
READ: 0x19 ACK 0x04 ACK 0x02 ACK 0x03 ACK 0x04 ACK 0x05 ACK 0x06 ACK 0x00 ACK 0x81 ACK 0x82 ACK 0x83 ACK 0x80 ACK 0x81 ACK 0x82 ACK 0x07 ACK 0x83
NACK
I2C STOP BIT
I2C>
Une fois le BUS Pirate configuré, pour lire des données sur l’I2C on utilise la syntaxe :
[0xd0 0 [0xd1 r:16]
En plus on peut flasher l’AVR pour mettre à jour le BUS Pirate.
Jean-Marie a écrit :- A2F à un signifie qu'il y a eu une égalité entre le temps d'horloge et le registre d'alarme N°2. Ce flag va générer sur INTA un niveau bas si INTCN est au niveau zéro et que A2IE est au niveau un. Si INTCN et A2IE valent 1, c'est INTB qui passe à 0. Aucun de ces cas n'est réalisé ici.
Jean-Marie, je pense que tu as voulu dire :
c’est INTB qui va passer au niveau bas si INTCN est à 1 et A2IE à 1.
Jean-Marie a écrit :
J'ai plusieurs fonctions du genre char i2c_write(address). Cette fonction retourne théoriquement une valeur de type char. Or les exemples que je vois (et que j'utilise) appellent souvent cette fonction sans valeur de retour, du genre i2c_write(Ad) au lieu de ch = i2c_write(Ad). Est-ce autorisé en C ? Si je me souviens bien, ça ne l'est pas en Pascal.
Oui on peut ne pas indiquer de variable de retour, mais dans ce cas la fonction peut renseigner une ou plusieurs variables globales (Variables accessibles dans la totalité du programme).
Jean-Marie a écrit :
@ SMBA38 : la pin 7 pulse bien à 32kHz. Pourquoi je n'ai rien détecté à la carte-son ? PARCE QU' ELLE NE VA QUE JUSQU' A 20kHz !!!
Donc la question de l’alimentation du circuit à l’initialisation du DS1337 reste d’actualité.
Le signal ne semble pas tout à fait carré sur l'analyseur ?
La suite au prochain numéro.
SMBA38.