Project

General

Profile

Actions

Protocole » History » Revision 40

« Previous | Revision 40/47 (diff) | Next »
Frédéric Blanc, 2019-05-15 09:26


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"

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

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