Coder Social home page Coder Social logo

air-quality-egg's Introduction

jmsaavedra.github.io

air-quality-egg's People

Contributors

anselmbradford avatar jmsaavedra avatar vicatcu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

air-quality-egg's Issues

Sensor doesn't reconnect without power cycling both units

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?

compile errors

Hi, new to arduino programming, following the https://vimeo.com/58550465 Egg-3Reprogramming guide closely, the AQEBase will not compile, screen print below

capture

  • I am certainly doing something silly, any tips? Compile error messages 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.

Pachube -> Cosm

It might be worth updating this to refer to Cosm instead of Pachube.

TODO:

  1. Change calls to api.pachube.com to api.cosm.com
  2. Change X-PachubeApiKey to X-ApiKey
  3. Update references to Pachube and pachube.com in README etc...

Might save the odd bit/byte here and there too.

EtherCard buffer overflow results in sending garbage to Cosm

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.