Protocole » History » Revision 46
« Previous |
Revision 46/47
(diff)
| Next »
Frédéric Blanc, 2024-06-04 12:54
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 ... | -> | |
localisation physique | ||
Pays | ||
Code zip | ||
Ville | ||
Adresse | ||
Batiment | ||
Etage | ||
Piece |
Annexe¶
type de capteur (inspiré de easymega https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.htm)
(ATTENTION CODE EN DECIMAL)
000 | 0x0000 | réservé | |||
001 | 0x0001 | Switch | entrée Digitale | état | GPIO; PULL |
002 | 0x0002 | ADC | ADC interne | valeur | GPIO; BITS; VREF |
003 | 0x0003 | Pulse | |||
004 | 0x0004 | DS18b20 | capteur de température OW | Temp (°C) | numéros de série OW |
005 | 0x0005 | DHT | capteur numérique de Température et Humidité | 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
nouvelle liste
P004 Environment - 1-Wire Temperature
P005 Environment - DHT11/12/22 SONOFF2301/7021/MS01
P006 Environment - BMP085/180
P007 Analog input - PCF8591
P008 RFID - Wiegand
P009 Switch Input - MCP23017
P010 Light/Lux - BH1750
P011 Extra IO - ProMini Extender
P012 Display - LCD2004
P013 Distance - HC-SR04/RCW-0001/etc.
P014 Environment - SI7021/HTU21D
P015 Light/Lux - TSL2561
P016 Communication - IR Receive (TSOP4838)
P017 RFID - PN532
P018 Dust - Sharp GP2Y10
P019 Switch input - PCF8574
P020 Communication - Serial Server
P021 Regulator - Level Control
P022 Extra IO - PCA9685
P023 Display - OLED SSD1306
P024 Environment - MLX90614
P025 Analog input - ADS1x15
P026 Generic - System Info
P027 Energy (DC) - INA219
P028 Environment - BMx280
P029 Output - Domoticz MQTT Helper
P030 Environment - BMP280
P031 Environment - SHT1x
P032 Environment - MS5611 (GY-63)
P033 Generic - Dummy Device
P034 Environment - DHT12 (I2C)
P035 Communication - IR Transmit
P036 Display - OLED SSD1306/SH1106 Framed
P037 Generic - MQTT Import
P038 Output - NeoPixel (Basic)
P039 Environment - Thermosensors
P040 RFID - ID12LA/RDM6300
P041 Output - NeoPixel (Word Clock)
P042 Output - NeoPixel (Candle)
P043 Output - Clock
P044 Communication - P1 Wifi Gateway
P045 Gyro - MPU 6050
P046 Hardware - Ventus W266
P047 Environment - Soil moisture sensor
P048 Motor - Adafruit Motorshield v2
P049 Gases - CO2 MH-Z19
P050 Color - TCS34725
P051 Environment - AM2320
P052 Gases - CO2 Senseair
P053 Dust - PMSx003 / PMSx003ST
P054 Communication - DMX512 TX
P055 Notify - Chiming
P056 Dust - SDS011/018/198
P057 Display - HT16K33
P058 Keypad - HT16K33
P059 Switch input - Rotary Encoder
P060 Analog input - MCP3221
P061 Keypad - PCF8574 / MCP23017 / PCA8575
P062 Keypad - MPR121 Touch
P063 Keypad - TTP229 Touch
P064 Gesture - APDS9960
P065 Notify - DFPlayer-Mini MP3
P066 Color - VEML6040
P067 Weight - HX711 Load Cell
P068 Environment - SHT3x
P069 Environment - LM75A
P070 Output - NeoPixel Ring Clock
P071 Communication - Kamstrup Multical 401
P072 Environment - HDC1000/HDC1008/HDC1010/HDC1050/HDC1080 (I2C)
P073 Display - 7-segment display
P074 Light/Lux - TSL2591
P075 Display - Nextion
P076 Energy (AC) - HLW8012/BL0937
P077 Energy (AC) - CSE7766
P078 Energy (AC) - Eastron SDMxxx Modbus
P079 Motor - Wemos / Lolin Motorshield
P080 Switch input - iButton
P081 Generic - CRON
P082 Position - GPS
P083 Gases - SGP30 TVOC/eCO2
P084 UV - VEML6070
P085 Energy (DC) - AcuDC243
P086 Generic - Homie receiver
P087 Communication - SerialProxy
P088 Energy (Heat) - HeatpumpIR
P089 Communication - Ping
P090 Gases - CCS811 TVOC/eCO2
P091 Switch input - Serial MCU controlled switch
P092 Heating - DL-Bus (Technische Alternative)
P093 Energy (Heat) - Mitsubishi Heat Pump
P094 Communication - CUL Reader
P095 Display - TFT ILI934x/ILI948x
P097 Internal - Touch ESP32
P098 Motor - PWM Motor
P099 Touch - XPT2046 touchscreen on TFT display
P100 Pulse Counter - DS2423
P101 Communication - Wake On LAN
P102 Energy (AC) - PZEM-004Tv30-Multiple
P103 Environment - Atlas Scientific EZO pH
P104 Display - MAX7219 dot matrix
P105 Environment - AHT1x/AHT2x/DHT20/AM2301B
P106 Environment - BME68x
P107 UV - SI1145
P108 Energy (AC) - DDS238-x
P109 Display - ThermoOLED
P110 Distance - VL53L0X (200cm)
P111 RFID - MFRC522
P112 Color - AS7265X
P113 Distance - VL53L1X (400cm)
P114 UV - VEML6075
P115 Energy - MAX1704x
P116 Display - ST77xx TFT
P117 Gases - SCD30 CO2, Humidity, Temperature
P118 Communication - Itho
P119 Gyro - ITG3205
P120 Acceleration - ADXL345 (I2C)
P121 Position - HMC5883L
P122 Environment - SHT2x
P123 Touch - FT62x6
P124 Output - I2C Multi Relay
P125 Acceleration - ADXL345 (SPI)
P126 Output - Shift registers (74HC595)
P127 Gases - CO2 CDM7160
P128 Output - NeoPixel (BusFX)
P129 Input - Shift registers (74HC165)
P131 Display - NeoPixel Matrix
P132 Energy (DC) - INA3221
P133 UV - LTR390
P134 Distance - A02YYUW
P135 Gases - CO2 SCD4x
P137 Power mgt - AXP192 Power management ESP32
P138 Power mgt - IP5306 Power management
P141 Display - PCD8544 Nokia 5110 LCD
P143 Switch input - I2C Rotary encoders
P144 Dust - PM1006 (Vindriktning)
P145 Gases - MQxxx (MQ135 CO2, MQ3 Alcohol)
P146 Generic - Cache Reader
P147 Gases - SGP4x VOC
P148 Display - POWR3xxD/THR3xxD
P150 Environment - TMP117 Temperature
P151 Environment - I2C Honeywell Pressure
P152 Output - ESP32 DAC
P153 Environment - SHT4x
P154 Environment - BMP3xx
P159 Presence - LD2410
P162 Output - MCP42xxx Digipot
P164 Gases - ENS16x TVOC/eCO2
P166 Output - GP8403 Dual channel DAC 0-10V
Environment - Sensirion SEN5x (IKEA Vindstyrka)
Updated by Frédéric Blanc 6 months ago · 47 revisions