Need a solution to gather basic published data from my photons

I am building a project with about 10 identical photons which hook up to a push button and send a timestamp along with the photon ID to a database for collection. So far, I’ve written a simple firmware to publish events from 3 different devices to my particle console(s), but when I refresh the page those events disappear, and I don’t see a “logs” option. I’ve tried the webhooks example with ThingSpeak several times and the events simply never show up on the page. I just need a simple “view only” export of the events in a google sheets/excel style, or even a MySQL / MongoDB database. At this point I am open to any low cost/free solutions. I am using the following code to publish events:
Particle.publish("ON",myID, 60,PRIVATE);

Here’s what I would like the final output to look like (When I publish an event):

Photon1337, ON, {timestamp}
Photon1384, ON, {timestamp}
Photon1337, ON, {timestamp}

I would like to have this history accessible from any web-connected computer, with the ability to search/sort data without modifying it. Ideally a TXT or CSV file would be easy for me to work with, where I don’t have to worry about logins or random URL exports…

Any help is welcome Thank you

Hi Boris,

You may be able to adapt this project to your needs (perhaps, can’t promise):

Option 2, maybe you can try with Ubidots?
https://ubidots.com/

Good luck!
Gustavo.

1 Like

Thank you Gustavo, option 1 worked excellent! Any ballpark estimate how many daily API calls I can do with Google sheets?

1 Like

try this search https://www.google.com/search?q=Google+Sheets+Rate+Limit

1 Like

Howdy. I used Gustavo’s tutorial and had a temperature reading post to google sheets with the data every min. It ran all day with over 500 entries before I shut it off.

Hope that helps.

Cheers

1 Like

I started using the papertrail integration for the built-in logging. Papertrail is an on-line log viewer with 7-day history. There is a free version. You simply need to register for a papertrail account. Include the papertrail library in your project (search for papertrail). And then add a papertrail handler in your .ino file such as this:

PapertrailLogHandler papertrailHandler(“logs3.papertrailapp.com”, [port number], “app name”, (const char*)(System.deviceID()), LOG_LEVEL_TRACE);

You can change the URL, port number, application name, device ID and log level to your liking. In your function that handles the button press, you need to add a log command such as:

Log.info(“There was a button press!”);

The coolest part of the integration is being able to flash new firmware to a device at great distance away (miles) and being able to see the logs populate on papertrail and diagnose what’s going on.

Push the data to Losant.com or Ubidots.com and then it will be logged forever.

Ubidots will cost you money faster than the free version of Losant will.

2 Likes