Skip to content

Commit 413946e

Browse files
committed
Trying some things
1 parent 287b15b commit 413946e

File tree

4 files changed

+473
-0
lines changed

4 files changed

+473
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
void setup() // Uno : READER
2+
{
3+
// Initializing serials
4+
Serial.begin(9600);
5+
6+
delay(1000);
7+
}
8+
9+
10+
11+
12+
void loop() {
13+
Serial.println("Serial");
14+
15+
while (Serial.available() > 0) {
16+
String s = Serial.readString();
17+
Serial.println("Lu : " + s);
18+
}
19+
20+
delay(500);
21+
}
22+
23+
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
#include <Bridge.h>
2+
#include <Sensirion.h>
3+
#include "DHT.h"
4+
5+
6+
7+
#define DEBUG 0
8+
9+
//============================== SHT15 ==============================
10+
#define SHT15dataPin 8
11+
#define SHT15clockPin 9
12+
float SHT15temp;
13+
float SHT15humidity;
14+
float SHT15dewpoint;
15+
16+
17+
//unsigned long uptime;
18+
Sensirion SHT15Sensor = Sensirion(SHT15dataPin, SHT15clockPin);
19+
/*
20+
SHT15
21+
=====
22+
+-—+
23+
Ground 6 -| |- NC
24+
Data 2 -| |- NC
25+
Clock 3 -| |- NC
26+
Vcc 10 -| |- NC
27+
\__/
28+
29+
Vcc : 3,3 normalement (supporte de 2,4 à 5,5V)
30+
31+
32+
Connecteur du PCB :
33+
34+
+--------------------+
35+
| |
36+
| PCB |
37+
| |
38+
| |
39+
| +-----------+ |
40+
| | 1 2 3 4 5 | |
41+
| | 6 7 8 9 10| |
42+
| +-----------+ |
43+
+--------------------+
44+
*/
45+
46+
47+
//============================== DHT11 ==============================
48+
#define DHTPIN 2
49+
#define DHTTYPE DHT11
50+
float DHT11humidity;
51+
float DHT11temp;
52+
float DHT11HI;
53+
54+
DHT dht(DHTPIN, DHTTYPE);
55+
56+
57+
//============================== MISC ==============================
58+
#include <Process.h>
59+
String ID;
60+
61+
62+
63+
void setup()
64+
{
65+
Bridge.begin();
66+
if(DEBUG==1) {
67+
Serial.begin(9600);
68+
}
69+
70+
71+
delay(4000); // Attente initiale de 4secondes
72+
73+
74+
75+
// DHT11 (AM2302)
76+
dht.begin();
77+
DHT11humidity = dht.readHumidity();
78+
DHT11temp = dht.readTemperature();
79+
DHT11HI = dht.computeHeatIndex(DHT11temp, DHT11humidity, false);
80+
81+
82+
// SHT15 init
83+
SHT15Sensor.measure(&SHT15temp, &SHT15humidity, &SHT15dewpoint);
84+
85+
86+
87+
// Get an ID
88+
Process getMACProcess;
89+
getMACProcess.runShellCommand(F("ifconfig wlan0 | grep HWaddr | sed s/.*HWaddr//"));
90+
while (getMACProcess.available() > 0) {
91+
ID=String(getMACProcess.readStringUntil("\n"));
92+
ID.trim();
93+
Serial.println("MAC address : "+ID);
94+
}
95+
96+
}
97+
98+
99+
100+
101+
void loop() {
102+
// ================== Getting time stamp =====================
103+
Process getTimeStampProcess;
104+
getTimeStampProcess.runShellCommand(F("date -R"));
105+
String timeStamp;
106+
while (getTimeStampProcess.available() > 0) {
107+
timeStamp=String(getTimeStampProcess.readStringUntil("\n"));
108+
timeStamp.trim();
109+
Serial.println("timeStamp : "+timeStamp);
110+
}
111+
112+
113+
114+
115+
// ==================== DEBUG =======================
116+
if(DEBUG==1) {
117+
Serial.print("DHT11: ");
118+
Serial.print(DHT11temp);
119+
Serial.print(" C / ");
120+
Serial.print(DHT11humidity);
121+
Serial.print(" % / ");
122+
Serial.print(DHT11HI);
123+
Serial.println(" C ressentis");
124+
125+
126+
Serial.print("SHT15 : ");
127+
Serial.print(SHT15temp);
128+
Serial.print(" C, Humidity: ");
129+
Serial.print(SHT15humidity);
130+
Serial.print(" %, Dewpoint: ");
131+
Serial.print(SHT15dewpoint);
132+
Serial.println(" C");
133+
}
134+
135+
136+
// ==================== Publish values =======================
137+
Bridge.put("uptime",String(millis()/1000));
138+
Bridge.put("Point de rosee",String(SHT15dewpoint));
139+
Bridge.put(String("hell/SHT15/0"),String("Temp=")+String(SHT15temp)+"&Hum="+String(SHT15humidity));
140+
Bridge.put(String("hell/DHT11/0"),String("Temp=")+String(DHT11temp)+"&Hum="+String(DHT11humidity));
141+
Bridge.put(String("hell//timeStamp"),timeStamp);
142+
Bridge.put(String("hell//ID"),ID);
143+
144+
Bridge.put("DHT11 heat index",String(DHT11HI));
145+
146+
147+
148+
// ==================== Waiting =======================
149+
if(DEBUG==1) {
150+
delay(2000); // Mise à jour chaque 2 seconde
151+
} else {
152+
delay(600000); // Mise à jour chaque 10 minutes
153+
}
154+
155+
156+
// ==================== READ new values =======================
157+
158+
// DHT11
159+
DHT11humidity = dht.readHumidity();
160+
DHT11temp = dht.readTemperature();
161+
DHT11HI = dht.computeHeatIndex(DHT11temp, DHT11humidity, false);
162+
163+
// SHT15
164+
SHT15Sensor.measure(&SHT15temp, &SHT15humidity, &SHT15dewpoint);
165+
}
166+
167+
168+

Thermometres/Yun-SHT75/Yun-SHT75.ino

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
#include <Sensirion.h>
2+
#include <Bridge.h>
3+
4+
#define DEBUG 0
5+
6+
//============================== SHT75 ==============================
7+
#define SHT75dataPin 8
8+
#define SHT75clockPin 9
9+
float SHT75temp;
10+
float SHT75humidity;
11+
float SHT75dewpoint;
12+
13+
14+
//unsigned long uptime;
15+
Sensirion SHT75Sensor = Sensirion(SHT75dataPin, SHT75clockPin);
16+
17+
18+
/*
19+
SHT75
20+
=====
21+
22+
+-—+
23+
| |
24+
\ /
25+
\/
26+
|
27+
+-+++-+
28+
| | | |
29+
C V G D
30+
8 1 5 9
31+
32+
C = Clock -> Jaune
33+
V = Vcc= 5V -> Rouge
34+
G = GND -> Noir
35+
D = Data -> Vert
36+
37+
Connecteur au bout de câble :
38+
+---+
39+
+---+ +---+
40+
| 1 2 3 4 5 |
41+
| 6 7 8 9 10|
42+
+-----------+
43+
44+
Placement des couleurs :
45+
+---+
46+
+---+ +---+
47+
| R . . . N |
48+
| . . J V . |
49+
+-----------+
50+
51+
Branchements sur Arduino :
52+
Rouge : 5V
53+
Noir : GND
54+
Vert : 8
55+
Jaune : 9
56+
57+
*/
58+
59+
60+
61+
62+
//============================== MISC ==============================
63+
#include <Process.h>
64+
String ID;
65+
66+
67+
68+
69+
void setup()
70+
{
71+
// Initializing serials
72+
Bridge.begin();
73+
if(DEBUG==1) {
74+
Serial.begin(9600);
75+
}
76+
77+
// Don't make any measurement at the starting moment.
78+
delay(4000);
79+
80+
// SHT75 init
81+
SHT75Sensor.measure(&SHT75temp, &SHT75humidity, &SHT75dewpoint);
82+
83+
84+
// Getting the MAC address and using it as an ID
85+
Process getMACProcess;
86+
getMACProcess.runShellCommand(F("ifconfig wlan0 | grep HWaddr | sed s/.*HWaddr//"));
87+
while (getMACProcess.available() > 0) {
88+
ID=String(getMACProcess.readStringUntil("\n"));
89+
ID.trim();
90+
Serial.println("MAC address : "+ID);
91+
}
92+
93+
}
94+
95+
96+
97+
98+
void loop() {
99+
// ================== Getting time stamp =====================
100+
Process getTimeStampProcess;
101+
getTimeStampProcess.runShellCommand(F("date -R"));
102+
String timeStamp;
103+
while (getTimeStampProcess.available() > 0) {
104+
timeStamp=String(getTimeStampProcess.readStringUntil("\n"));
105+
timeStamp.trim();
106+
Serial.println("timeStamp : "+timeStamp);
107+
}
108+
109+
110+
// ==================== DEBUG =======================
111+
if(DEBUG==1) {
112+
Serial.print("Temperature: ");
113+
Serial.print(SHT75temp);
114+
Serial.print(" C, Humidity: ");
115+
Serial.print(SHT75humidity);
116+
Serial.print(" %, Dewpoint: ");
117+
Serial.print(SHT75dewpoint);
118+
Serial.println(" C");
119+
}
120+
121+
122+
// ==================== Publish values =======================
123+
Bridge.put("uptime",String(millis()/1000));
124+
Bridge.put("Point de rosee",String(SHT75dewpoint));
125+
Bridge.put(String("hell/SHT75/0"),String("Temp=")+String(SHT75temp)+"&Hum="+String(SHT75humidity));
126+
Bridge.put(String("hell//timeStamp"),timeStamp);
127+
Bridge.put(String("hell//ID"),ID);
128+
129+
130+
131+
// ==================== Waiting =======================
132+
if(DEBUG==1) {
133+
delay(2000); // Mise à jour chaque 2 seconde
134+
} else {
135+
delay(600000); // Mise à jour chaque 10 minutes
136+
}
137+
138+
139+
// ==================== READ new values =======================
140+
SHT75Sensor.measure(&SHT75temp, &SHT75humidity, &SHT75dewpoint);
141+
}

0 commit comments

Comments
 (0)