lynchlab
@aoife_l22 · Membre depuis avril 2025
Engineering student · university
- Sujets
- 15
- Réponses
- 79
- Points
- 0
Toutes mes réponses sur les forums
Traduit de English par IA ·
Je garde une de ces cartes de référence GPIO imprimées qui se glissent sur le connecteur. Elle m’a sauvé plus d’une fois au labo.
I keep one of those printed GPIO reference cards that slide over the header. Saved me more than once in lab.
Do you have the two transistors between DTR/RTS and EN/IO0? Direct wires won’t do the sequence.
Traduit de English par IA ·
L’astuce GPIO4 utilise le générateur d’horloge du Pi : il peut produire une onde carrée à quelques dizaines de MHz, et le logiciel en modifie la fréquence pour obtenir de la FM. Une onde carrée est riche en harmoniques, donc vous émettez aussi sur des fréquences que vous n’avez pas le droit d’utiliser. Acceptable pour une démo de labo, mais je ne le mettrais pas sur la terrasse d’un hôtel.
The GPIO4 trick uses the Pi’s clock generator: it can put out a square wave at tens of MHz, and the software wiggles the frequency to make FM. A square wave is full of harmonics, so you’re also transmitting on frequencies you have no right to use. Fine for a lab demo, I wouldn’t put it on a hotel terrace.
« Upload Using Programmer » is for AVR boards with an ISP programmer. ESP32 boards don’t have any, so the menu is empty. The FTDI is a plain serial port here, use the normal Upload button.
What works for me every time with these boards:
- Board: AI Thinker ESP32-CAM (it’s in the esp32 package).
- FTDI at 5 V to the 5V pin, GND to GND, TX to U0R, RX to U0T.
- Bridge IO0 to GND, press the reset button, then Upload.
- When it says Hard resetting, remove the IO0 bridge and press reset again.
@Michael no. Live view in Hermetry needs an H.264 stream, and the ESP32-CAM serves MJPEG, which is never played. For a jam flag that’s fine anyway, you only send a number.
Does the robot check that it’s actually charging after it thinks it docked?
That’s what I don’t get either. Why put pads for parts you don’t fit?
Traduit de English par IA ·
La règle « peut arriver deux fois » piège beaucoup de monde, il vaut la peine de la mettre dans chaque sketch qui pilote quelque chose de physique.
The « may arrive twice » rule catches a lot of people, worth putting in every sketch that drives something physical.
It’s the pin. GPIO 4 is on ADC2, and on the ESP32 the WiFi driver uses ADC2, so analogRead() on any ADC2 pin fails while WiFi is on. Depending on the core version you get 0, 4095 or an error in the log. Same sensor on GPIO 34 works fine. ADC1 is GPIO 32-39, and 34-39 are input-only, which is all you need for a sensor.
So: move the wire to GPIO 34 (or 32/33/35/36/39), change the pin number, done. No code changes for WiFi.
Two smaller things while you’re in there. Take 16 readings and average them, the ESP32 ADC is noisy and a bit non-linear at the ends. And send both soil_raw and soil_pct, so you can recalibrate later from the raw history without reflashing.
const int SOIL = 34; // ADC1_CH6
uint32_t sum = 0;
for (int i = 0; i < 16; i++) { sum += analogRead(SOIL); delay(2); }
int raw = sum / 16;
int pct = constrain(map(raw, 3300, 1500, 0, 100), 0, 100);
4 USD × 500 is cheap next to radio certification. Take an nRF52832 module that carries its own FCC ID and CE paperwork (Raytac MDBT42Q is the one our lab uses), follow its layout rules for the antenna keep-out, and you only need the cheaper unintentional emissions testing for the whole product. Keep your firmware as is, the chip is the same.
For Hermetry: the tags themselves never log in. You put a BLE gateway on each floor (a Pi or any box with BLE and network) that listens to the adverts and reports each tag as a child device over the gateway API:
v1/gw/telemetry
{"tag-C4A1F0": {"values": {"temp_c": 4.2, "batt_mv": 2950}},
"tag-C4A1F7": {"values": {"temp_c": 6.8, "batt_mv": 2910}}}
Hermetry creates each child the first time it sees the name, puts it in the gateway profile’s « Profile of new children », and children never have credentials of their own. That answers Emily: one token per gateway, three or so per building, nothing per tag. A gateway takes up to 500 children by default, and each child counts toward the plan’s device limit.
If two gateways on neighbouring floors hear the same tag, decide in the gateways which one reports it, otherwise you get it twice under two names. Details: Devices behind a gateway.
Traduit de English par IA ·
Non, la caméra est le connecteur en nappe (CSI) derrière le port Ethernet. Je pense que P5 est un GPIO supplémentaire.
No, the camera is the ribbon connector (CSI) behind the Ethernet port. P5 is extra GPIO I think.
Traduit de English par IA ·
Quelle version de carte est imprimée sur la vôtre ? Les versions v2 et v3 ne se comportent pas de la même façon.
Which board version is printed on yours? The v2 and v3 behave differently.
The light sensor is pretty nonlinear btw, fine for « lights on or off » but don’t treat it as lux.
Rachel’s guess is the likely one. Same module, different carrier board. Both have an ESP-12E with the ESP8266 on it, so your sketch and pins are the same.
The narrow one is the « v2 » style (Amica design): CP2102 USB-serial chip, fits a standard breadboard with a row free on each side.
The wide one is the « v3 » style (LoLin): CH340G chip, wider so it covers all the holes of a normal breadboard, and the VU pin, which is the 5 V from USB. Handy if your photo-eye’s interface needs 5 V.
Windows 10/11 usually has the CP2102 driver, not always the CH340 one. Install the CH340 driver from the chip maker (WCH), unplug and replug, and it’ll appear as a COM port. If it still shows nothing, try a cable you know carries data, a lot of short USB cables are charge-only.
For the six counters: pick one and stick with it so wiring and enclosures are the same. I’d take the narrow v2 if you prototype on breadboards and the v3 if you want the VU pin. And count the pulses with an interrupt, then send one number per minute, not one message per pulse.
Is pi-bluetooth installed? Some minimal images leave it out.
Traduit de English par IA ·
Petit ajout : appliquez un anti-rebond aux contacts reed dans le firmware (20-50 ms), sinon une porte claquée enverra trois changements d’état à la suite.
Small add: debounce the reed switches in firmware (20-50 ms) or a slammed door will send three changes in a row.

