Wi-Fi Connectivity Monitor

The idea is that sometimes you might have Wi-Fi connectivity issues that you are trying to debug. You can see that the Photon occasionally starts blinking cyan or green before going back to breathing cyan, but what’s going on? How often is it doing it?

This program logs a bunch of data and saves it in retained memory (preserved across reboots) and uploads it using events when there is a cloud connection. One handy thing you can do is store the events into a Google spreadsheet, described in the link below.

The program:

  • Lists available Wi-Fi networks, including their SSID, channel, and RSSI (signal strength)
  • Lists the currently configured Wi-Fi networks
  • Logs when the cloud connection goes up or down
  • Logs when the Wi-Fi connection goes up or down
  • Logs when the RSSI changes by more than ±10
  • When there is no cloud but there is Wi-Fi, pings the Google DNS (8.8.8.8) and does a DNS lookup of api.particle.io to see if there’s external connectivity

Of course you can edit the program to log whatever data you want. I’m not sure how useful this will be, but this is the first shot at it, guessing what might be useful to log.

10 Likes

I’ve seen postings that people are not sure if there WIFI is being spotty so this is great thanks @rickkas7!

1 Like

Thanks @rickkas7! This is useful as i have intermittent disconnection on campus. However, is there some way we can investigate deeper what’s the reason for that?

I was kind of hoping the tool would show some sort of pattern which would indicate what we should check for next, which would eventually lead to a solution. Unfortunately that hasn’t happened yet.

1 Like

@rickkas7

Working with the pattern as an example latency, jitter or broadcasting … currently I am working with another project. Hope to update here soon as soon as I finished. :smile:

1 Like

Is this code still relevant with firmware 0.7.0 ?

I am having issues with WiFi and/or Cloud connection not re-establishing after the WiFi AP is rebooted or hiccup in the internet connection… Laptop, and POS systems all recover, but my Photon will blink green or Cyan without actually making a connection all the way to the cloud…

Thanks
Don C

You might consider downgrading to 0.6.3 or upgrading to 0.8.x. There’s identified issues in the 0.7.0 library that might be exacerbating what you’re experiencing.

Thanks

@donald725

You might consider downgrading to 0.6.3 or upgrading to 0.8.x.

did this help?

I have downgraded my development last week… I was really hoping the 0.8.0 would be released for production sooner… The Photon that I have in pre-prod is remote, so I will have to wait until November to be on-site to do the downgrade to ensure there are no issues with the process.

But…did downgrading help with your issue?

It’s showing definite improvement… the limited time has been stable.
I tested the OTA process to downgrade to 0.6.3 several times on a local device, and went ahead and did it to the remote device with success… the remote device had the most problems frequently, and it’s been stable for a few days now… much better.

Thanks for your contribution to track and trace connectivity issues with devices! I’ll certainly give it a try to try and find patterns in what I use Particle components for.

I work permanently with 10 Photons, communicating with each other via the Particle cloud to automate my home.
The complete set-up was so unreliable with these frequent abnormal cloud connection issues that I wanted to give up on the whole concept.

I am hopefully looking forward to the new generation of Mesh devices will make this kind of IOT orchestra more reliable…

For the time being, after many other dead end roads, my current solution to these issues is to dedicate one device as an “orchestra conductor”: That device monitors the others and when it doesn’t hear back from one member for some time, it power cycles the 5V power line from which they are all powered. That gives them a fresh start and all keeps working…

:hand::older_man:

I’ve had network stability for 3 weeks now by downgrading to 0.6.3… I really hope this is improved in 0.8.0 production.