For those interested, here's a full video of the project :)
You can also follow Harold's runs real-time via his ThingSpeak channel: https://thingspeak.com/channels/345243
Project files on GitHub: https://github.com/NHorward/IoTHamsterWheel
Harold's runs were tracked using an IoT device I made, you can check it out here: https://youtu.be/l9XZCoifg4A
For the curious, you can see Harold's runs real-time via his ThingSpeak channel: https://thingspeak.com/channels/345243
The data visualizations were made using Google Data Studio.
The tracking isn't too accurate, sometimes the magnet got stuck near the sensor creating runs of more than 40km a day :)
Please tell us more about what you want to do.
Because this sounds like the X-Y problem.
You want to do X, but you think Y is the right solution while Z is a better way.
E.g. if you want to graph data coming from one or more sensors, have a look at https://thingspeak.com/ and the ESP8266 instead of logging it to a sd card, download the data to the pc and then visualize it. Also maybe a EEPROM may be a better solution than an sd card if you only need the data on the arduino, ...
Anything to help us breathe a little easier! PurpleAir relies on a Thingspeak back-end to store and share data. I'm not sure what they're doing to ensure data quality. I individually calibrate each and every PurpleAir that my lab deploys, so I have a decent understanding of their performance. As far as I know, PurpleAir is relying on a certificate of calibration from the Chinese sensor manufacturer, Plantower. I highly doubt they are individually scrutinizing the performance of each sensor though. Thanks for sharing the IOTA site. This was not on my radar yet!
I am thinking about dart frogs. I am checking the that the temperature and humidity will suit them. I will also add a bit more plants and shelter for them in time. But the data in real time is actually available here: https://thingspeak.com/channels/436974 if you want to see how it fluctuates over time.
Here is my page as an example https://thingspeak.com/channels/289148 (you can use many sensors and customize display widgets). I also use an Android app to display data on my phone and have alerts.
For your 'next up', I strongly recommend against the DHT22, for several reasons. A few years ago you could get a real part from AOSong, but they were erratic and would periodically start returning NaN (Not A Number) results, and had to be power-cycled to correct the issue. Today they're virtually all cheap Chinese clone modules, and they go off the rails more often than not. Additionally, the accuracy is absolutely horrid, even for an authentic AOSong module.
A better choice is the Sensirion SHT30-DIS (usually called SHT30-D on the internet). You can get them for not much more than the cost of DHT22, they're significantly more accurate, and they don't go neurotic on you. I've seen the Sensirion sensors used in several commercial environmental controls, yet never seen a commercial product with AOSong sensors. That should tell you something.
For the internet logging, I've used Thingspeak.com before; it's free, and easy to interface with, one small subroutine to upload to Thingspeak. I like Home Assistant as well, but it's a lot more complicated to work with.
Not much to brag about, but here's an ESP32 out on the garden bench, powered by three AA batteries, reporting over WiFi+https to ThingSpeak.
I'm trying to see how long 3xAA will work, with the ESP32 waking up every 10 minutes to push data to ThinkSpeak.
Oh, also using the RMT to get the data from the DHT11 sensor, which is working really well.
Temp/Humidity stats are public at https://thingspeak.com/channels/357477
Source project is at: https://github.com/hamsternz/thingspeak-esp32-dht11
I have a similar setup running off 2 alkaline D cells from aldi. I think they come in at 12500mAh. A dht22 though, this feeds thingspeak, sparkfun and cloudmqtt. A second unit indoors has a BMP180 and an oled display, subscribes to the mqtt feed and adds indoor temp and pressure to the same thingspeak channel. Outdoor battery unit woke every 5 minutes and was awake for about 6 seconds. I started it on june 21 and it lasted till Sep 12 it seems. So about 100 days. I estimated 3 to 6 months initially.
I just use a arduino with a wifi module to connect to my home wifi and upload the data. I used bits and pieces of code from lots of people to get it working and I am considering posting how to build something like it eventually. The link for the site is here https://thingspeak.com/channels/467202
I built something similar, runs every half hour or so and upload the data to ThingSpeak for matlab analysis.
#!/usr/bin/perl my $speedtest="speedtest-cli --share --simple"; my $thingspeak_key="XXXXXXXX"; # Your update API key
use LWP::UserAgent;
my $results, $Download,$Upload,$Share; open(TEST,"$speedtest|") || die $!; while($=<TEST>) { #print $; $results.=$_; chomp; $Ping=$1 if(m/Ping: (.)/); $Download=$1 if(m/Download: (.)/); $Upload=$1 if(m/Upload: (.)/); $Share=$1 if(m/Share results: (.)/); } close(TEST);
system("logger -p user.info -s \'$0 Speedtest ". "Ping=$Ping,Download=$Download,Upload=$Upload,Share=$Share'");
# I had code here to post on Slack, Twitter, etc.
my $ping=$1 if($Ping=~m/([.\d]+)\s/); my $down=$1 if($Download=~m/([.\d]+) Mbit/); my $up=$1 if($Upload=~m/([.\d]+) Mbit/);
my $url="https://api.thingspeak.com/update?api_key=". $thingspeak_key .'&field1='.$f1.'&field2='.$f2. '&field3='.$f3;
my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => $url); $response = $ua->request($req);
unless ($response->is_success) { die "Upload Failed, ". $response->status_line; } exit(0);
I will start making the substrate in a day or two and add it as it is ready. I will also start with the hardscape but need to cut some logs a bit more to fit. Once done I will add them to the tank. After that I will start planning the layout and plant the plants. I am still thinking on how to deal with the orchid and and want to get some more. The environment is ideal for them :)
I have a temperature and humidity sensor (an AM2302) inside that is coupled to a raspberry pi and I collect the data. I have it only for approximately 2 days currently but I think it is quite representative of what will happen (the vivariaum is in a room that have very little temperature fluctuations during the seasons). More importantly is seeing how the humidity is affected when I turn on the humidifier and for how long it needs to run (want 80-100% humidity as I intend to keep dart frogs - but will get these only in a few months). I will start testing today but I think the humidity remains quite constant when everything is kept closed and will write a script to turn on the humidifier for a few minuted if the humidity drops below a threshold - then I will play with the time to see how long to turn it on (will do the same with the heating). I also have extractor fans that will run once a day to bring in fresh air and would need to compensate for the loss in humidity... but all this is quite exciting to test and tweak.
I do share the data publicly on thinkspeak and you are welcome to have a look at it here: https://thingspeak.com/channels/436974 The scale will probably fluctuate over the next few days as well as the values as I open and close the doors when planting and testing etc. It is however quite obvious when I added the glass doors and turned on the humidifier for the first time.
Atlas Scientific pH probe and electrical conductivity probe. Both connected to an Arduino which is connected to a RasPi which logs live data to Thingspeak website.
I am going to do the arduino dosing system soon. Do you have any tips? I am using peristaltic pumps.
Plus, here is my Arduino monitoring using some probes.
https://thingspeak.com/channels/330538#.WdOJQQgvJr4.facebook
to run off battery power, lose the ams1117 .. they draw 5mA by themself. (quiescent current on the datasheet) if you really need a regulator there then find one optimised for battery use. using dual dry cells or alkalines though, need no regulator.
the core voltage on chip is internally regulated to 1.8v and the higher voltage used to drive the RF section. so long as the battery is above 2.2v or so it will work though range will drop. what will also happen though long before that voltage is the impedance of the battery will increase and it cannot supply the current, to cope with this I have a 0.5F supercap across the supply to help with voltage slump during peak load. I also have a 100u or 220u soldered directly onto the esp12 (forget which). esp12 I used as I was using the A/D and used a port pin to enable the voltage divider for reading vcc, the onboard regulator was bypassed.
I have a dual D cell alkaline battery setup posting to thingspeak, sparkfun and cloudmqtt every 5 minutes, once connected it takes not long to post to multiple servers. I am using the readvdd33() function or whatever it is called to post the battery voltage as well, these seemed wrong at first, was saying 4.0v when it was 3.2 but now it seems to have sorted itself out, however the humidity reading on my dht22 seems to have stopped working reliably at 2.8v or so (data says 3v minimum) so i may try a charge pump to boost the voltage there for a sample.
my thingspeak channel is https://thingspeak.com/channels/36227
I have a second unit indoors with an oled display, this subscribes to the mqttcloud server and when it gets a new outdoor temp and humidity reading it takes an indoor and barometric pressure reading and uploads that to my same thingspeak channel. sparkfun data cannot take a partial channel update. you need. every field filled.
To add to what the others mentioned, this could be set up pretty easily and for free using something like ThingSpeak.
Have the computer periodically publish its status to ThingSpeak's broker. You could even have someone subscribe to ThingSpeak's broker, and be notified when the computer changes status.
You'd need to know the basics of MQTT, but that's pretty simple; especially if you use a library like paho
that glazes over the painful details.
Well done! Now you can send the data to ThingSpeak or some other cloud destination.
Here https://thingspeak.com/channels/9892 is mine.
It shows only the number of pulses because it is not calibrated.
Currently the best service with a usable "free tier" is Thingspeak ( the service mentioned earlier by /u/mfosker). It's easy to get started with basic uploading and graphing, and if you want more complex data visualization, you can write Matlab code. Their free home user tier is hard capped at 3 million data points per year, and upload connections are hard limited at no more often than every 15 seconds.
My home automation friends rave about HundredGraphs, so I also post electric meter data over there, for example https://www.hundredgraphs.com/dashboard/pinesec
Funny you should mention this. I was just working on a similar application. I know that IFTTT has a native WU hook. The issue is that I find this feed extremely inaccurate and unreliable and you cant choose which PWS you use.
So, I built a MatLab analysis on thingspeak.com that scrapes the temp from WU (the PWS I want to use) and then feeds it into a channel and stores it. In your case, you could also configure 'React' apps in thingspeak to take action on conditions.
If you havent checked out thingspeak.com, I highly recommend it. With Stringify shutting down next month, it is not a 1:1 replacement, but it can be used to do a lot of the same things.
An IFTTT applet pushes the posts that make it to top 10 on /r/Showerthoughts into a ThingSpeak channel (this happens outside of the code, throughout the day). Hitting reset connects to that ThingSpeak channel, and also to another channel that contains the counter number "n", and pulls their respective JSON. The code parses JSON, "n"th thought is displayed, and the counter is updated to "n+1" back to ThingSpeak channel. After writing the code, I realized that there is actually a ThingSpeak library in Arduino that can do all this stuff, so using it would have been easier. In fact using Reddit's JSON directly would have been even easier but as a complete noob, I couldn't manage to retrieve it via my code, so had to go with plan B.
He has in the past, around October/November he was very active and ran quite a lot, sometimes even 10-12km/day... Ever since then Harold has been getting super lazy though... you can check the live data here: https://thingspeak.com/channels/345243
It's not super accurate, the days he ran 40+km were times the magnet got stuck near the sensor ;)
Sump Monitor. Ping sensor measures depth of water in the basement sump, ESP8266 sends results to a ThingSpeak channel so I can see how often the sump's emptying from wherever I am.
I actually think I finally do! First, with measuring it, I've been able to see when and at what temp/humidity it's stable (my ThingSpeak data is here: https://thingspeak.com/channels/199983)
So I think of it like this:
Vapor = water vapor = humidity
Pressure = How much of it
relative to
Deficiency = how much more can we push...
So, by manipulating the amount of water vapor in the air (RH) relative to the Temperature - we're able to determine how much water/nutrients the plant gets from the air - and by that, how much it will uptake from the soil...
That's an extremely unscientific and inaccurate description, but thinking of it like that, and watching how it fluctuated in relation to the other data points, really brought it home for me
I use Thingspeak for now, it doesn't generate "pretty" graphs but of course it can embed into other websites. Mostly its the promise to build on it with Matlab tools that had me decide on Thingspeak. I just wish there was an App for Thingspeak as well.
Examples: My weather channel
Embedded into a blog
https://thingspeak.com/channels/50301
Me too dude. The problem is basically the fact that the DHT11 is a crappy low quality sensor. Do what another fellow mentioned and either average the temperature between multiple readings or multiple devices. My Thingspeak right now is just me working on getting a stable platform for reliably sending the readings unassisted, automatically. I'll definitely be averaging once I actually need to USE the data.
I'm pretty sure the Xbee RF Modules are for connecting to an existing or creating a new zigbee mesh network. Are you connecting to an existing ZigBee hub? If not, having a two node "mesh" doesn't make a lot of sense. I would suggest selling those Xbee RF modules and going with either:
One ESP8266 so your Arduino with the sensor can connect to your webserver on the Internet directly over your own WiFi AP. You could then use your second arduino and eth shield for another project.
Two pairs of NRF24L01's to create a 2.4GHz wireless bridge between your sensor arduino and your Arduino with Ethernet shield. Each arduino would need two radios to be able to Rx/Tx, so if you only want one arduino to send the photodiode state, then you really only need one on each for unidirectional communication.
I went with the first option for a weather station I built. It's just an arduino nano with multiple sensors and the ESP8266. The arduino sketch polls the sensors every 5 minutes and sends the serial commands to connect to thingspeak and POST a URL containing the sensor values. The web server on the other end takes the variables from that POST and plots them on a graph.
I highly recommend ThingSpeak for something like this. You can also just forward your purchased domain to your TS channel instead of setting up, securing, and maintaining your own webserver/DB.
I have a check at the top of my loop () to verify WIFI is still connected and connect if not. This fixed the problem you have been experiencing. Some logging to the serial port over a multi-day run confirmed that the connect was lost randomly reconnection was needed. You will also need to put some yield () and delay () calls in your loop if it runs (blocks) for a long time. I am running a reliability test now; currently the ESP8266 has been operating continuously for over 8 days now with no resets.
I did just this, https://thingspeak.com/channels/25732
The temps are inaccurate due to being in a windless enclosure.
I used DHT-11, light sensitive resister, and a BMP085
The temp seemed to be more accurate with the MBP, it measures air pressure and temp.
If you want more accurate temp, go for the DHT-22. The 11 was not as accurate as I had hoped.
Yeah some of the earlier twitter tutorials are outdated at this point.
I've had success using third party API's like ThingSpeak. Essentially you use an HTTP Post request to send your user info and tweet content to this service, and their api posts to your account.
Here's the source code of an example of this. It shouldn't be too hard to follow along, and I can send you the contents of that book chapter if it would help you.
I programmed the first H32 rev2 I am still testing until production starts in couple weeks.. It is uploading humidity, temperature, battery and input voltage readings to thingspeak As is now, it will barely make it to the morning when hopefully it will see some sun to recharge.. else i will replace battery with a fully charged to see how it goes under bad weather
Will replace the 3W panel with a 5W of much better quality and install inside an enclosure to move outside within the week 🙂
Das mit der hohen Systemsicherheit kann eigentlich nur ein Scherz sein. Die Schlüsselanhänger funktionieren ohne Registrierung, man kann wildfremde Leute mit TAN-SMS nerven (API-Endpoint einfach mit curl o.ä. aufrufen, Rate Limiting ist scheinbar kaputt) und Böhmermann ruft seit gestern Nacht auf Twitter dazu auf, sich bei bestimmten Locations einzuchecken (geht halt von überall): Letzte Nacht waren 120 Leute virtuell im Osnabrücker Zoo, aktuell sind über 25000 in einem Modegeschäft in Bohmte eingecheckt (https://thingspeak.com/channels/1314448).
Währenddessen sind der Code des Backends, der aktuell verwendeten Android-Version (veröffentlicht ist 1.6 ohne History, über den Playstore wird 1.4 verteilt) und der iOS-App immer noch nicht veröffentlicht.
Not as bad as you guys, but have in mind we lose our shit the moment it goes below 32°F because normally in winter we hover around 70 to 40 lol, we have been between 40F to 20F, and there was a light drizzle, so we had some light, like, really light snow, i could almost get a spoonful out of the windshield of my car! Here is an example of a place were the snow hit "the hardest"
I know these temps and snow is nothing to you guys haha, but have in mind we dont have the infraestructure to endure it, not everyone has heating or good insulation, for example, my room right now sits at 6°C which is around 40-42°F while outside is at 20°F, so yep, its cold inside.
Note: Hope now I'm posting this on the right place. I apologize to the moderators for posting the question in wrong place.
A noob question here. I'm planning to do environmental monitoring project with a pi zero and the Pimoroni Enviro hat. I want to use hat to monitor the parameters (temperature, humidity, atmospheric pressure, light, noise) in my house. During winter, our flat doesn't have that much direct light, and all the bathrooms don't a windows to the outside, so the house can get quite humid, with condensation occurring in the windows and walls. Currently I have a small analogical thermometer and humidity monitor, and try to make sure the windows are open when the humidity gets too high.
I want to implement Enviro, so that I can keep a record of the several parameters (mainly Hr and Temp), and maybe get a dashboard that allows me to monitor the Hr continuously.
I want to upload the data to the cloud. What are the alternatives? I know the ThingSpeak is very used, and I believe that for the amount of data I will be generating, the free version would be fine. Do you recommend other services? I intend to analyze the data on R, so it isn't a must to have a nice interface or being able to do the analysis directly on the platform.
If I enter this into a browser https://api.thingspeak.com/update.json?api_key=xxxxxxxx&field1=111&field2=4.98&field3=77.20 it still formats incorrectly.
If you prefer not exposing anything, and assuming that temp/humidity values themselves aren't confidential, I would run an HA instance at your mom's and have it publish the data to some website, say thingspeak.com or Google Sheets, then you can have your HA poll it periodically.
Hiya! In the spirit of open source and giving back a sliver of the help I've gotten here and elsewhere, I wanted to share my basic starter code for working with Thingspeak.
This is straightforward code for anyone looking to connect sensors to the internet via WiFi with the BME280 as a starting point. I've used this for a dozen or so other sensors and it all works rock solid.
Right now I'm using it to monitor the environment for some microgreens I'm growing, you can see the public data here: https://thingspeak.com/channels/1118897
I'll try to answer any questions, but I'm no expert. Also happy to take critiques if you see areas of improvement!
Hiya! In the spirit of open source and giving back a sliver of the help I've gotten here and elsewhere, I wanted to share my basic starter code for working with Thingspeak.
This is straightforward code for anyone looking to connect sensors to the internet via WiFi with the BME280 as a starting point. I've used this for a dozen or so other sensors and it all works rock solid.
Right now I'm using it to monitor the environment for some microgreens I'm growing, you can see the public data here: https://thingspeak.com/channels/1118897
I'll try to answer any questions, but I'm no expert. Also happy to take critiques if you see areas of improvement!
Here is my coding on PasteBin.
I set up Blynk by using virtualWrite pins, list in the first part of the code. I am getting Covid 19 data by thingspeak.com.
Saw this yesterday: http://sourd.io
Tl;dr, tracks the height/temp/humidity in your starter's jar.
Her build is based on her company's widget that uses cellular data for reporting, but the widget is a souped up Arduino.
Me: Can I do that without paying her company a monthly fee?
I did.
Have to build a top for the jar to hold the electronics, but it's currently functional and has live data online (data of my office desk, not the starter)
The built-in viewer is fine for real-time, and "good enough" for historical review. The vendor also offers their own "Commander" cloud service, with the ability to do per-circuit alerts such as "Notify when real time power consumed on "Big Freezer Branch" does not exceed 0.05 kW for 3.00 hours. Send at most once per day. Limit alerts between 8:00 AM and 10:00 PM"
I've used various "free" cloud-based services, but each one has, over the years, either gone out of business or gone to a fee-based model.
For now I maintain a local copy of the 1-minute average readings, and push to thingspeak, where I could do all sorts of cool MATLAB analysis if I had time to write that code.
If you want a solution that your corporate IT is unlikely to block (so not self-hosted or VPN), why not push the data out to hundredgraphs or thingspeak?
Both of those are data-point storage services with a free tier allowing for multiple sensors, and the ability to make a simple page showing just the most recent reading, or a longer term graph of temperature over time.
I did somethign similar with a Feather Huzzah with ESP8266 Wifi for monitoring a beehive. It only have temp, humidity, light and sound sensors but it logged data to thingspeak.com . It worked great but the downside of that board is 3.3v and not many IO pins. I'm playing with an Adafriuit Metro right now and its a solid board.
For an mqtt client library, I'd have look at paho eclipse. I've used their python library, which is great.
https://www.eclipse.org/paho/clients/dotnet/
So, if each location will be storing to a database, it sounds to me like you would want access to the Watchdog code or direct access to the sensors providing the data so that you can publish it over mqtt as it becomes available. Then, your dashboard app is going to be subscribed to all the topics from the various locations and display some sort of real time visualization, like some graphs or whatever.
Figure out what code you can run at the different locations to publish the data. Figure out how to present the collected information in a way that is useful. See here for example implementations: https://thingspeak.com/
Those AT commands make me think the sketch is trying to communicate with something (a device) that allows access to IP 184.106.153.149 that is thingspeak.com ...
a weather station. collect data with various sensors (BMP280, DHT22 to name a few), and analyze / chart it via thingspeak API
I've written something similar (using the Arduino IDE). In addition to sounding an audible alarm if the freezer door is open for more than 60 seconds, the ESP8266 also sends me a text message alerting me to the fact. In addition (just because I could), I'm using a Dallas Semiconductor DS18B20 temperature sensor to send the freezer temperature to ThingSpeak for graphing.
well in that case you will probably will have to pay for a service. I will suggest using some form of a broker - since its saves the hassle of setting a very reliable service - like mqtt. have you looked into https://thingspeak.com/
People interested in the Internet-of-things (hobbyists and professions) want to do this kind of stuff all the time.
You can use a site like https://thingspeak.com/ to collect and process data from IoT devices, and react on results. The docs say non-commercial use is free. You can set up to react to not receiving data for a specified period of time, and the possible reactions include sending a tweet. I'm not associated with them in any way, and there are probably others providing similar services.
​
This video is part of a series where I show how I build a automated, bioactive vivarium.
In this video I quickly show the plants after one month of growth as a short trailer to the rest of the videos. I wanted to post a video trailer last but I am too excited to not post it now. All the small leaves and roots that are developing made me make this video now.
I will have a video with all the plant names later!
The vivarium is 160 x 50 x 80 cm in size and approximately 640 liters in volume - 170 gallon - excluding the lid.
It is fully automated with a Raspberry Pi (more information to follow in another video). The real time statistics is available to view here: https://thingspeak.com/channels/436974
Several plants, including orchids are grown in a bio-active substrate and the system is partly self contained. I plan to introduce dart frogs in the future.
I use the newer TED Pro Home to record and graph both total consumption (1-second granularity) and also per-breaker (1-minute). Works fine for my purposes, and can all be run locally, not dependent on cloud for base functionality.
If you have the data available from individual device monitors, you could upload it to a local server or publish to a cloud service like Thingspeak, though you'll probably need to buy a home license if you want high-rate data logging for dozens of data sources.
Thingspeak provides logging, graphing, and Matlab analysis.
u/DabbinDubs beat me to it.
The benefit here, is that you can customize how your email message looks like. I didn't want to try to hard on this small side project so I tried something simple like connecting to biblegateway.com and getting the verse of the day via Thingspeak.com.
You can even make a weather interface with images.
Usage patterns do make a difference in pump longevity, as does a low-producing well that you regularly overdraw. Generally long cycles are preferred over "short cycling".
I have a similarly deep drilled well; when my original pump failed I was told that one factor in the failure was the use of undersized power wiring for the +200' foot line down to the pump head.
The geeky approach: I track the amperage draw and runtime for my well pump using TED Pro Home to collect data from the dedicated circuit breaker and alert me about excessive runtime (via TED Advisor); I also upload data to ThingSpeak for historical graphs and Matlab analysis. This allows me to track the power draw and (indirectly) my water usage, including any change in either.
I've been thinking about tapping into the flow sensor on my water softener so I can directly track water usage.
> I know the tank is 15 years old...
Are you sure the tank isn't part of your problem? I would seriously consider putting in a new, larger pressure tank, perhaps as part of the installation of the bulk storage tank.
For those interested, here's a full video of the project :)
You can also follow Harold's runs real-time via his ThingSpeak channel: https://thingspeak.com/channels/345243
Project files on GitHub: https://github.com/NHorward/IoTHamsterWheel
actually htrp might be onto something. dashboards are webpages that take your info and display them nicely. There are online solutions for this sort of thing where it takes your data in real time and graphs it. Super awesome, checkout https://thingspeak.com/ they offer this solution and have a free package.
I've been testing exactly the same thing - An Lolin32 Lite powered by 3xAA.
On my meter I am getting ~50mA when awake, ~120mA with WiFi active, and 0.8mA when in deep sleep (but it is at the low end of the meter's 200.0mA range, so accuracy may be off a bit).
I've worked through the schematics, and it should be lower - more like 0.2mA with everything but the RTC clock powered down.
I'm about to start looking over the PCB and check that the specified parts are actually being used, and not some lower-performing generic knockoffs. I might sacrifice a board, lifting the LDO and battery management IC to see if they are using more current than expected...
Code is at https://github.com/hamsternz/thingspeak-esp32-dht11 / https://thingspeak.com/channels/357477
I made my own aquarium monitor. I monitor temperature, light level, ph, TDS, electrical conductivity, and salinity. I also monitor room temp and humidity.
Here is my monitor and live tank data. https://thingspeak.com/channels/330538
Nice. Thanks for the suggestion.
I am already planning to do the autodosing system. I have all the parts, I just need to assemble them. I already have a pH/electrical conductivity/TDS monitor, it's actually live here
Without knowing much about the specific products you mention it might be possible to feed energy data into https://thingspeak.com and use their react app trigger when the value goes below a preset level. You would need to use the maker channel to trigger IFTTT.
That's seriously cool, TIL about thingspeak. I'll have to show this to my room mate who has a little growery setup.
What parts are you using for the temp/humidity? Something like this? https://www.adafruit.com/product/385
Hey /u/bal00,
Thanks so much for your feedback so far. Right now considering using ESP8266 and the Arduino Mini Pro.
For the ESP8266, I had one question which I was wondering maybe you could answer if you have had the experience. I will be connecting the ESP8266 to my university's WiFi which apart from the SSID of the WiFi also requires a username and a password. Would this module be able to connect to the WiFi that way (from whatever codes I have looked up online I only notice SSID and password as options)? Also, from what I've read so far, I understand that the data being logged using the ESP8266 can be collected in https://thingspeak.com/ (by connecting some channel information or something)? Am I understanding this correctly or are there other ways of logging the data?
Regarding the temperature sensors, I have decided to go ahead with the thermocouples because of the temperature range I would need to consider Type K thermocouples in this case.
I like it! If it seems too complicated, break each thing down into its component steps, not totally out of the realm of a beginner.
I was thinking of something similar, with Charlie Brown Christmas Trees... Push the button on one, then the other will play, and vice versa. We could annoy each other all day, from miles away. That never manifested, but maybe someday...
You could use a raspi and arduino, or just arduino, and leverage https://thingspeak.com/ - free, and no server of your own necessary. Check out the Cheerlights project for how thingspeak can be implemented.
I used this as the base for my own installation: http://cheerlights.com/cheerlightspi-arduino-raspberry-pi/
For specifics (and this is just rudimentary off the top of my head), you'd have 2 boxes, each checking the status of the flag at thingspeak, and when a button presses, it changes the status, from say, "off", to "on". Then when it checks again, is sees "on", then flashes. Then after a predetermined time, the pressed box (or either, really) sets the thingspeak flag to "off", and then both boxes turn off. Or, they could check, reset the flag, then flash for a predetermined time. Or, they could check, flash, until the other presses their button and shuts it off.
Hope that helps!
PS: I may have to do something similar... :-)
A simple GET request composed of your API key and your values is used to send the data so no post forwarding is needed.
For example to post on the following channel : https://thingspeak.com/channels/54807 the request would be : GET /update?key=241Q79KE3WNUBT01&field1=5&field2=10&field3=15\r\n You can try it in your browser : http://api.thingspeak.com/update?key=241Q79KE3WNUBT01&field1=5&field2=10&field3=15
Other services exist. I like plotly because it's based on matplotlib with which I'm familiar. Wolfram has also created something similar called the 'data drop' which could interest you.
Hosting the myriad of data coming from the 'internet of things' is a very trendy topic currently :)
You can even send your data to IBM Watson's API in order to pipe them through their deep learning tools. Lots of options as you see...
The carbon monoxide detector is a very interesting idea!
No I post my data over here : https://thingspeak.com/channels/53833 But I intend on showing how to use other services as well as push data to your own server (probably with nodejs, mongodb and express.js) so I'll be making a simple monitoring interface for that.
The easiest I recommend is option 2 with Thingspeak. This will exclude the need for a local clock module also, make it portable, display custom graphs and supply csv exports.
Some of this depends on if you have upload or not.
You can download and run your own server. It's opensource and on github with pretty good docs. Provides simple charts and graphs.
Edit - Missed the controlling bit. On that front, yes the options are overwhelming.
Another simple solution is to have a look at ThingSpeak. You don't have to manage your own host and can set it up in minutes and send your sensor data via an http call. You can have private and public channels. Here is an example of a public view from someone. It updates data every few seconds https://thingspeak.com/channels/6370
work in progress still, making sure it stays up long term, just added thingspeak pushes to it as well and testing it overnight. in bed atm on the ipad.. i will post it up tomorrow. I needed to do a regular flush or the Rx buffers were over running after 15 minutes, seems stable now.
good so far tonight .. dummy data channel 1, seconds uptime on chan 2 and a timer sending a 'connected' to any telnet clients on port 23.
https://thingspeak.com/channels/45627
and just checked I can telnet to it still from the ipad ok at the same time.
it was really simple though and exactly the same as a http server without the overheads. open a server on port 23, if client connects and has data available use client.read and send to serial port, if any serial data is available and a client is connected, collect serial into a buffer and then client.write the buffer.
it seems to have no hassles opening a second client and sending out a thingspeak update then closing it while telnet continues uninterrupted as well which is what I wanted, I need to be able to view debug serial data real time and am using thingspeak as a log for when I ain't looking.
its been an almost sleepless 24 hours since my first esp8266 arrived yesterday, I started on an arduino nano with it, moved on to a mega 2560 then finally saw the light and left the arduinos out of the equation entirely. my first thingspeak device https://thingspeak.com/channels/36227 currently sitting outside on the verandah, powered off a solar 5v pack with a breadboard regulator for the 3.3v. i think i love these little beasties..
I just made one last night using this instructables link, it has pretty much everything you need. If you're using an Arduino pro mini, you're gonna need a USB to TTL converter of some sorts to program the Arduino. That converter is also useful for updating the firmware on the ESP8266. I like that instructables guide because you just upload all your data to thingspeak.com, no custom webserver needed. This is the output of my temperature logger on that site.
I read that the 3.3v Arduinos don't supply enough current for the ESP8266, so I just use a MB102 breadboard power supply. I keep one rail as 3.3V for the ESP8266, and the other rail as 5V for my 5V Arduino. You'll want to use a level shifter or a resistor divider for the RX/TX lines of the ESP8266 as 5V transmissions might not work well or could break the chip.
Yeah, the graph has moved on now so I can't screengrab it but the ambient room temperature seemed to be moving very slowly downwards at that time.
Here are my live graphs if you have any interest:
I've got good news and bad news! I got it to run without errors using your functions!
Unfortunately it's producing no graph...
Thanks, I didn't know Xively had Arduino library, I will investigate.
There is also https://open.sen.se and https://thingspeak.com/ both allow easy logging of data, the advantage of my approach was I could get alerts based on the sensor info. Don't think any of the free services offer that directly but I could be wrong.
Nice work! My results are still a bit random bit it seems really cool. Have you thought about hooking this up to services like Pachube or ThingSpeak? Or a Facebook module even?