#ESP32-S2 feather wifi
1 messages · Page 1 of 1 (latest)
Your specific question was about the SPI pins used to communicate between the main chip and the secondary chip in the former. But since that is not needed with an ESP32-S2 there isn't really anything you need with the pins on your ESP32-S2
Instead you'll need to use different code (that doesn't use that module) in order to connect to the network and send data across it. I can find an example of some of this code in a moment.
that would be awesom. I found a lot of basic examples using the core wifi module, but if has very basic functionalities. In particular, I can't figure out it it can handle WPA2 enterprise, while esp32spi does
I can't really speak to different network authentication types. I have only very basic experience with either type of network honestly.
This example is written for a device with built-in wifi like the ESP32-S2 https://github.com/adafruit/Adafruit_CircuitPython_Requests/blob/main/examples/requests_https_circuitpython.py
As far as I am aware that example is connective via WPA2. But I could be misunderstanding. I don't know all of the details about different types of networks.
Fair enough! here is an example to connect with a SSID / username / password in the esp32spi module https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/blob/main/examples/esp32spi_wpa2ent_simpletest.py
There is another more complex example in the guide for ESP32-S2 feather as well: https://learn.adafruit.com/adafruit-esp32-s2-feather/i2c-on-board-sensors#adafruit-io-example-code-3106697-12 this one sending data to AdafruitIO specifically. But the way it connects to the network should be able to carry over to other projects.
I use that on my home network (WPA2 personal), but WPA2 enterprise (at univ is a different beast. I'll keep on digging. Thanks for your help
Ah I see. I think @narrow sluice has done a lot of diving into different networks with CircuitPython. They may have some ideas about whether there are existing examples of WPA2 Enterprise specifically.
Thanks for the referral. Lots of repositories to explores!
@kindred apex Yes, I think you two nailed it. There is enterprise for ESP321SPI, but not currently for ESP32-S2. However, you can add an Airlift to an ESP32-S2. Code example to follow.
CircuitPython with 3 Networks: FeatherS2 + Airlift FeatherWing + Ethernet FeatherWing
https://gist.github.com/anecdata/cdf0d931d8b2dee21775d34d0df69879
CircuitPython with 3 Networks: FeatherS2 + Airlift FeatherWing + Ethernet FeatherWing - code.py
Almost any ESP32 can be used as an Airlift co-processor, as long as the right pins (0,5,14,18,23,33, and RX/TX for optional debug) are exposed (or you can tweak the NINA firmware for different pins). More than you ever wanted to know about ESP32SPI pins here:
https://gist.github.com/anecdata/80aa1b95933c0d37828c0c177f229d73
Thanks. I will dive in these pages
(happy to help with any more specific questions too.)
Just to make sure I understand (I am pretty new to this). Do you mean that I should be able to access the built-in esp Chip as an airlift co-processor, or that my only option, beside switching to arduino, is to connect another esp32 co-processor?
I believe it's the latter. At this time it seems the only way to achieve WPA2 Enterprise with CircuitPython is via the ESP32_SPI co-processor, so you would need to connect an ESP32 as a secondary device such as this: https://www.adafruit.com/product/4201 or one of the similar devices.
Theoretically you could also change your main device to something that doesn't have built-in WIFI if you happen to have a Feather M4 or something else available and want to use the ESP32-S2 for a different project that does require this functionality.
I think that’s the easiest, yes. I naively thought that getting everything on the same board would make my life easier…
I think you instinct is right. It's likely that it would have made things easier, unfortunately it's just a gap in the current support of the built-in WIFI chips atm. Hopefully at someone it will be possible to add support for this type of authentication to the built-in ones.