The Development Log


 
Cool. It should be fairly straight forward, but some small changes will have to be made to the linkmeter package. A lot of stuff checks the "platform" to see if it is running on a Pi so that would have to be expanded to support an additional platform. Also good luck squeezing it all in! I have enough to keep me busy until the VoCores come out.

Speaking of busy, I understand that a lot of people don't understand networking concepts nor should they have to to set up a HeaterMeter. There's a lot of confusion about what address to connect to in a given circumstance. To simplify this, I'm working on a HeaterMeter device browser. I've looked at using avahi / bonjour / mDNS, which HeaterMeter already advertises, but for windows users this requires a client be installed on their machine. Windows has SSDP built in, which is sad because there's no good server piece to build for openwrt without writing a ton of code. Also SSDP would leave other platforms out because microsofts is jerks.

UNLEASH THE POWER OF THE CLOUD.


Every time the address of an adapter in the HeaterMeter changes, it will push the device information up to heatermeter.com. Once you're done building your heatermeter, you'll just go to http://heatermeter.com/devices/ and it will show you all devices that are behind your firewall. A little quick AJAX tests each possible address from your browser and you just click the address next to any "available" heatermeter to go directly to it.
 
Well, I thought http://heatermeter.com/devices/ was cool anyway.

I'm sure people will recognize its usefulness eventually, although this feature could raise some privacy concerns. I love the alarm change though!

As for my experiment with the RT5350, I got a custom trunk version of OpenWRT with Linkmeter to compile to about 3.1MB. I have also laid out and ordered a minimal PCB to for it (4.5x5cm) with just 4 probes and a blower, no fancy stuff. The stuff will take a few weeks to arrive from China though...
 
Bringing this thread back from the dead!

There have been some minor changes in git (and snapshot) to the AVR firmware:
-- Control probe is now the first non-disabled probe, not only PIT
-- Don't reset PID when changing the constant which causes the control loop to restart (Thanks to R.Burk)
-- Prevent low current fans from turning off and then going high when being driven in voltage mode (Thanks to R.Burk)

The openwrt firmware snapshot has also been updated:
-- bootloader supports the RaspberryPi A+
-- Fix alarm scripts page when you have multiple scripts (were getting deleted)

I've spent a lot of time working on upgrading the openwrt to Barrier Breaker. However the RT5370 wifi adapters just plain do not work with BB and I can't figure it out. The driver loads, it sees the adapter, loads the firmware blob... then nothing. I can't get it to associate to my AP at all, not even connect and fail to send data, it just does nothing. I've tried different firmware blobs, linux 3.14 vs 3.10, openwrt trunk, openwrt bb branch, openwrt bb release. I am really not sure what else to try and it would suck pretty hard if the next upgrade caused half the wifi adapters to stop working.
 
You can now reset your OpenWrt config in the snapshot build. Requires an upgrade to the LinkMeter package for openwrt (dated after now) and HeaterMeter AVR firmware update (20150110). Thanks to Ralph Trimble for getting me back on this idea!

When you do "Reset config?" from the HeaterMeter menus, if the RPi is connected it will reset the device configuration and reboot.

Note! You must wait for the link between the HeaterMeter and RPi to establish before resetting the configuration. To do this, just wait at least 30 seconds after plugging the power in. If the link is established you will see "Resetting configuration...." on the LCD display. If nothing happens, there was no link, try again in a few seconds.

EDIT: Newest snapshot should work around the root password not resetting. There may be other things that don't reset completely as well. If any are found let me know.
 
Last edited:
I spent most of Sunday working on PID autotuning and general statistics gathering modules for linkmeter. Unfortunately I am having a really hard time getting my big green egg to oscillate at all. I set Proportional-only mode and tried disabling the rotodamper, I tried closing all the vents completely, I tried P of 3, 5, 10, 15 and 20 for about 30 minutes each and I couldn't seem to get the grill to behave badly. It just sort of stayed around the right temperature all the time. I even had the top vent open and the damper fully open for a while, trying to get the temperature to go up on its own with no blower (there's some code in there for trying to detect this as well now) and it didn't work. Even at its worst things were only marginally off.


Sometimes the real world is just frustrating. How can I write code to detect and help with problems!
 
With the top vent fully open and the damper fully open, I'm surprised you didn't start seeing a rise in temps. Almost sounds like a problem with air flow to the charcoal.
 
I'm about ready to calibrate my electric smoker (this weekend) or after I get back from vacation in a couple weeks. I'm not sure how to "tune" the PID parameters so I'm definitely interested in "autotune" or other methods of how I go about finding the best values for the configurable PID parameters. If you have something that needs some external tests I'll volunteer trying some things.
 
I seem to have no problem oscillating at all, unfortunately. Will this run on 4.1? If so, I could install it and give you access. Would that be helpful?
 
Yeah, Darren! That could be helpful actually if you don't mind burning a load of charcoal and letting me go hog wild with the coding. This weekend is the only weekend I have available though, does that work for you? Saturday or Sunday is fine but I need several hours of time (4-6 after you set it up). This assumes you don't have the "too much airflow" problem where the blower sits at 0% for a long time, then puffs quickly and creates a long period of overshoot. If you want to set it up shoot me a PM or email me bmayland % capnbry.net.

Tony your electric might also be an interesting test case although I'd prefer to start with a charcoal grill and see how well I can get it working. Right now the code is pretty rough, just trying things out to see if I can find something that works.
 
Sure. I'll make it happen. I have a 3 day weekend coming up. Do you have a specific image you want me to image to my sd card? I am planning on using a spare sd card so that I can go back to my old one.
 
Bryan, I'm certainly willing to help as well. I tend not to see my graphs as smooth as you guys on my large BGE. I wonder how much of that is that I'm using a temp probe versus a thermocouple. I have my thermocouple version built sans display and configuration so I'm not sure if that would change things or not. Regardless, I'm willing to burn some charcoal just to see what happens for test/de-bugging.
 
I don't know if folks follow github changelogs but I've been making a lot of restructuring changes to the linkmeterd. I've built a sort of plugin system (that loads fixed plugins) to try and reduce the complexity of the main daemon. The current plugins are "degrees per hour" calculator, unknown probe calibration, and the new "peaks" plugin which also happens to calculate autotuning parameters. The peaks show up on the home graph too, although this is still a little buggy due to the graph timescale limits. Only the last high and low are shown, I'm not sure if anyone would want to see more than that.


The plugin system I decided I had to do before I did the ramping support, because this is something that is easy to separate out from the main daemon operation and can run on its own.

http://smoky.link I've also bought a new domain for HeaterMeter! This will be the domain that HeaterMeter LIVE will register a name for you at. Right from the webui, just enter the name you want and if nobody else has claimed it, then you can have it. You can only have one name regardless of how many devices you have, and you can change it at any time. Then you'll be able to access your HeaterMeter with a url like http://radbbq.smoky.link which will be kept up to date automatically as your internet address changes. You still need to make a hole in your firewall to access it, which I feel will be the major stumbling block for most.
 
Is this the thread I've supposed to have been updating with my progress? It has been a while since I got to do any software stuff!

The http://heatermeter.com/devices/ website has been updated to support proxies and transparent proxies when querying for your devices. Previously you'd see "No HeaterMeter at your site" because it was showing that there aren't any at the proxy server. Users who were seeing this might be able to see their devices now, as well as mobile Android/Chrome users who were getting proxied through Google.

There's still some stuff to do for HeaterMeter v4.3 hardware but I'm going to be doing a little of that a day but mainly focusing on software. The first major task is to port all of HeaterMeter/LinkMeter over to the latest OpenWrt and get it running on Raspberry Pi 2 and 3 as well as it does on the existing platforms. Some folks have asked if they can help out with this but it isn't exactly straight-forward so there's no tasks I can assign like a normal project. "Find out what is broken by the thousands of changes and then fix them in the way Bryan expects" isn't a task I'd wish on anyone. I'm just figuring out where "thing" stop working, then fixing them one by one.

On that front, I have OpenWrt trunk building and running on the Pi 3 and as of last night that includes the wifi!
iz6MGoQ.png


LinkMeter is also on there but it isn't working yet. Chunks we relied on being there aren't any more but I've got a handle on it. This forces me to write a bit of native code I've been wanting to do for a little while now to move some of the code out of the lua and into the daemon service itself. I bounce back to this task as builds are happening and I'm not fixing some other issue. Timeline-wise, I'm hoping to have an experimental build within a month but there will be one firmware image for each platform (Pi, Pi2, and Pi3) until we're relatively sure they work by themselves, then I can see if we can merge them.
 
More than just booting, HeaterMeter is now up and running on the Pi 3 over the integrated Wifi.
22BJOJn.png


There's still a ton of cleanup to do but things are moving faster than I'd expected so that's good news. Still on course for maybe having something by September.
 

 

Back
Top