Hot answers tagged

6

The ESP32 has two ADCs. One of them, ADC2, is actively used by the WiFi. From the IDF documentation: Since the ADC2 module is also used by the Wi-Fi, only one of them could get the preemption when using together, which means the adc2_get_raw() may get blocked until Wi-Fi stops, and vice versa. That means you can't use the ADC on any of the ADC2 channels ...


5

The "Authorization" is simply an HTTP header. So add it in your request like: http.addHeader("Authorization", token); The value of "token" is just the string "Bearer " followed by your authorization string. Don't neglect the SPACE after the word "Bearer". It will look like: "Bearer eyJhb......" ...


4

If you provide a password for you network, it will be encrypted. Thats the point of the password. When you look at the function description in the WifiAP.cpp file of the Wifi class for the ESP32, the description suggests, that it will be encrypted with WPA2, which is currently the standard in Wifi encryption. (Though that can depend on the actual library, ...


4

Thanks to @Majenko I was able to find what I was looking for on the internet from this link. When I googled "captive portal" instead of the phrases that I was using I found a lot more examples. This code opens a "captive portal" once I connect to the esp32 access point. #include <WiFi.h> #include <DNSServer.h> const byte ...


4

An Arduino can do this, but this is a very advanced problem on an Arduino. It sounds like perhaps you need something more plug-and-play. In that case, buy a Raspberry Pi 4 starter kit and a USB microphone, and start working on the problem from there. The Raspberry Pi 4 is a Linux computer, so everything you do will be writing scripts or programs (in any ...


4

You are obviously currently programming the ESP8266, not the Atmega328p. The board seems to have DIP switches on it. With those you can control, which chip is connected to which. The product description has the following table Connection DIP 1 2 3 4 5 6 7 ATmega328<->ESP8266 ON ON OFF OFF OFF OFF OFF USB <->...


4

You use WiFi.RSSI(): RSSI Return the signal strength of Wi-Fi network, that is formally called Received Signal Strength Indication (RSSI). WiFi.RSSI() Signal strength value is provided in dBm. The type of returned value is int32_t. Example code: Serial.printf("RSSI: %d dBm\n", WiFi.RSSI()); Example output: RSSI: -68 dBm


3

WiFi with WPA2 (which is what you get when you specify a password) is encrypted. As long as your HTTP requests only go over that connection and nowhere else then yes, they are encrypted and as secure as WPA2 (which isn't unbreakable, but not easy to break). HTTPS adds encryption for use over the internet which in general is not encrypted.


3

This is normal behavior. well not really, that address is called a apipa address. It's normal behavior for alot of O.S's to give itself an address in the 169.254.x.x range when they fail to get DHCP responses. My guess is your library is doing this for you. It's kind of like the ad-hoc of addressing, if all devices fail to get a dhcp response they will all ...


3

Yes, 1MB is fine for OTA. There are, though, a few caveats when working with OTA that you must observe regardless of the flash size: The maximum OTA program size is less than half the available flash size. Typically it is about 500kB. Two copies need to be stored in flash, plus the partition table and NVRAM. The rest of the flash on larger chips is most ...


3

It is still possible to get work. I see the copper pads have been pulled off so you need to use extra amount of solder and hopefully it attaches to the remained copper wire. My case is even worse because the antenna is lost, so I have to remade one. And it works.😂


3

The problem that I see in the photo is that the pads from the PCB are pulled off and attached to the antenna. So now there is nothing to solder the antenna back to. While it's possible to rework this with some solder rework tools, I suspect you don't have those. There is really not much else you can do but replace the Nano with a new one. You should still ...


3

You can use a ESP32 with built-in WiFi and Bluetooth. Record a wave-File to a SD-card using this library, send it over Blutooth and play it on the PC with a little script.


3

I think the answer to your question can best be summed up by one word: "Kinda". The best reasoning is the NodeMCU Lua documentation which states: Time keeping on the ESP8266 is technically quite challenging. Despite being named RTC, the RTC is not really a Real Time Clock in the normal sense of the word. While it does keep a counter ticking while ...


3

Unfortunately, I don't have a precise answer to your question currently, but I would like to warn you about the Security Through Obscurity approach proposed by Majenko. This approach may be reasonable for something very homemade, but it is strongly discouraged by researchers and experts. For instance, if you have a look at the Guide to General Server ...


3

I came across the same issue on my experiments. What sorted the issue for me was powering the ESP-32_CAM from the 5V pin on the programmer. Take the cable off the 3V and plug it into the 5V pin on the cam. Then use the jumper on the programmer to select the 5V. I hope this makes sense and that it helps someone.


3

It looks like you forgot to initialize switchPin1 to be an output. Add the following to your setup() (for example, right after the corresponding initialization commands for switchPin0): void setup() { .... pinMode(switchPin1, OUTPUT); digitalWrite(switchPin1, HIGH); .... }


2

I fixed this by adding below command before starting the accesspoint. WiFi.mode(WIFI_AP);


2

In order to connect to Wifi from ESP32 and other boards, the WiFi connection needs to be 2.4GHz, wireless mode must be legacy. It cannot be set to Auto or N only. Go to your router box web page, and change this setting under Advanced Settings > Wireless. The only code required to connect is. void loop() { ... WiFi.begin(MY_SSID, MY_PWD); } void setup(...


2

I had the same problem. I found that solution in a forum on Github, which helped at once: #include "soc/soc.h" #include "soc/rtc_cntl_reg.h" void setup(){ WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector


2

The only timeout I can find is in the espota.py script itself. That is riddled with such lines as: sock.settimeout(10) You would need to scour that program and change them all. However ArduinoOTA uses UDP for communication. Because of that it is unreliable (yes, that's a technical term). It doesn't have any form of retransmit / retry, so if a packet is lost ...


1

Apparently, something went wrong with connecting to the router. The router was casting 802.11 g + n, which for some reason, made the esp8266 give a code 6. I have tried 802.11 b, 802.11 b+g+n, 802.11 n, which work all fine. So I updated the settings that the router now uses 802.11n and the esp8266 can now connect to the internet!


1

I made a binding IP and MAC and now I see my ESP)


1

If they are on the same (wifi) network; then yes. If you are on a different network, it would be more difficult. You would have to setup port forwarding on your router. Then you would have to somehow know the public IP address of the other router. These addresses can change from time to time with certain ISPs. I wouldn't advice doing this. Instead I'd go ...


1

Thanks for posting the question and the solution. I spent hours on google and reading message boards before coming across this. I am not sure if my root cause was the same, but to me the "strange" IP for my ESP8266 (nodemcu) came from them connecting through the Guest Network of my Asus router. This resulted in an identical problem to OP with ...


1

A const parameter to a function doesn't define what can be passed. It is, instead, a "promise" by the function that it will not modify the data you pass it. In C when you pass a "string" (which is actually an array of characters) to a function you don't actually pass the string (as in the content). You really just pass a pointer to the ...


1

The issue lies with Wemos Module where it only outputs 3.3V which insufficient to 5V Relay so this can be solved by implementing 2N2222 Transistor as per schematic below.


1

the bootloader doens't listen on RX/TX3. to start the bootloader reset is required to communicate with the bootloader a serial programmer must have STK500 protocol or a telnet bridge for avrdude, which your NodeMCU sketch doesn't have If your NodeMCU sketch has OTA, then the sketch could be updated to an avrdude telnet bridge. then reset would be needed to ...


1

Your esp8266 firmware isn't required to wait before responding to the atmega2560, but the reality is that it simply can't respond in zero-time. The esp will take some processing to interpret the command that was sent to it and to create the reply to the atmega. And that is even if it doesn't have to wait for some distant server. If the esp has to send a WiFi ...


1

You need to set esp 8266 to flash mode. Please connect en PIN to Gnd pin. Then flash again.


Only top voted, non community-wiki answers of a minimum length are eligible