0 votes
in ESP8266 WiFi Color Kit by (260 points)
edited by

Hello,

I had no problems getting the ESP8266 Weather Station Classic connected to wifi, the ESP8266 module shows up in the list of connected devices.  However, the Wemos board in the ESP8266 Weather Station Color can't make a connection.  The LCD display shows the Thingpulse logo and that a connection is trying to be made to my wifi.  I checked that the ceramic antenna is connected via the 0 Ohm SMD resistor, rather than the antenna connector, that is ok.  Verified the SSID name and password are correct.  I notice there are three additional wifi commands in the sketch that are not in the Weather Station Classic sketch: wifi.disconnect, wifi.hostname and wifi.mode.  Perhaps there is something I need to do to the settings.h file in the definitions for hostname and mode?  I unplugged my wifi extender, I put the Wemos board right on top of my router, but to no avail.  Has anyone come across this problem and found a solution?  I'd be grateful for some help.  It's possible the Wemos itself is bad, but I know the board is checked before shipping.

Best regards,

Blake

by (19.9k points)
Could you please add the output from the serial console? Hint: redact it for sensitive information e.g. WiFi password.
by (260 points)
edited by
Hi Marcel,

I don't see a way to copy the text in the serial monitor window, what I see is a line of gibberish, and then
Connecting to WiFI xxxx/yyyy
.......................

Where xxxx is my SSID and yyyy is my p/w.

Thanks for your help!
Blake
by (3.6k points)
Get the serial output to your serial monitor window, then use your mouse to select the text to copy, then CTRL-C to copy it, then come here and past in the result, overtype any sensitive text as required, then post.
by (19.9k points)
"I don't see a way to copy the text in the serial monitor window" - it works quite well with the serial monitor integrated with the Arduino IDE.

"a line of gibberish" - that's because the boot sequence writes to serial at 74880bps. All subsequent content is written at 115200bps (to which you configured the serial monitor).

You don't happen to have a non-trimmed space at the end of your password, right?

IIRC there are certain limitations with this chip (actually its SDK) as to which characters are allowed for SSID and password but I didn't find a reference for that anymore.
by (260 points)
Marcel,

Here is a copy and paste from the serial monitor.  I don't know what you could possibly glean from this, but here it is anyway.

Connecting to WiFi xxxx/yyyy
..........................

As before, xxxx is my SSID and yyyy is the p/w.

No, there is no non-trimmed space at the end of the password.  The SSID and p/w use standard alpha characters, and are minimal in length.  Recall that the exact same SSID and p/w allowed the ESP8266 Weather Station Color to get connected immediately.  Distance from the router is not an issue.  The stack is literally laying on top of the wifi router.  Also note that the ESP modules used in the ESP8266 Weather Station Color show up in my router list of connected devices as ESP_ZZZZZZ where ZZZZZZ is an alphanumeric.  I would expect the Wemos board to also show up in the list in a similar fashion.  I do not see any entry in the router device list corresponding to the Wemos.  I have another Wemos board coming via Amazon so I can see if the Thingpulse-supplied board failed, although I think the problem is more likely a wifi configuration problem than a hardware problem.

Thanks in advance for any more help you can give me Marcel!

Blake
by (19.9k points)
Now I'm confused. Had I read the initial Q more carefully I should have been confused a lot earlier ;-)

You state

"ESP8266 Weather Station Color connected to wifi, the ESP8266 shows up in the list of connected devices.  However, the Wemos board can't make a connection."

As our Color Kit uses a WeMos D1 mini Pro I'm not sure what to make of this?
by (260 points)
edited by
Hi Marcel,

I see what you mean, the Thingpulse kit names are rather similar and I mangled the kit names in my opening post.  Ok, starting over, I have two Thingpulse kits: the ESP8266 WeatherStation Classic with the OLED display, and the ESP8266 ColorWeather Station with the LCD display.  I had no trouble at all getting the ESP8266 module of the ESP8266 WeatherStation Classic to connect to my wifi router.  I cannot for the life of me get the Wemos D1 Mini Pro module of the ESP8266 ColorWeather Station to connect.  I have checked and re-checked the settings.h file, there are no unusual characters or extra spaces in the SSID or the p/w.  I do see that there are additional wifi commands in the ESP8266 ColorWeather Station sketch that are not in the ESP8266 WeatherStation Classic sketch:
  WiFi.disconnect();
  WiFi.mode(WIFI_STA);
  WiFi.hostname(WIFI_HOSTNAME);

Why would these be necessary? Isn't the same ESP8266 core on both the ESP8266 WeatherStation Classic board and the Wemos board?  And what is the purpose of the WiFi.hostname command?

Continuing on, using the correct Thingpulse kit terminology, the ESP8266 module of the  ESP8266 WeatherStation Classic shows up in my router list of connected devices as ESP_ZZZZZZ where ZZZZZZ is an alphanumeric, I suspect unique to the module.  I would expect the Wemos board to also show up in the router list in a similar fashion.  I do not see any entry in the router device list corresponding to the Wemos.

I know the sketch is compiling and uploading properly, at least for driving the LCD, as I get the Thingpulse splash screen and the progress bar graphic, but since a wifi connection is not being made the sketch never gets any further.

I cannot tell if this is a hardware problem or a software problem, so I've ordered another Wemos D1 Mini Pro board to help isolate the problem.

Let me know what you think, Marcel.  Again I apologize for the confusion with the kit names.  I hope this is more clear now.

Blake
by (19.9k points)
Yes, that makes a lot more sense now, thanks.

Note that there is no such thing as a "ESP8266 WeatherStation Classic sketch". Every sketch in https://github.com/ThingPulse/esp8266-weather-station/tree/master/examples is slightly different. And they, in turn, may be slightly different than the respective section in the WeatherStation Color sketch. It's impossible for use to keep all of them in sync all the time, sorry.
Great you started to analyse them for differences to get to the root of you problem!

I'm afraid I can't offer much help but I can at least answer your questions. Btw, did you try the WiFi scanner sample application (https://docs.thingpulse.com/guides/iot-starter-kit/ -> "Testing the Setup: WiFi Scanner") to verify that WiFi module in your ESP8266 works?

'WiFi.disconnect()' -  some users reported issues between their ESP8266 module and the AP when the device tries to *re*connect. So, in some sketches we included this to force-drop any (potentially) existing connections.

'WiFi.mode(WIFI_STA)' - the ESP8266 can operate in three different modes: station, soft access point, or combined (station AP, for mesh networks). Station is the default mode but we sometimes make that explicit in the sketch. See https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html#who-is-who for details.

'WiFi.hostname(WIFI_HOSTNAME)' - used to replace the default ESP_ ZZZZZZ DHCP host name of your device. RFC 2132 doesn't define a maximum length but my AP ignores anything beyond 20 characters. Hence, my device is listed as ThingPulse-weather-. Just to cover all bases you could also set this back to a 8-10 char string.
by (260 points)
Thank you for that info, Marcel!  I am diving into this problem and learning a lot, especially with respect to wifi directives.

I downloaded and ran the WiFi scanner sketch as you suggested, but again no luck.  No networks were found, even though my router is practically on top of the Wemos, and there are several networks that my mobile devices detect, but that could be a signal strength issue.

Blake
by (260 points)
Hi Marcel,
I received a Wemos D1 Pro Mini (it is branded Wemos on the back) from Amazon.  I loaded the wifi scan sketch, and now that board not only sees the wifi networks here and it also connects to my wifi.  So I was battling a hardware problem.  But I've run into the next problem, here is the serial monitor output:

...Connected...Initializing touch screen...
Mounting file system...
PIFFS opened:
Calibration not available

At that point nothing else happens, the screen is lit but blank.  Recall that initially I see the Thingpulse splash screen on the LCD, so that seems to be working fine.  Not sure what to do here.  I re-checked the versions of all the libraries I installed for this project and they are all the latest.  Let me know what you think, and thanks.

Blake
by (19.9k points)
Thanks for posting that follow-up issue as a separate question.
-> https://support.thingpulse.com/948/weather-station-serial-monitor-calibration-available-progress

2 Answers

0 votes
by (19.9k points)
selected by
 
Best answer
Just to provide a quick answer to those not interested in reading all the comments: it turned out to be a faulty ESP8266 module.
0 votes
by (600 points)
The HOSTNAME is now 32 chars after they added -color to it. Remove at least 1 char from the HOSTNAME in settings.h and it will connect.

Welcome to ThingPulse Q&A, where you can ask questions and receive answers from other members of the community.

https://thingpulse.com

...