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.
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()
True to scale sound impression, in some places too loud | Discreet sound, blade flapping can be heard |
Cost is 4000 - 6000 € approx fort he turbine | Cost is 1500 € approx (motor and controler) |
Additonally required equipment: fuel station (200 €), Kerosene, fuel tanks, valves, tubing | Additonally required equipment: charger, power supply, lipo batteries (another 1000 €) |
Kerosene can be difficult to get in some areas | Lipo batteries have a risk to burn |
Kerosene smell can be a problem in cars | - |
Higher virbation level in the model | - |
Thrust influences the flight characteristics | - |
Model loses weight during flight (burnt kerosene) and changes sometimes center of gravity | - |
More know how required (starting procedure, kerosene supply in the model by fuel tanks,…) | |
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #