Cette page fournit une simple interface de navigation pour trouver des entités décrites par une propriété et une valeur nommée. D’autres interfaces de recherche disponibles comprennent la page recherche de propriété, et le constructeur de requêtes ask.
17702
import machine
import time
import urequests
import network
# Wi-Fi credentials
ssid = 'wifi_name' #input your own wifi name
password = 'password' #input your own password
# IFTTT webhook key
api_key = 'your_own_key' #input your own key
# Connect to Wi-Fi
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print('Connection successful')
print(station.ifconfig())
# Set up ultrasonic sensor
trigger = machine.Pin(4, machine.Pin.OUT)
echo = machine.Pin(5, machine.Pin.IN)
def main():
while True:
# Send trigger pulse
trigger.value(0)
time.sleep_us(5)
trigger.value(1)
time.sleep_us(10)
trigger.value(0)
# Measure duration of echo pulse
while echo.value() == 0:
start = time.ticks_us()
while echo.value() == 1:
end = time.ticks_us()
duration = time.ticks_diff(end, start)
# Calculate distance
distance = duration * 0.034 / 2
# Send data to IFTTT
data = {'value1': distance}
submitData("ultrasonic_distance", data)
# Delay before next measurement
time.sleep(5)
def submitData(event, data):
try:
print('Sending data to IFTTT:', data)
request_headers = {'Content-Type': 'application/json'}
request = urequests.post(
'https://maker.ifttt.com/trigger/'+ event + '/with/key/' + api_key,
json=data,headers=request_headers)
print(request.text)
request.close()
except OSError as e:
print('Failed to send data to IFTTT.', e)
if __name__ == '__main__':
main()
Matériel | Liens | Prix |
---|---|---|
Capteur d'analyse de qualité d'air | [https://www.gotronic.fr/art-capteur-de-qualite-d-air-grove-101020078-23838.htm Grove – Air quality sensor] | 8,70€ |
Capteur de poussière | [https://www.gotronic.fr/art-detecteur-de-poussiere-grove-101020012-18980.htm Grove - Dust Sensor] | 13,25€ |
Capteur température- humidité | [https://www.gotronic.fr/art-capteur-d-humidite-et-de-t-grove-101020019-18964.htm Grove - Temperature&Humidity Sensor Pro(DHT22)] | 11,40€ |
Interface Arduino-capteurs | [https://www.gotronic.fr/art-module-grove-base-shield-103030000-19068.htm Grove Base Shield] | 4,80€ |
Ecran | [https://nextion.tech/datasheets/nx4832k035/ Nextion NX4832K035] | 34,85€ |
Câble 4 contacts | [https://www.gotronic.fr/art-lot-de-5-cables-grove-20-cm-19054.htm Câble Grove 4 contacts] | 3,20 |
Jumper | [https://www.kubii.fr/site-entier/1593-fils-jumper-male-femelle-200mm-40-fils-kubii-3272496003989.html?search_query=jumper&results=24 Câble Jumper Mâle/Femelle] | 2,90€ |
Panneau de bois | [https://www.leroymerlin.fr/produits/menuiserie/panneau-bois-tablette-etagere-tasseau-moulure-et-plinthe/panneau-bois-agglomere-mdf/panneau-bois-recoupable/panneau-medium-mdf-naturel-ep-3-mm-x-l-244-x-l-122-cm-67458552.html Panneau MDF 3mm] | 4,32€ |
1 #include
2 #include
3
4 // WiFi
5 const char *ssid = "xxxxx"; // Enter your Wi-Fi name
6 const char *password = "xxxxx"; // Enter Wi-Fi password
7
8 // MQTT Broker
9 const char *mqtt_broker = "broker.emqx.io";
10 const char *topic = "emqx/esp32";
11 const char *mqtt_username = "emqx";
12 const char *mqtt_password = "public";
13 const int mqtt_port = 1883;
14
15 WiFiClient espClient;
16 PubSubClient client(espClient);
17
18 void setup() {
19 // Set software serial baud to 115200;
20 Serial.begin(115200);
21 // Connecting to a WiFi network
22 WiFi.begin(ssid, password);
23 while (WiFi.status() != WL_CONNECTED) {
24 delay(500);
25 Serial.println("Connecting to WiFi..");
26 }
27 Serial.println("Connected to the Wi-Fi network");
28 //connecting to a mqtt broker
29 client.setServer(mqtt_broker, mqtt_port);
30 client.setCallback(callback);
31 while (!client.connected()) {
32 String client_id = "esp32-client-";
33 client_id += String(WiFi.macAddress());
34 Serial.printf("The client %s connects to the public MQTT broker\n", client_id.c_str());
35 if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {
36 Serial.println("Public EMQX MQTT broker connected");
37 } else {
38 Serial.print("failed with state ");
39 Serial.print(client.state());
40 delay(2000);
41 }
42 }
43 // Publish and subscribe
44 client.publish(topic, "Hi, I'm ESP32 ^^");
45 client.subscribe(topic);
46 }
47
48 void callback(char *topic, byte *payload, unsigned int length) {
49 Serial.print("Message arrived in topic: ");
50 Serial.println(topic);
51 Serial.print("Message:");
52 for (int i = 0; i < length; i++) {
53 Serial.print((char) payload[i]);
54 }
55 Serial.println();
56 Serial.println("-----------------------");
57 }
58
59 void loop() {
60 client.loop();
61 }
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #