New answers tagged

0

First be sure your voltage on the analog input is less then 1V and greater then zero, that is the range for the input. If nothing connected no guarantee what you will get. Just guessing, no circuit or definition.


0

There are certain pins that output a 3.3V signal when the ESP8266 boots. This may be problematic if you have relays or other peripherals connected to those GPIOs. The following GPIOs output a HIGH signal on boot: GPIO1, GPIO3, GPIO9, GPIO10. GPIO3: pin must high at BOOT and is pulled up to that position. I have no idea what will happen if low at that point. ...


0

What fixed the issue for me was to go to Boards manager on Arduino IDE and update to latest version: Then I got the following error when compiling: Board generic (platform esp8266, package esp8266) is unknown In order to fix that, I followed these instructions. And, I also removed rdm6300 library from C:\Program Files\Arduino\libraries and moved it in C:\...


0

Blynk.connected() returns true when hardware is connected to Blynk Server, so you can guard Blynk code with if( Blynk.connected() ){ // do Blynk things here } // Update the LCD anywhere outside of the above "if" statement.


1

Disclaimer: In this answer I'm using ESP and Arduino interchangeably, as if they were the same. They are in context this question, but not in general. First: According to the datasheet of the HT12D, the supply voltage can be between 2.4V and 12V, so you could just provide it with the 3.3V of your ESP. That way the output pins will also run on 3.3V. Then you ...


1

I am afraid I could not understand your question properly. But maybe, the answer is YES, if ... First of all, OUTPUT pins, cannot be turned ON and turned OFF, however, you can start or stop READING that particular OUTPUT PIN based on another INPUT pin value. If you want to connect HT12D decoder to any arduino or ESP, you must be aware to use same voltage ...


0

You can either set the router to allocate a static IP based on your esp8266's MAC address, or go the DHCP-way first, read the gateway IP address you got, and then do a WiFi.config(), something roughly like this (untested): WiFi.begin(ssid, password); IPAddress ip = WiFi.gatewayIP(); IP[3] = 15; IPAddress dns(8, 8, 8, 8); WiFi.config(ip, WiFi.gatewayIP(), dns,...


-1

The whole point of using PROGMEM is to save the RAM for other uses. If you have a huge string that would overflow your RAM then PROGMEM is essential. However, if the string isn't too large and the program works fine, then just use String instead of PROGMEM.


1

I advice you to buy some Sonoff devices, either the basic or S20. (they are pretty cheap on AliExpress/ebay etc.) They are perfect for the job. Flash them with Tasmota, which you find on github Tasmota. Then use a RaspberryPi (or similar) as a server. Run Node-RED on this server to communicate via MQTT to all your (Sonoff) devices. Use Mosquitto as the MQTT ...


0

You cannot assign a PROGMEM string directly to a String object. Besides, the whole concept makes no sense, since String objects store their data in RAM regardless. If you want to use PROGMEM you need to use const char * not String.


2

Your two best options would be MQTT and WebSockets. Both would open a long lived TCP connection that the ESP8266 and browser could use to transmit and receive data. Both would avoid constant polling to see if there's a new command. MQTT requires an external broker. There are MQTT services with free tiers you could use for this or you could run one locally - ...


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(...


1

Besides the somewhat strange problem of loop() being nested inside setup() (which I will put down to a copy-and-paste error) I think your main problem is that of a lack of content-type. The function getContentType() is supposed to guess the content type by the filename extension. However there is nothing there to handle a .json file. So it will just default ...


3

On the nodeMCU board all the 3.3v pins have continuity. That means they all do the same thing. And yes, you can apply ~3.3v to them. I have trouble with voltages under ~2.8 though, 2.5v is likely not going to work. Use a buck+boost to keep it 3.3v if needed. For cheap dc/dc converters, I strongly prefer ones with XL semi chips; clean enough to please 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.


0

Is the Wemos D1 R1 a 5V board, or 3.3V? If it's a 3.3V board, that's your problem. Get a 3.3V relay. (From a little digging it looks like the Wemos is a 3.3V device. If so, that is your problem. Those "digital relays" are available in 5V and 3.3V models. Replace your 5V relay with a 3.3V relay.) What are the current requirements of the relay, and ...


2

is AT command the only thing that I can do? No. The AT commands are provided by the AT command firmware. You can replace that firmware with whatever you want. It is common to write your own software for the ESP8266 to do your communication for you and communicate with other devices (including an Arduino) in whatever way is suitable. Many times you don't ...


1

I have several of the second version and they all have the CP2102 USB to UART bridge. So I wouldn't say it's a copy or a clone. These are now made by several manufacturers, mine came from DOITING not AI Thinker, so the components can vary and come in different colours ! AND, Chinese is Good !


1

you can reconfigure your router, or whatever network mode you are using, with auto-login to the MAC addresses of your ESPs. And then if you provide the MACs of the corresponding ESPs, and change your WiFi credentials, then you don't need to configure the ESPs individually. It will auto-connect itself.


1

Try updating the Serial Driver in your system or try using lesser baud rate, i.e. 9600 instead of 115200.


0

The cheapest (in every sense) way I know to display "idleness" is to set an output pin when you enter the scheduler and clear it again when you dispatch a task (other than your idle task, if there is one). Or reverse this, if you want to display load instead. These can be accomplished with a single instruction each. Low impact on your memory, ...


1

The only metric you have is time. The only thing you can do is compare that time over iterations / task calls. The typical approach is to note the time at the start of a task "tick", and note it at the end. Then add the difference to the total for that task. When you want to then look at usage percentages you can compare those totals to the total ...


Top 50 recent answers are included