jmsaavedra / air-quality-egg Goto Github PK
View Code? Open in Web Editor NEWStationary Air Quality Sensor Network
Stationary Air Quality Sensor Network
Is there a way to fix this issue? Having to power cycle both units to get them back online seems counterintuitive.
I see from the serial logs that the sensor can seemingly know its previous base station and look for that, but it doesn't send data for some reason. Is this a known issue or a new one?
Hi, new to arduino programming, following the https://vimeo.com/58550465 Egg-3Reprogramming guide closely, the AQEBase will not compile, screen print below
Arduino: 1.6.5 (Windows 7), Board: "Arduino/Genuino Uno"
In file included from AQEBase.ino:4:0:
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:290:28: error: 'prog_char' has not been declared
static void browseUrl (prog_char urlbuf, const char *urlbuf_varpart,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:291:28: error: 'prog_char' has not been declared
prog_char *hoststr, const prog_char *additionalheaderline,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:291:54: error: 'prog_char' does not name a type
prog_char *hoststr, const prog_char *additionalheaderline,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:291:65: error: ISO C++ forbids declaration of 'additionalheaderline' with no type [-fpermissive]
prog_char *hoststr, const prog_char *additionalheaderline,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:297:28: error: 'prog_char' has not been declared
static void browseUrl (prog_char *urlbuf, const char *urlbuf_varpart,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:298:28: error: 'prog_char' has not been declared
prog_char *hoststr,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:304:27: error: 'prog_char' has not been declared
static void httpPost (prog_char *urlbuf, prog_char *hoststr,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:304:46: error: 'prog_char' has not been declared
static void httpPost (prog_char *urlbuf, prog_char *hoststr,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:305:27: error: 'prog_char' has not been declared
prog_char *additionalheaderline, const char *postval,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:447:34: error: 'prog_char' does not name a type
static bool dnsLookup (const prog_char name, bool fromRam =false);
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:447:45: error: ISO C++ forbids declaration of 'name' with no type [-fpermissive]
static bool dnsLookup (const prog_char* name, bool fromRam =false);
^
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,
from C:\Users\ggren\Documents\Arduino\libraries\AQERF_Base/AQERF_Base.h:26,
from AQEBase.ino:1:
Nanode:10: error: variable 'website' must be const in order to be put into read-only section by means of 'attribute((progmem))'
Nanode.ino: In function 'void setupNanode()':
Nanode:50: error: no matching function for call to 'EtherCard::dnsLookup(char [15])'
Nanode.ino:50:31: note: candidate is:
In file included from AQEBase.ino:4:0:
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:447:17: note: static bool EtherCard::dnsLookup(const int_, bool)
static bool dnsLookup (const prog_char_ name, bool fromRam =false);
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:447:17: note: no known conversion for argument 1 from 'char [15]' to 'const int_'
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,
from C:\Users\ggren\Documents\Arduino\libraries\AQERF_Base/AQERF_Base.h:26,
from AQEBase.ino:1:
Provision.ino: At global scope:
Provision:9: error: variable 'website' must be const in order to be put into read-only section by means of 'attribute((progmem))'
Provision.ino: In function 'void doProvisioning()':
Provision:173: error: no matching function for call to 'EtherCard::browseUrl(const char_, char [52], char [15], void (&)(byte, word, word))'
Provision.ino:173:92: note: candidates are:
In file included from AQEBase.ino:4:0:
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:290:17: note: static void EtherCard::browseUrl(int_, const char_, int_, const int_, void ()(uint8_t, uint16_t, uint16_t))
static void browseUrl (prog_char *urlbuf, const char *urlbuf_varpart,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:290:17: note: candidate expects 5 arguments, 4 provided
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:297:17: note: static void EtherCard::browseUrl(int, const char_, int_, void ()(uint8_t, uint16_t, uint16_t))
static void browseUrl (prog_char *urlbuf, const char *urlbuf_varpart,
^
C:\Users\ggren\Documents\Arduino\libraries\EtherCard/EtherCard.h:297:17: note: no known conversion for argument 1 from 'const char' to 'int*'
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:28:0,
from C:\Users\ggren\Documents\Arduino\libraries\AQERF_Base/AQERF_Base.h:26,
from AQEBase.ino:1:
Sensors.ino: At global scope:
Sensors:10: error: variable 'website' must be const in order to be put into read-only section by means of 'attribute((progmem))'
variable 'website' must be const in order to be put into read-only section by means of 'attribute((progmem))'
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Hi,
I'm one of the devs at Cosm, and we were trying to figure out an issue we were having which we realised was due to a feed on our system containing 50000 datastreams. When we investigated further we realised that this feed is coming from an Air Quality Egg.
On looking into it further I think the issue is the one discussed in the comments here: http://jeelabs.org/2012/04/11/ethercard-improvements/#comments
What possibly seems to be happening is that when sending data to Cosm, the stash space gets used up and not freed, and when it is all used up the library does some weird buffer overflow thing, and starts sending random snippets of the last response from Cosm instead of the data it's supposed to be sending. We had a bug in our system which then created new datastreams for every incoming random snippet which lead to the problems we were seeing.
I don't have an AQE to test with, but I do have a AQE shield running on a Nanode. One of the comments in that thread suggested a solution which I've been running for the last 24 hours, which seems to have solved the problem locally for me, but maybe you have a better solution?
This was the comment:
http://jeelabs.org/2012/04/11/ethercard-improvements/#comment-5081
so in the function I have that actually posts the data to Cosm I do something like this:
if (stash.freeCount() < 10) {
stash.initMap(56);
}
Here's the feed I have running: https://cosm.com/feeds/84633 and you can see that the freeCount does drop steadily throughout the day, and doing this reset has so far managed to keep the shield running normally.
It might be worth updating this to refer to Cosm instead of Pachube.
TODO:
Might save the odd bit/byte here and there too.
Just a friendly note - the link to airqualityegg.com in the README isn't rendering properly - it navigates to a non-existent github.com page (for me, at least):
https://github.com/jmsaavedra/Air-Quality-Egg/blob/master/airqualityegg.com
I found your project via the NYC BigApp event.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.