It was OK with Firefox.
The magic number thingy was a bit unfriendly but it worked first time. I went as far as "creating an organisation"
Nick_Pyner:
It was OK with Firefox.
The magic number thingy was a bit unfriendly but it worked first time. I went as far as "creating an organisation"
I tried it on a different machine and it's OK there. So I guess I have a personal problem. Thanks!
+1 @draythomp for the improved sketch! Initially I could get neither that nor the example from the Grove Streams site to work. Both caused a "401 Unauthorized" to be returned from GS. Turns out the PUT url was not being built correctly; it may have been some evil with the Strings. Somehow I fixed it, before I fully realized what was happening. Seems to run quite well and no evidence of a memory leak after running several hours.
I did later remove some of the String stuff, although not the major parts, used F() to move some constant strings to PROGMEM, and changed to a fixed IP rather than DHCP and it now shows over half the SRAM available.
I have hardly begun to comprehend the web site but I really like what I see so far. This may well be the best fit for my needs.
I'll continue to work on the sketch with the aim of removing all String usage. I'll post what I end up with. Right now I have:
freeMemory()=1073
AVR Memory Usage
----------------
Device: atmega328p
Program: 20826 bytes (63.6% Full)
(.text + .data + .bootloader)
Data: 756 bytes (36.9% Full)
(.data + .bss + .noinit)
Glad you folk were able to get it working. I really like grovestream. Check the billing under your account (upper right corner somewhere) because they calculate charges based on transactions. I think my bill came to two bucks or so which I think is very reasonable for the level of service. I could actually lower that to nothing if I condensed the transactions. See, they allow multiple updates within a single transaction, so I could buffer things for 15 minutes and send it all at once, reducing my transaction count by a factor of fifteen since I'm doing every minute so far. Heck, just save up two of them reducing it by half, and I would easily fall below the 10,000 transactions.
Prowl around the site a lot as you have the time, they have a literal ton of features that could be fun to play with. I have a monitor that sends me email whenever I exceed a power usage threshold. I get mail when the heaters turn on and I'm using the stove. Helps keep me thinking about my power bill. They can send to the phone also, but I have lousy cell service out here in the sticks. I also set up an alarm that will send email to me when something goes wrong and data isn't updated regularly, that helps me chase down bugs in my house monitoring system.
These days I have my dozen or so Arduinos all talking to a Raspberry Pi which coordinates their activity and forwards the data off to all the cloud providers I've been testing. I sort of outgrew an Arduino for that particular job. Still have the arduinos all over the place though. People tell me I need a user's manual to live here.
The name GroveStreams made me think of the Grove sensor modules sold by Seeed Studios, but there isn't any affiliation that I can see.
Just in case anyone else has this issue (symptom is dropdowns and other controls not working), it seems to be related to the avast! Firefox extension and avast! 2014 version. Disabling the extension allows the web site to work properly. I have opened a ticket with avast!
I continue to be impressed with GroveStreams. The chart below summarizes a 25+ hour test I ran. My sketch started with SurferTim's GET method example, I added some stats to track number of posts, connect failures, timeouts, and response time. (Response time starts just before the connect, and stops after the response is received and the server disconnects.)
Data was sent to GroveStreams once per minute. No connect failures or timeouts were recorded. One post did get lost somehow. The sketch is completely open-loop, i.e. it posts the data but does not attempt to ascertain the success of the operation nor do any retries. Response time was very good, with about 97% under 1 second and about 99% under 1.5 seconds.
This test of course does not constitute a measurement of just GroveStreams, but also of my equipment and everything else in between. But I would have to say that this is phenomenally good performance as compared to my observations with other similar "IoT" services. So my gut feel is that GroveStreams is doing their part of the job quite well.
I'll be continuing to test in various ways, for now, the same sketch is still running. Check out the dashboard I created on GroveStreams, it updates once per minute. (The link is a guest logon, a terms-of-service agreement box will pop up, just OK it.)
They implemented the SteelSeries gauges also, you can stick one on a dashboard and have a cool indicator.
Any updates? I plan to start my own testing setup shortly. I am trying emoncms.org but it looks to be oriented too much towards energy usage monitoring for my purposes and I find their graphing options either confusing or too limited.
Hi Matt, thanks for keeping me honest
I thought the same about emoncms. Looks like a good platform, but too energy-specific for my purposes. I'm still quite impressed with GroveStreams and hope to be making more use of it soon. Attached is a test sketch that has been working well for a few weeks now. It just uses an analog temperature sensor (TMP36) and it also posts several statistics relative to communications with GroveStreams. It requires you to create a Component and data Streams within the Component, see the comments. Let me know if you have questions.
AVR Memory Usage
----------------
Device: atmega328p
Program: 14610 bytes (44.6% Full)
(.text + .data + .bootloader)
Data: 623 bytes (30.4% Full)
(.data + .bss + .noinit)
gsAnalog.ino (7.71 KB)
I have to say having tried several systems only to discover they are for Linux fanatics - or assume you know all about complicated standards etc, I went to Grovestreams who ARE free up to certain number of uses per month (large) and if you look at their example it uses Arduino strings - I simply stripped all that out in favour of char arrays... essentially it's a web page call with parameters including the values you want to send and an API key which you get off them at a touch of 2 buttons.... it's an absolute breeze to use. I set up 2 temperature inputs - there are dropdown boxes for operations such as averaging and interval which I didn't quite get until I set to AVERAGE - and intervals of an hour - and basically you can fire stuff off as often as you want to it - and every hour it will plot a point - averaging what you've sent in that time . Within minutes I had it running - and 3 days later I have internal and external graph plots superimposed on each other. Really, it's worth a look. I took a look at Xively a while back just after all that name changing - and decided that life is WAY too short.
GroveStreams looks like a pretty good idea; it took me an afternoon's messing around to understand how the "rollup" averaging system works, but after that it was straightforward. It looks as if you can update every 5-6 minutes (with several values in an update) and stay within their free limits, though there are other possible charges (eg. SMS) over a certain limit.
I used to use COSM and had just got it set up when Xively rolled in, and I couldn't be bothered with the absence of graphing facilities (which GroveStreams has in abundance).
All I can do now is hope that GroveStreams keeps running.
Will
For folk that are worried about the costs of GroveStream, I've been at it about 10 months or so and I think I've paid a little over three dollars (total) for the service. That doesn't mean it can't cost more, the more you do, both input and output, raises the cost, but a little care and you can easily keep the costs down.
I'm not collecting transactions and throttling the upload, I send all measurements every minute. So, if I ever want to, I can easily collect for a few minutes and send them up as a group. So, when the expense gets to the dollar a month range, I'll look into that. For now, 10 months, less than 4 bucks, isn't worth worrying about.
when i have a report on my dashboard ,how i can put this on a webpage in arduino? you know some example?
