Protocole » History » Revision 41
« Previous |
Revision 41/47
(diff)
| Next »
Frédéric Blanc, 2019-05-15 09:30
Protocole¶
1er octet [4][4]
quatre premier bits type
0 ALARME
1 température -43°C à +84.5°C -+0.5°C codé sur 8bits
2 % de 0 à 100% -+0.5% codé sur 8 bits
3 ADC brut sur 12bits [MSB LSB] concaténé sur 24bits
4 entier sur 16 bits [MSB LSB]
5 float simple précision IEEE754 sur 32bits
6 ASCII chaine terminé par CRLF
7 Switch binaire 8 données de 1bit codées sur 8bits
...
F réservé
quatre octet suivant nombre de données ou numéro de capteur
0 réservé ou numéro de capteur 0
1 à 9 nombre de données ou numéro de capteur
A à F réservé ou nombre de données
exemple
0x02 0x11 0x8A
Alarme capteur n°2 température +26.5°C
0x14 0x7A 0x79 0x7A 0x7B 0x24 0x33 0x32 0x33 0x32 0x34 0xBB 0x8B 0xB9 0xBB 0xAB 0xBB 0x51 0x40 0x49 0x0F 0xDA 0x6x OPEN 0x0D 0x0A
capteur n°0 température 18.5°C; 18,0°C; 18,5°C; 19,0°C
capteur n°1 humidité 64.5%; 64.0%; 64.5%; 64.0%
capteur n°2 ADC RAW 12bits 3000;3001;3002;3003
Capteur n°3 float RAW 3.1415926
capteur n°4 ASCII "OPEN"
0xF1 0x00 0x05 0x20 capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5%
0xF2 0x00 0x1C 0x10 capteur n°2 est un capteur BME280 de type température -43°C à +84.5°C -+0.5°C codé sur 8bits
0xF3 0x00 0x1C 0x20 capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5%
0xF4 0x00 0x1C 0x50 capteur n°4 est un capteur BME280 de type Pression Barométrique mBAR en float simple précision 32bits
0xF5 0x00 0x01 0x71 0x0A capteur n°5 type Switch sur GPIO 10
0xF6 0x00 0x02 0x33 0x24 0x0C 0x1E capteur n°6 type ADC sur GPIO 36; 12 bits; vref 3Volts
Universally Unique IDentifier (UUID)¶
- DevAddr: Un ID de l'appareil de 32 bits qui identifie de manière unique le dispositif final. Cet identifiant est fourni par l’entreprise qui l’a créée.
Commandes¶
Commande | END DEVICE SERVER | |
0x6F *IDN? 0x0D 0x0A | demande identifiant | <- |
---|---|---|
reponse | ||
0x6F "identifiant" 0x0D 0x0A | -> | |
0x6F *UUID? 0x0D 0x0A | demande UUID | <- |
reponse | ||
0x6F UUID 0x0D 0x0A | -> | |
0x6F *SENSOR? 0x0D 0x0A | demande SENSOR | <- |
example de reponse | ||
0xF0 0x00 0x05 0x10 0xF1 0x00 0x05 0x20 0xF2 0x00 0x1C 0x10 0xF3 0x00 0x1C 0x20 0xF4 0x00 0x1C 0x50 0xF5 0x00 0x01 0x71 0x0A 0xF6 0x00 0x02 0x33 0x24 0x0C 0x1E | -> | |
explication | ||
capteur n°0 est un capteur DHT de type température -43°C à +84.5°C -+0.5°C codé sur 8bits | ||
capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5% | ||
capteur n°2 est un capteur BME280 de type température -43°C à +84.5°C -+0.5°C codé sur 8bits | ||
capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5% | ||
capteur n°4 est un capteur BME280 de type Pression Barométrique mBAR en float simple précision 32bits | ||
capteur n°5 type Switch sur GPIO 10 | ||
capteur n°6 type ADC sur GPIO 36; 12 bits; vref 3Volts | ||
0x6F *ALARM? 0x0D 0x0A | demande | <- |
example de reponse | ||
0xF0 0x00 0x05 0x00 0x11 0x8A 0xF1 0x00 0x00 0xF2 0x00 0x00 0xF3 0x00 0x00 0xF4 0x00 0x1C 0xFF 0x21 0x44 0x7A 0x00 0x00 0xF5 0x00 0x01 0x00 0x71 0xFF 0xF6 0x00 0x02 0x00 0x31 0xBB 0x80 0x00 | -> | |
explication | ||
alarme capteur n°0 si température supérieure à +26.5°C | ||
capteur n°1 pas d'alarme | ||
capteur n°2 pas d'alarme | ||
capteur n°3 pas d'alarme | ||
alarme capteur n°4 si Pression Barométrique inférieure à 1000mBAR | ||
alarme capteur n°5 si Switch sur GPIO 10 passe à 1 | ||
alarme capteur n°6 si ADC sur GPIO 36 dépasse 3000 | ||
0x6F *SETALARM 0x0D 0x0A 0xF0 0x00 0x05 0x00 0x11 0x8A 0xF4 0x00 0x00 0xF6 0x00 0x02 0xFF 0x31 0xBB 0x80 0x00 | demande | <- |
explication | ||
set alarme capteur n°0 si température supérieure à +26.5°C | ||
capteur n°4 pas d'alarme | ||
set alarme capteur n°6 si ADC sur GPIO 36 inférieure à 3000 | ||
0x6F *GPS? 0x0D 0x0A | demande | <- |
example de reponse | ||
0x22 ... | -> |
Annexe¶
type de capteur (inspiré de easymega https://github.com/letscontrolit/ESPEasy)
(ATTENTION CODE EN DECIMAL)
000 | 0x0000 | réservé | ||
001 | 0x0001 | Switch | GPIO; PULL | |
002 | 0x0002 | ADC | GPIO; BITS; VREF | |
003 | 0x0003 | Pulse | ||
004 | 0x0004 | Dallas Environment - DS18b20 | ||
005 | 0x0005 | DHT Temp/Humi | Temp (°C); HR (%) | |
006 | 0x0006 | BMP085 | ||
007 | 0x0007 | PCF8591 | ||
008 | 0x0008 | RFID | ||
009 | 0x0009 | MCP | ||
010 | 0x000A | BH1750 | ||
011 | 0x000B | PME | ||
012 | 0x000C | LCD | ||
013 | 0x000D | HCSR04 | ||
014 | 0x000E | SI7021 | ||
015 | 0x000F | TSL2561 |
016 | 0x0010 | IR | ||
017 | 0x0011 | PN532 | ||
018 | 0x0012 | Dust | ||
019 | 0x0013 | PCF8574 | ||
020 | 0x0014 | Ser2Net | ||
021 | 0x0015 | Level | ||
022 | 0x0016 | PCA9685 | ||
023 | 0x0017 | OLED | ||
024 | 0x0018 | MLX90614 | ||
025 | 0x0019 | ADS1115 | ADC I2C QUAD | |
026 | 0x001A | SysInfo | ||
027 | 0x001B | INA219 | ||
028 | 0x001C | BME280 | BME280 I2C Temp/Hum/Barometric Pressure Sensor | Temp (°C); HR (%); Barometric (mBAR) |
029 | 0x001D | Output | ||
030 | 0x001E | BMP280 | (Made obsolete, now BME280 can handle both) | |
031 | 0x001F | SHT1X |
032 MS5611
033 Dummy
034 DHT12
035 IRTX
036 FrameOLED
037 MQTTImport
038 NeoPixel
039 Environment - Thermocouple
040 RFID - ID12LA/RDM6300
041 NeoClock
042 Candle
043 ClkOutput
044 P1WifiGateway
049 MHZ19
052 SenseAir
056 SDS011-Dust
059 Encoder
063 TTP229_KeyPad
079 Wemos Motoshield
045 MPU6050
047 I2C_soil_misture
048 Motoshield_v2
051 AM2320
053 PMSx003
054 DMX512
055 Chiming
057 HT16K33_LED
058 HT16K33_KeyPad
060 MCP3221
061 Keypad
062 MPR121_KeyPad
064 APDS9960
065 DRF0299
066 VEML6040
067 HX711_Load_Cell
068 SHT3x
069 LM75A
070 NeoPixel_Clock
071 Kamstrup401
072 HDC1080
073 7DG
074 TSL2561
075 Nextion
076 HWL8012 cse7759 in POW r1
077 CSE7766 in POW R2 Needs HWL8012 cse7759B CSE7766 Energy sensor, via Serial RXD 4800 baud 8E1 (GPIO1), TXD (GPIO3)
078 Eastron Modbus Energy meters
080 iButton Sensor DS1990A
081 Cron
082 GPS
083 SGP30
084 VEML6070
777 EXPERIMENTAL
Updated by Frédéric Blanc over 5 years ago · 47 revisions