So I really do not think the issue is with your initial code at all but the real problem is in the way you designed the circuit as you should not connected all sensors to the same trigger pin but to different pins on microprocessor as each sensor can not catch it's own echo that way.
It is basically axiomatic that can't achieve "without losses".
The best you can do is reduce them.
Have a CPU local to the MPU9250 that reads the data.
Read it repeatedly to ensure you got the right values.
(Drat. I forgot to do this! Time to consider more updates.)
Use a communication link between the local CPU and the controlling PI that uses at ...
why not use RS485 or RS422 as transfer layer. it will be more reliable, I think wireless can not ensure the stability, if your application has request on that, it's not a good idea. what you need is design a adaptor transfer message from i2c to uart or vice versa.
The C code appears to be an example I wrote to show usage of my pigpio C library.
A program showing how to use the gpioSetAlertFunc function to set a callback for GPIO state changes. A frequency count is generated for each monitored GPIO (frequencies up to 500kHz with a sample rate of 1μs).
You might be able to use Python for your purposes if you are using ...
TL;DR: Do not power the DHT11 with 5V and drive rPI GPIO with 5V: you risk damaging your rPi
The OP did not include the pull-up resistor, which I assume is to ensure that GPIO is driven with 3.3V (NOT 5V):
I found this post on this forum, and also this link from another site
which stated that the 5V pin should be used. I connected the 5V to the
You don't need any adapters to connect 2x DS18B20 temperature sensors to a Raspberry Pi. These sensors use the 1-wire interface which is built into the Pi. Only a resistor is required. The sensors can be connected in parallel and identified by a unique id.
There are different ways to sent data from an ESP 8266 or ESP32 to a Raspberry. For the ESP see amongst others ESPEasy, Tasmota, and hass.io. Transport is with MQTT, for data to a CSV file see for example https://github.com/nhonchu/mqttspooler. With (micro)python on the ESP module, there are other possibilities too.
You could have the Raspberry Pi behave like a WiFi access point (using hostapd and dnsmasq, introductory documentation from the Foundation is here) with a static IP and then have the ESP8266 join the hosted network and send the data to the Pi's IP address. The advantages are that you can also connect to the Pi from a PC or mobile device if you need to and it'...