Hacker News new | ask | show | jobs
by Vurdentium 454 days ago
The problem isn't with the artist doing a one-off project involving a microcontroller. It's the Arduino "experts" who write blogs, create videos, and dominate forums with their accumulated nonsense. They posit themselves as authorities in the space, newbies adopt and echo whatever rubbish they make up, and the cycle continues. They get very defensive if you try to correct them, even linking directly to documentation supporting it.

If you're going to write a blog about how the ESP32 doesn't connect to the strongest AP so you need to pin it to a specific BSSID in your router settings... Maybe you shouldn't be writing that blog. If you haven't taken at least a moment to check documentation and see that the behaviour you want is already an option that can be selected by changing literally one line in your ESP32's WiFi config. Instead this pseudoscience proliferates.

2 comments

I know what you mean haha.

Instead of spending x2 the initial effort to fix the root cause, you spend x1 the initial effort to implement jank and then spend x10 the effort down the line maintaining the jank.

Who wants to deal with writing that logic for a hobby project? That doesn't sound fun at all.

Sounds like a "good enough" shitty solution to me, which is kind of the whole point of DIY.

Deal with what? I would argue that if you're going to the effort of writing a blog post on the topic then you should at least go to the effort of skimming the docs to make sure there isn't already a solution for the common problem you're experiencing.

It's literally one word to change in his WiFi config to get the behaviour he wants. It's already implemented. Who can't "deal" with that?

Personally, I don't use multiple APs with overlapping SSIDs, but if I did than I can see how it would be easier to deal with the logic from the AP management side rather than the client. It's also nice to not have to re-connect IoT things if/when you add or change your APs.
I'm not sure we're understanding each other so just to be clear, my suggestion is to change from this (pseudo) C:

  wifi_connection_config_t config = {
    .ssid = "my_home_wifi",
    .password = "secret123",
    /*
      implicitly initialised to default:
      .method = CONNECT_TO_THE_FIRST_AP_THAT_RESPONDS,
    */
  }
to

  wifi_connection_config_t config = {
    .ssid = "my_home_wifi",
    .password = "secret123",
    /* explicitly initialise: */
      .method = CONNECT_TO_THE_AP_WITH_THE_STRONGEST_RSSI,
  }

It's that simple.
I think I understand you. That functionality doesn't exist in ESP32 Arduino tool chain without more work/more code. Their hobby level perspective is valuable to other hobby level engineers who want a solution.