Project

General

Profile

Protocole » History » Version 47

Frédéric Blanc, 2024-06-04 12:55

1 1 Frédéric Blanc
h1. Protocole
2
3 47 Frédéric Blanc
1er octet [4] [4]
4 1 Frédéric Blanc
quatre premier bits type
5 14 Frédéric Blanc
6 1 Frédéric Blanc
0 ALARME
7
1 température -43°C à +84.5°C -+0.5°C codé sur 8bits
8
2 % de 0 à 100% -+0.5% codé sur 8 bits
9 4 Frédéric Blanc
3 ADC brut sur 12bits [MSB LSB] concaténé sur 24bits
10
4 entier sur 16 bits [MSB LSB]
11
5 float simple précision  IEEE754 sur 32bits
12
6 ASCII chaine terminé par CRLF
13 8 Frédéric Blanc
7 Switch binaire 8 données de 1bit codées sur 8bits 
14 1 Frédéric Blanc
...
15
F réservé
16
17
quatre octet suivant nombre de données ou numéro de capteur
18
0 réservé ou numéro de capteur 0
19 13 Frédéric Blanc
1 à 9 nombre de données ou numéro de capteur
20
A à F réservé ou nombre de données
21 1 Frédéric Blanc
exemple
22
0x02 0x11 0x8A 
23
Alarme capteur n°2 température +26.5°C
24
25 4 Frédéric Blanc
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
26 1 Frédéric Blanc
capteur n°0 température 18.5°C; 18,0°C; 18,5°C; 19,0°C
27
capteur n°1 humidité 64.5%; 64.0%; 64.5%; 64.0%
28 3 Frédéric Blanc
capteur n°2 ADC RAW 12bits 3000;3001;3002;3003
29 1 Frédéric Blanc
Capteur n°3 float RAW 3.1415926
30 2 Frédéric Blanc
capteur n°4 ASCII "OPEN"
31 5 Frédéric Blanc
32 14 Frédéric Blanc
<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>
33
<notextile>0xF1 0x00 0x05 0x20 capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5%</notextile>
34
<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>
35
<notextile>0xF3 0x00 0x1C 0x20 capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5%</notextile>
36 1 Frédéric Blanc
0xF4 0x00 0x1C 0x50 capteur n°4 est un capteur BME280 de type Pression Barométrique mBAR en float simple précision 32bits
37 8 Frédéric Blanc
0xF5 0x00 0x01 0x71 0x0A capteur n°5 type Switch sur GPIO 10
38 10 Frédéric Blanc
0xF6 0x00 0x02 0x33 0x24 0x0C 0x1E capteur n°6 type ADC sur GPIO 36; 12 bits; vref 3Volts
39 14 Frédéric Blanc
40 6 Frédéric Blanc
41 12 Frédéric Blanc
h2. Universally Unique IDentifier (UUID)
42 1 Frédéric Blanc
43 28 Frédéric Blanc
- 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.
44 1 Frédéric Blanc
45 16 Frédéric Blanc
h2. Commandes
46
47 1 Frédéric Blanc
|Commande||END DEVICE SERVER|
48 33 Frédéric Blanc
|_.0x6F *IDN? 0x0D 0x0A| demande identifiant |_.<-|
49 19 Frédéric Blanc
|\3=.reponse|
50 33 Frédéric Blanc
|0x6F "identifiant" 0x0D 0x0A| |_.->|
51
|_.0x6F *UUID? 0x0D 0x0A| demande UUID |_.<-|
52 19 Frédéric Blanc
|\3=.reponse|
53 33 Frédéric Blanc
|0x6F UUID 0x0D 0x0A| |_.->|
54
|_.0x6F *SENSOR? 0x0D 0x0A| demande SENSOR|_.<-|
55 19 Frédéric Blanc
|\3=.example de reponse|
56 33 Frédéric Blanc
|\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|_.->|
57 19 Frédéric Blanc
|\3=.explication|
58 22 Frédéric Blanc
|\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>|
59 23 Frédéric Blanc
|\3<.<notextile>capteur n°1 est un capteur DHT de type humidité de 0 à 100% -+ 0.5%</notextile>|
60
|\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>|
61
|\3<.<notextile>capteur n°3 est un capteur BME280 de type humidité de 0 à 100% -+ 0.5%</notextile>|
62
|\3<.<notextile>capteur n°4 est un capteur BME280 de type Pression Barométrique mBAR en float simple précision 32bits</notextile>|
63
|\3<.<notextile>capteur n°5 type Switch sur GPIO 10</notextile>|
64
|\3<.<notextile>capteur n°6 type ADC sur GPIO 36; 12 bits; vref 3Volts</notextile>|
65 33 Frédéric Blanc
|_.0x6F *ALARM? 0x0D 0x0A| demande |_.<-|
66 27 Frédéric Blanc
|\3=.example de reponse|
67 33 Frédéric Blanc
|\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 |_.->|
68 27 Frédéric Blanc
|\3=.explication|
69
|\3<.<notextile>alarme capteur n°0 si température supérieure à +26.5°C</notextile>|
70
|\3<.<notextile>capteur n°1 pas d'alarme</notextile>|
71
|\3<.<notextile>capteur n°2 pas d'alarme</notextile>|
72
|\3<.<notextile>capteur n°3 pas d'alarme</notextile>|
73
|\3<.<notextile>alarme capteur n°4 si Pression Barométrique inférieure  à 1000mBAR</notextile>|
74
|\3<.<notextile>alarme capteur n°5 si Switch sur GPIO 10 passe à 1</notextile>|
75
|\3<.<notextile>alarme capteur n°6 si ADC sur GPIO 36 dépasse 3000</notextile>|
76 33 Frédéric Blanc
|_.0x6F *SETALARM 0x0D 0x0A 0xF0 0x00 0x05 0x00 0x11 0x8A 0xF4 0x00 0x00 0xF6 0x00 0x02 0xFF 0x31 0xBB 0x80 0x00| demande |_.<-|
77 29 Frédéric Blanc
|\3=.explication|
78
|\3<.<notextile> set alarme capteur n°0 si température supérieure à +26.5°C</notextile>|
79
|\3<.<notextile>capteur n°4 pas d'alarme</notextile>|
80
|\3<.<notextile>set alarme capteur n°6 si ADC sur GPIO 36 inférieure à 3000</notextile>|
81 41 Frédéric Blanc
|_.0x6F *GPS? 0x0D 0x0A| demande |_.<-|
82
|\3=.example de reponse|
83 42 Frédéric Blanc
|0x22 ... |_.->|
84 44 Frédéric Blanc
|localisation physique|
85
|Pays|
86
|Code zip|
87
|Ville|
88
|Adresse|
89
|Batiment|
90
|Etage|
91
|Piece|
92 30 Frédéric Blanc
93 31 Frédéric Blanc
h2. Annexe
94
95 46 Frédéric Blanc
type de capteur (inspiré de easymega https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.htm)
96 1 Frédéric Blanc
(ATTENTION CODE EN DECIMAL)
97 35 Frédéric Blanc
98 34 Frédéric Blanc
|000|0x0000| réservé|
99 43 Frédéric Blanc
|001|0x0001| Switch|entrée Digitale|état| GPIO; PULL|
100
|002|0x0002| ADC|ADC interne|valeur|GPIO; BITS; VREF|
101 34 Frédéric Blanc
|003|0x0003| Pulse|
102 43 Frédéric Blanc
|004|0x0004| DS18b20| capteur de température OW|Temp (°C)|numéros de série OW|
103
|005|0x0005| DHT |capteur numérique de Température et Humidité|Temp (°C); HR (%)|
104 34 Frédéric Blanc
|006|0x0006| BMP085|
105
|007|0x0007| PCF8591|
106
|008|0x0008| RFID|
107
|009|0x0009| MCP|
108
|010|0x000A| BH1750|
109
|011|0x000B| PME|
110
|012|0x000C| LCD|
111
|013|0x000D| HCSR04|
112
|014|0x000E| SI7021|
113
|015|0x000F| TSL2561|
114 35 Frédéric Blanc
115 38 Frédéric Blanc
|016|0x0010| IR|
116
|017|0x0011| PN532|
117
|018|0x0012| Dust|
118
|019|0x0013| PCF8574|
119
|020|0x0014| Ser2Net|
120
|021|0x0015| Level|
121
|022|0x0016| PCA9685|
122
|023|0x0017| OLED|
123
|024|0x0018| MLX90614|
124
|025|0x0019| ADS1115| ADC I2C QUAD|
125
|026|0x001A| SysInfo|
126
|027|0x001B| INA219|
127 37 Frédéric Blanc
|028|0x001C|BME280| BME280 I2C Temp/Hum/Barometric Pressure Sensor|Temp (°C); HR (%); Barometric (mBAR)|
128 38 Frédéric Blanc
|029|0x001D| Output|
129
|030|0x001E| BMP280 |  (Made obsolete, now BME280 can handle both)|
130
|031|0x001F| SHT1X|
131 5 Frédéric Blanc
132
032 MS5611
133
033 Dummy
134
034 DHT12
135
035 IRTX
136
036 FrameOLED
137
037 MQTTImport
138
038 NeoPixel
139
039 Environment - Thermocouple
140
040 RFID - ID12LA/RDM6300
141
041 NeoClock
142
042 Candle
143
043 ClkOutput
144
044 P1WifiGateway
145
049 MHZ19
146
052 SenseAir
147
056 SDS011-Dust
148
059 Encoder
149
063 TTP229_KeyPad
150
079 Wemos Motoshield
151
045 MPU6050
152
047 I2C_soil_misture
153
048 Motoshield_v2
154
051 AM2320
155
053 PMSx003
156
054 DMX512
157
055 Chiming
158
057 HT16K33_LED
159
058 HT16K33_KeyPad
160
060 MCP3221
161
061 Keypad
162
062 MPR121_KeyPad
163
064 APDS9960
164
065 DRF0299
165
066 VEML6040
166
067 HX711_Load_Cell
167
068 SHT3x
168
069 LM75A
169
070 NeoPixel_Clock
170
071 Kamstrup401
171
072 HDC1080
172
073 7DG
173
074 TSL2561
174
075 Nextion
175
076 HWL8012 cse7759  in POW r1
176
077 CSE7766   in POW R2  Needs HWL8012 cse7759B CSE7766 Energy sensor, via Serial RXD 4800 baud 8E1 (GPIO1), TXD (GPIO3)
177
078 Eastron Modbus Energy meters
178
080 iButton Sensor  DS1990A
179
081 Cron
180
082 GPS
181
083 SGP30
182
084 VEML6070
183
184 1 Frédéric Blanc
777 EXPERIMENTAL
185 46 Frédéric Blanc
186
nouvelle liste
187
188
P004	Environment - 1-Wire Temperature
189
P005	Environment - DHT11/12/22 SONOFF2301/7021/MS01
190
P006	Environment - BMP085/180
191
P007	Analog input - PCF8591
192
P008	RFID - Wiegand
193
P009	Switch Input - MCP23017
194
P010	Light/Lux - BH1750
195
P011	Extra IO - ProMini Extender
196
P012	Display - LCD2004
197
P013	Distance - HC-SR04/RCW-0001/etc.
198
P014	Environment - SI7021/HTU21D
199
P015	Light/Lux - TSL2561
200
P016	Communication - IR Receive (TSOP4838)
201
P017	RFID - PN532
202
P018	Dust - Sharp GP2Y10
203
P019	Switch input - PCF8574
204
P020	Communication - Serial Server
205
P021	Regulator - Level Control
206
P022	Extra IO - PCA9685
207
P023	Display - OLED SSD1306
208
P024	Environment - MLX90614
209
P025	Analog input - ADS1x15
210
P026	Generic - System Info
211
P027	Energy (DC) - INA219
212
P028	Environment - BMx280
213
P029	Output - Domoticz MQTT Helper
214
P030	Environment - BMP280
215
P031	Environment - SHT1x
216
P032	Environment - MS5611 (GY-63)
217
P033	Generic - Dummy Device
218
P034	Environment - DHT12 (I2C)
219
P035	Communication - IR Transmit
220
P036	Display - OLED SSD1306/SH1106 Framed
221
P037	Generic - MQTT Import
222
P038	Output - NeoPixel (Basic)
223
P039	Environment - Thermosensors
224
P040	RFID - ID12LA/RDM6300
225
P041	Output - NeoPixel (Word Clock)
226
P042	Output - NeoPixel (Candle)
227
P043	Output - Clock
228
P044	Communication - P1 Wifi Gateway
229
P045	Gyro - MPU 6050
230
P046	Hardware - Ventus W266
231
P047	Environment - Soil moisture sensor
232
P048	Motor - Adafruit Motorshield v2
233
P049	Gases - CO2 MH-Z19
234
P050	Color - TCS34725
235
P051	Environment - AM2320
236
P052	Gases - CO2 Senseair
237
P053	Dust - PMSx003 / PMSx003ST
238
P054	Communication - DMX512 TX
239
P055	Notify - Chiming
240
P056	Dust - SDS011/018/198
241
P057	Display - HT16K33
242
P058	Keypad - HT16K33
243
P059	Switch input - Rotary Encoder
244
P060	Analog input - MCP3221
245
P061	Keypad - PCF8574 / MCP23017 / PCA8575
246
P062	Keypad - MPR121 Touch
247
P063	Keypad - TTP229 Touch
248
P064	Gesture - APDS9960
249
P065	Notify - DFPlayer-Mini MP3
250
P066	Color - VEML6040
251
P067	Weight - HX711 Load Cell
252
P068	Environment - SHT3x
253
P069	Environment - LM75A
254
P070	Output - NeoPixel Ring Clock
255
P071	Communication - Kamstrup Multical 401
256
P072	Environment - HDC1000/HDC1008/HDC1010/HDC1050/HDC1080 (I2C)
257
P073	Display - 7-segment display
258
P074	Light/Lux - TSL2591
259
P075	Display - Nextion
260
P076	Energy (AC) - HLW8012/BL0937
261
P077	Energy (AC) - CSE7766
262
P078	Energy (AC) - Eastron SDMxxx Modbus
263
P079	Motor - Wemos / Lolin Motorshield
264
P080	Switch input - iButton
265
P081	Generic - CRON
266
P082	Position - GPS
267
P083	Gases - SGP30 TVOC/eCO2
268
P084	UV - VEML6070
269
P085	Energy (DC) - AcuDC243
270
P086	Generic - Homie receiver
271
P087	Communication - SerialProxy
272
P088	Energy (Heat) - HeatpumpIR
273
P089	Communication - Ping
274
P090	Gases - CCS811 TVOC/eCO2
275
P091	Switch input - Serial MCU controlled switch
276
P092	Heating - DL-Bus (Technische Alternative)
277
P093	Energy (Heat) - Mitsubishi Heat Pump
278
P094	Communication - CUL Reader
279
P095	Display - TFT ILI934x/ILI948x
280
P097	Internal - Touch ESP32
281
P098	Motor - PWM Motor
282
P099	Touch - XPT2046 touchscreen on TFT display
283
P100	Pulse Counter - DS2423
284
P101	Communication - Wake On LAN
285
P102	Energy (AC) - PZEM-004Tv30-Multiple
286
P103	Environment - Atlas Scientific EZO pH
287
P104	Display - MAX7219 dot matrix
288
P105	Environment - AHT1x/AHT2x/DHT20/AM2301B
289
P106	Environment - BME68x
290
P107	UV - SI1145
291
P108	Energy (AC) - DDS238-x
292
P109	Display - ThermoOLED
293
P110	Distance - VL53L0X (200cm)
294
P111	RFID - MFRC522
295
P112	Color - AS7265X
296
P113	Distance - VL53L1X (400cm)
297
P114	UV - VEML6075
298
P115	Energy - MAX1704x
299
P116	Display - ST77xx TFT
300
P117	Gases - SCD30 CO2, Humidity, Temperature
301
P118	Communication - Itho
302
P119	Gyro - ITG3205
303
P120	Acceleration - ADXL345 (I2C)
304
P121	Position - HMC5883L
305
P122	Environment - SHT2x
306
P123	Touch - FT62x6
307
P124	Output - I2C Multi Relay
308
P125	Acceleration - ADXL345 (SPI)
309
P126	Output - Shift registers (74HC595)
310
P127	Gases - CO2 CDM7160
311
P128	Output - NeoPixel (BusFX)
312
P129	Input - Shift registers (74HC165)
313
P131	Display - NeoPixel Matrix
314
P132	Energy (DC) - INA3221
315
P133	UV - LTR390
316
P134	Distance - A02YYUW
317
P135	Gases - CO2 SCD4x
318
P137	Power mgt - AXP192 Power management ESP32
319
P138	Power mgt - IP5306 Power management
320
P141	Display - PCD8544 Nokia 5110 LCD
321
P143	Switch input - I2C Rotary encoders
322
P144	Dust - PM1006(K) (Vindriktning)
323
P145	Gases - MQxxx (MQ135 CO2, MQ3 Alcohol)
324
P146	Generic - Cache Reader
325
P147	Gases - SGP4x VOC(/NOx)
326
P148	Display - POWR3xxD/THR3xxD
327
P150	Environment - TMP117 Temperature
328
P151	Environment - I2C Honeywell Pressure
329
P152	Output - ESP32 DAC
330
P153	Environment - SHT4x
331
P154	Environment - BMP3xx
332
P159	Presence - LD2410
333
P162	Output - MCP42xxx Digipot
334
P164	Gases - ENS16x TVOC/eCO2
335
P166	Output - GP8403 Dual channel DAC 0-10V
336
	Environment - Sensirion SEN5x (IKEA Vindstyrka)