Project

General

Profile

Protocole » History » Revision 46

Revision 45 (Frédéric Blanc, 2024-06-04 12:43) → Revision 46/47 (Frédéric Blanc, 2024-06-04 12:54)

h1. 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" 

 <notextile>0xF0 0x00 0x05 0x10 capteur n°0 est un capteur DHT de type température -43°C à +84.5°C -+0.5°C codé sur 8bits</notextile> 
 <notextile>0xF1 0x00 0x05 0x20 capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5%</notextile> 
 <notextile>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</notextile> 
 <notextile>0xF3 0x00 0x1C 0x20 capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5%</notextile> 
 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 


 h2. 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. 

 h2. Commandes 

 |Commande||END DEVICE SERVER| 
 |_.0x6F *IDN? 0x0D 0x0A| demande identifiant |_.<-| 
 |\3=.reponse| 
 |0x6F "identifiant" 0x0D 0x0A| |_.->| 
 |_.0x6F *UUID? 0x0D 0x0A| demande UUID |_.<-| 
 |\3=.reponse| 
 |0x6F UUID 0x0D 0x0A| |_.->| 
 |_.0x6F *SENSOR? 0x0D 0x0A| demande SENSOR|_.<-| 
 |\3=.example de reponse| 
 |\2<.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|_.->| 
 |\3=.explication| 
 |\3<.<notextile>capteur n°0 est un capteur DHT de type température -43°C à +84.5°C -+0.5°C codé sur 8bits</notextile>| 
 |\3<.<notextile>capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5%</notextile>| 
 |\3<.<notextile>capteur n°2 est un capteur BME280 de type température -43°C à +84.5°C -+0.5°C codé sur 8bits</notextile>| 
 |\3<.<notextile>capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5%</notextile>| 
 |\3<.<notextile>capteur n°4 est un capteur BME280 de type Pression Barométrique mBAR en float simple précision 32bits</notextile>| 
 |\3<.<notextile>capteur n°5 type Switch sur GPIO 10</notextile>| 
 |\3<.<notextile>capteur n°6 type ADC sur GPIO 36; 12 bits; vref 3Volts</notextile>| 
 |_.0x6F *ALARM? 0x0D 0x0A| demande |_.<-| 
 |\3=.example de reponse| 
 |\2<.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 |_.->| 
 |\3=.explication| 
 |\3<.<notextile>alarme capteur n°0 si température supérieure à +26.5°C</notextile>| 
 |\3<.<notextile>capteur n°1 pas d'alarme</notextile>| 
 |\3<.<notextile>capteur n°2 pas d'alarme</notextile>| 
 |\3<.<notextile>capteur n°3 pas d'alarme</notextile>| 
 |\3<.<notextile>alarme capteur n°4 si Pression Barométrique inférieure    à 1000mBAR</notextile>| 
 |\3<.<notextile>alarme capteur n°5 si Switch sur GPIO 10 passe à 1</notextile>| 
 |\3<.<notextile>alarme capteur n°6 si ADC sur GPIO 36 dépasse 3000</notextile>| 
 |_.0x6F *SETALARM 0x0D 0x0A 0xF0 0x00 0x05 0x00 0x11 0x8A 0xF4 0x00 0x00 0xF6 0x00 0x02 0xFF 0x31 0xBB 0x80 0x00| demande |_.<-| 
 |\3=.explication| 
 |\3<.<notextile> set alarme capteur n°0 si température supérieure à +26.5°C</notextile>| 
 |\3<.<notextile>capteur n°4 pas d'alarme</notextile>| 
 |\3<.<notextile>set alarme capteur n°6 si ADC sur GPIO 36 inférieure à 3000</notextile>| 
 |_.0x6F *GPS? 0x0D 0x0A| demande |_.<-| 
 |\3=.example de reponse| 
 |0x22 ... |_.->| 
 |localisation physique| 
 |Pays| 
 |Code zip| 
 |Ville| 
 |Adresse| 
 |Batiment| 
 |Etage| 
 |Piece| 

 h2. Annexe 

 type de capteur (inspiré de easymega https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.htm) https://github.com/letscontrolit/ESPEasy/releases) 
 (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(K) (Vindriktning) 
 P145 	 Gases - MQxxx (MQ135 CO2, MQ3 Alcohol) 
 P146 	 Generic - Cache Reader 
 P147 	 Gases - SGP4x VOC(/NOx) 
 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)