0 votes
asked 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

commented 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
commented by (8.5k 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.
commented 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
commented 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
commented by (8.5k points)
Thanks for posting that follow-up issue as a separate question.
-> https://support.thingpulse.com/948/weather-station-serial-monitor-calibration-available-progress

1 Answer

0 votes
answered by (8.5k 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.

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

https://thingpulse.com

...