Project

General

Profile

Protocole » History » Version 41

Frédéric Blanc, 2019-05-15 09:30

1 1 Frédéric Blanc
h1. Protocole
2
3
1er octet [4][4]
4
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
|0x22 ... |_.->| 
84 30 Frédéric Blanc
85 31 Frédéric Blanc
h2. Annexe
86
87 5 Frédéric Blanc
type de capteur (inspiré de easymega https://github.com/letscontrolit/ESPEasy)
88 1 Frédéric Blanc
(ATTENTION CODE EN DECIMAL)
89 35 Frédéric Blanc
90 34 Frédéric Blanc
|000|0x0000| réservé|
91 37 Frédéric Blanc
|001|0x0001| Switch|| GPIO; PULL|
92
|002|0x0002| ADC||GPIO; BITS; VREF|
93 34 Frédéric Blanc
|003|0x0003| Pulse|
94
|004|0x0004| Dallas Environment - DS18b20|
95 39 Frédéric Blanc
|005|0x0005| DHT Temp/Humi|Temp (°C); HR (%)|
96 34 Frédéric Blanc
|006|0x0006| BMP085|
97
|007|0x0007| PCF8591|
98
|008|0x0008| RFID|
99
|009|0x0009| MCP|
100
|010|0x000A| BH1750|
101
|011|0x000B| PME|
102
|012|0x000C| LCD|
103
|013|0x000D| HCSR04|
104
|014|0x000E| SI7021|
105
|015|0x000F| TSL2561|
106 35 Frédéric Blanc
107 38 Frédéric Blanc
|016|0x0010| IR|
108
|017|0x0011| PN532|
109
|018|0x0012| Dust|
110
|019|0x0013| PCF8574|
111
|020|0x0014| Ser2Net|
112
|021|0x0015| Level|
113
|022|0x0016| PCA9685|
114
|023|0x0017| OLED|
115
|024|0x0018| MLX90614|
116
|025|0x0019| ADS1115| ADC I2C QUAD|
117
|026|0x001A| SysInfo|
118
|027|0x001B| INA219|
119 37 Frédéric Blanc
|028|0x001C|BME280| BME280 I2C Temp/Hum/Barometric Pressure Sensor|Temp (°C); HR (%); Barometric (mBAR)|
120 38 Frédéric Blanc
|029|0x001D| Output|
121
|030|0x001E| BMP280 |  (Made obsolete, now BME280 can handle both)|
122
|031|0x001F| SHT1X|
123 5 Frédéric Blanc
124
032 MS5611
125
033 Dummy
126
034 DHT12
127
035 IRTX
128
036 FrameOLED
129
037 MQTTImport
130
038 NeoPixel
131
039 Environment - Thermocouple
132
040 RFID - ID12LA/RDM6300
133
041 NeoClock
134
042 Candle
135
043 ClkOutput
136
044 P1WifiGateway
137
049 MHZ19
138
052 SenseAir
139
056 SDS011-Dust
140
059 Encoder
141
063 TTP229_KeyPad
142
079 Wemos Motoshield
143
045 MPU6050
144
047 I2C_soil_misture
145
048 Motoshield_v2
146
051 AM2320
147
053 PMSx003
148
054 DMX512
149
055 Chiming
150
057 HT16K33_LED
151
058 HT16K33_KeyPad
152
060 MCP3221
153
061 Keypad
154
062 MPR121_KeyPad
155
064 APDS9960
156
065 DRF0299
157
066 VEML6040
158
067 HX711_Load_Cell
159
068 SHT3x
160
069 LM75A
161
070 NeoPixel_Clock
162
071 Kamstrup401
163
072 HDC1080
164
073 7DG
165
074 TSL2561
166
075 Nextion
167
076 HWL8012 cse7759  in POW r1
168
077 CSE7766   in POW R2  Needs HWL8012 cse7759B CSE7766 Energy sensor, via Serial RXD 4800 baud 8E1 (GPIO1), TXD (GPIO3)
169
078 Eastron Modbus Energy meters
170
080 iButton Sensor  DS1990A
171
081 Cron
172
082 GPS
173
083 SGP30
174
084 VEML6070
175
176
777 EXPERIMENTAL