LinkMeter v9 Release


 

Bryan Mayland

TVWBB Hall of Fame
Allow me to introduce myself, my name Meter, LinkMeter v9 for v3.1-v4.0 HeaterMeter hardware.

What's New

New Simultaneous Fan and Servo Mode
-- Fan and Servo now run off different pins at the same time. See dedicated Servo Pin Change thread for more information.


-- The percentage shown on the HeaterMeter as well as the webui and graph is now the PID output not the fan speed.
-- Previously, if the PID output was above the max fan speed the value would clip at the max speed. The fan speed is now smoothly interpolated between min fan speed and max fan speed, with on/off mode used below min fan speed.
-- Option for "fan only on if the PID output is 100%" (used as a booster for servo mode)
-- Option for "Servo only fully open or fully closed" (used as a fan damper)


Networking Changes
-- By default OpenWrt now will listen on both 192.168.200.1 and a DHCP address on the ethernet interface. You should no longer need to reconfigure your machine's IP address to do initial configuration. The DHCP IP address will be displayed on the HeaterMeter if it gets one. NOTE: Now you can either use wired or wireless networking but you must reboot after pulling the ethernet plug or reinserting it to switch between them

Firmware Update Improvements
-- Added web-based update of LinkMeter firmware. If your Pi has internet access you can just paste the new firmware URL in the box and skip the download and unzip of the firmware
-- Added support for wiping the configuration on firmware install to reset back to OpenWrt defaults. To do this, just flash the firmware with the "Keep settings" checkbox unchecked
-- Default config is now stored on initial boot which may be integrated into the webui for quick "reset to defaults" of the OpenWrt configuration

LinkMeter Enhancements
-- EDIT this feature is not working by default. Autobackup of the current database. Used to be, if you lost power during a cook, you'd lose your history as well because it is only stored in memory (unless you stash). Now, LinkMeter automatically keeps a backup every 5 minutes (if there's a pit probe) and will continue that database on power up. Note that the overall database is limited to 24 hours still. To start a new database use LinkMeter -> Archive -> Reset Database
-- Also fixed a bug that could cause the linkmeterd to hang on startup caused by attempting to fast forward from 1970 to now when the clock get initially set
-- Added 'A' units for setpoint to have probes display raw ADC values (all probes)
-- Faster updating of the LinkMeter Home page after changing a value (setpoint, name, lid mode, etc)
-- Fix a bug in the webui config page that could cause bad information to be sent to the HeaterMeter if you hit "Save & Apply" with no changes

Bugs
-- Minor fixes for v3.1 boards, which was broken in v8. v3.1 boards can not use servo mode due to a pin conflict so v8 is the last supported v3.1 HeaterMeter firmware with servo support.

To Update
-- Download v9 unzip the .img file and flash it using System -> Backup / Flash Firmware
-- Wait for the system to reboot twice (takes about two minutes)
-- Update your HeaterMeter firmware from LinkMeter -> AVR Firmware
 
Last edited:
Just loaded V9 with no issues. Good idea on the DHCP ethernet, that will help a lot when walking someone without computer skills though the process over the phone.

Thanks Bryan.
 
Running v9 here now as well. All is well so far.

Thanks for maintaining the code. I know it can be a daunting task.
 
I would like to get clarification on the design reason for the servo and blower running at the same time.

Is the servo intended to close the damper at the blower output to stop the draft?
Is the servo intended to take place of the blower and move the BGE draft door?
Is the servo intended to control the daisy wheel of the BGE as well as use the blower?

I see so many possibilities but want to know where it is best suited for use on the BGE so I can add to mine :) and test this new release all the way!

Thanks Byran, I really appreciate the project and the project activity. It is a massive compliment to my BGE. I have told every single one of my friends how awesome it is and how much I am unable to believe that this open source project is better than anything you can buy off a shelf. Keep up the good work and may the community continue to grow.

Nick
 
That's the thing, sky's the limit man, whatever works best for your setup. In my mind it would be great if a servo could fully open/close the bottom damper and then you'd have another servo for opening and closing the daisy wheel/slide portion of the top vent. That's fairly impractical and there'd be a lot of equipment you'd have to drag out to the BBQ every time you want to cook. The main reason I built the first HeaterMeter was to reduce the amount of equipment you'd need to bring out (when compared to the Stoker with a wifi router attached).

So let's look at what's more practical.
-- Just a servo works great for controlling temperatures in the 220F range, but it takes a really long time to get to temperature with a 2.5" PVC pipe damper (4.9in^2 of intake). So one might fashion a blower to this setup with "Fan at max only" that will use the blower to get the pit to temperature then use the servo the rest of the way.
-- Just a blower works great for a wide range of temperatures, but on the low end it allows too much natural draft to effectively choke off the fire. In this situation either the blower with a servo to close a baffle completely would be perfect, or a combination of proportional damper/fan would work.

We just got the software to do this so I think we're going to see some experimenting going on to see what's the best way to use the new functionality with different setups.
 
Bryan, I seem to be having issue flashing my HM with V9... I downloaded and unzipped V9 img, went to System -> Backup / Flash Firmware and chose the file under Flash New Firmware Image, when it was done uploading it said in red:

The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.

I downloaded and unzipped the firmware a second time to make sure something wasn't hokey there, same result. I'm not sure if I am doing something wrong, if there is something wrong with my HM, or something wrong with the firmware image?

After the img file is uploaded and the above error about the format appears it says "No File Chosen" in red and "Flash Image" is also showing in red?

Any ideas what may be going on?
 
Last edited:
Iiiiiiiii don't knoooooow. That's really strange, it means either the file is corrupted or it can't save it to the ramdisk properly. See what happens if you just download the GZ file and then use that as the upload. Otherwise you can ssh in and do it manually:
Code:
cd /tmp
wget http://capnbry.net/linkmeter/snapshots/bcm2708/openwrt-rpi.gz

md5sum openwrt-rpi.gz
# should be 90eee8e4a9301ceadd44da4f84bd1110  

sysupgrade -v openwrt-rpi.gz
 
Iiiiiiiii don't knoooooow. That's really strange, it means either the file is corrupted or it can't save it to the ramdisk properly. See what happens if you just download the GZ file and then use that as the upload. Otherwise you can ssh in and do it manually:
Code:
cd /tmp
wget http://capnbry.net/linkmeter/snapshots/bcm2708/openwrt-rpi.gz

md5sum openwrt-rpi.gz
# should be 90eee8e4a9301ceadd44da4f84bd1110  

sysupgrade -v openwrt-rpi.gz

Hmmm.... maybe that episode with water getting on my HM caused some damage to my SD card or rPi after all... Although it has been working fine since I got it back online.

I will pull it apart and re-seat the SD card and see if that brings a different outcome, I've got to move that servo wire anyway... if that doesnt work I will try one of the other methods you mentioned...
Thanks for the fast reply
 
Bryan,
I pulled apart the HM, reseated the SD card, disconnected and reconnected the HM from the rPi. Booted up again and got the same error...

So I connected via PuTTY to try what you described above, that did not work either. I pasted in below the text from the PuTTY session...

root@HeaterMeter:~# cd /tmp
root@HeaterMeter:/tmp# wget http://capnbry.net/linkmeter/snapshots/bcm2708/openw
rt-rpi.gz
Connecting to capnbry.net (71.100.233.140:80)
openwrt-rpi.gz 100% |*******************************| 7076k 0:00:00 ETA
root@HeaterMeter:/tmp# md5sum openwrt-rpi.gz
90eee8e4a9301ceadd44da4f84bd1110 openwrt-rpi.gz
root@HeaterMeter:/tmp# sysupgrade -v openwrt-rpi.gz
LinkMeter sysupgrade coming in future version
Image check 'platform_check_image' failed.
root@HeaterMeter:/tmp#

Platform check failed? I have no clue what the issue could be?
 
Upgraded to 9 and all works great except for the servo. The servo when plugged in goes greater than 90 degrees against stop in same direction no matter what numbers are put in for pulse duration. I did notice to use the full us instead of a factor of 10, so that's not the problem. I checked and double checked the moved wire and it is correct with no short to adjacent pins. I was using servo with 8 with no problems. Only thing I did different from your directions is writing image directly to sd card instead of flashing through system/backup. It seems to work for everything else.
 
....Otherwise you can ssh in and do it manually:

Bryan, it seems my attempt to upgrade via PuTTY confirms the file is being transferred and stored properly (checksums match). But it reports back Image check 'platform_check_image' failed??? I am stumped and wondering if you still think I could get the upgrade to happen via SSH? If so, how exactly would I do that?

Meanwhile I am going to pull the mega chip out of the HM board and re-seat it and try to upgrade again after that... obviously drawing at straws at this point...

Edit: Re-seated mega chip, same deal, no joy....

Second Edit: Pondering the situation I decided to try and re-flash V8 firmware, which failed in the same manner as V9, even though it worked when I upgraded to V8?

I knew something was way out of whack so it just hit me that I should just go back to step zero, plug the SD card into a computer and use W32DiskImager to freshly image the SD card. The image completed without error and the HM booted up fine with the new firmware installed (and new features available). I flashed the AVR successfully so I should be in business.... whew....

I dont know what the problem was, but I assume something was hosed up with my system (on the SD card), IDK if it is from the episode with the rain or what, but I am glad that it is fixed.

For the hell of it I went back and tried flashing V9 the firmware again from System -> Backup / Flash Firmware, this time it went without error and got me to the point where I can choose to Proceed with the update, so I assume whatever issue was there has been cleared....
 
Last edited:
Use rice. There may be residual water in the SD card or under something unless you left it sit in a hot place and all of the water evaporated.
 
Use rice. There may be residual water in the SD card or under something unless you left it sit in a hot place and all of the water evaporated.

Good advice. I've had the HM running non stop for the past could days in a case, I think that probably qualifies as a hot place! It does get warm in there.
I think what happened is during the getting wet episode something went funny writing to the SD card, strangely enough the HM still functioned for the most part but something was hosed up on the SD card still. The fresh imaging seems to have done the trick, and I ordered a backup SD card already.....
 
For some reason it looks like your sysupgrade wasn't on the version released with v8? Not sure how that could have happened. The text about it coming in a future version indicates it doesn't have the code yet. Something must have been messed up in the build but it should definitely work now that you've got v9. Your SD card seems fine, the error is just that the software you had didn't have all the needed parts.

Dan, I'll have to look at the servo code. I mentioned in the other thread I broke my servo and I'm waiting on a replacement so I couldn't test it as much as I would have liked. I used a super-old servo which didn't have the right pin header so all I checked was that it moved when the output % changed.

EDIT: Confirmed broken! This is why you always should test after you make an insignificant change. Update the AVR Firmware "From online repository" to fix 20130731B
 
Last edited:
On my HM, it doesn't look like the autobackup function is working.

I'm seeing this in the system log file:

user.err lucid[539]: RRD last failed:eek:pening '/root/autobackup.rrd': No such file or directory

root@shmickHM1:~# ls -ld /root/autobackup.rrd
ls: /root/autobackup.rrd: No such file or directory
 
I'm also getting an error using the online repository function, though I was able to update the firmware with the new direct URL function.

sVxDAc7l.png
 
user.err lucid[539]: RRD last failed:eek:pening '/root/autobackup.rrd': No such file or directory
That's what it outputs on a bootup when there's no autobackup, like when you just flash a firmware. Has it been more than 5 minutes since you booted the device, and have you had a pit probe plugged in for that time? If no pit probe it will be an hour before you see your first autobackup show up.

The online repository server was undergoing maintenance, it should be back up now.
 
Yep, it's been running for hours now with a pit probe and no autobackup.rrd file yet

root@shmickHM1:~# ls -la /root
drwxr-xr-x 2 root root 1024 Aug 1 09:42 .
drwxr-xr-x 18 root root 1024 Sep 8 2011 ..

root@shmickHM1:~# find / -name autobackup.rrd
root@shmickHM1:~#

TYVfcfEl.png
 
Well now that just doesn't make sense at all. Can you check your config for me..... ohhh crap I think I know why this is happening. The install sets the default for the autobackup intervals then the configuration restore wipes it out.

That's a serious conundrum, I don't have a solution for that. You can work around for now by:
Code:
uci set lucid.linkmeter.autoback_active=5
uci commit lucid
/etc/init.d/lucid restart
 

 

Back
Top