more brewery code

so today I worked on the brewery code. This timeit was the web part of it. The web interface. is my main job but the technologies we use are far different than normal like we use and mvc and nhibernate and other crazyness which dilutes with ease and lazyness. I have never really made an site, not fully anyway, so it was an interesting trek.

I have learned on my way an made decisions based on current technologies, like the SOA architecture of the WCF service I made. It just seemed logical to do it that way. I used Linq a lot, and even used the Linq to SQL even though its not really being developed on anymore.

It has been an interesting ride but I now have a finished JQuery / / WCF service product that does what i need it to and looks pretty good. I just need to make some modifications so make the app submit to it rather than the MYSQL db and host the portal. then it should be good for a while in the brewery. Unless they have changes anyway.

So I guess the long story short, if you use technologies on your project, understand why you use them, Don’t just use them and be done with it. It can help you learn a lot down the line.


Where do you go after you run?

So yesterday I had to get away. I had to get the brew software done and working and I had to be somewhere that I wouldn’t have my usual distractions.

I couldn’t go to work,well i could have, but thats on the other side of town, so I went to the next best, closest, place. Panera Bread! its about .6 miles from my house, and I jog by there occasionally, but I never have thought about stopping in to get something after the jog.

As I sat there in the first booth by the door, I would see the people coming and going. Most of them looked like a normal crowd for such a place but as the sun came down the crowd started to differ. There were loads of hot chicks in running gear.

I am no fashionista or anything, but I am pretty sure little running shorts and a skin tight top is not casual apparel for the normal hang out with friends routine. But there were loads of people (hot chicks ranging in age from barely legal to still do-able mom) and they were decked out in their Nike’s best.

I guess its a good after run stop. Replenish carbs and get energy for the night. It is just not a place that I would have thought to stop by after a run. Oh well, it was a nice view though.


so went to the brewery today to hook up the monitoring stuff.

got it out, hooked it up to a tank. went to the computer. plugged in the xbee explorer. had to download the FTDI drivers, but that was expected. copied the software over. CRASH!

so I am sitting there like WTF then started to wonder about updates on their machine. and sure enough they didnt have .NET 3.5 or the SP1 so my app couldn’t find System.Linq and I couldn’t compile it into a .Net 2.0 project because I am using Linq.

today was the first time I have actually used my Publish feature on a project. it allowed me to select dependencies and .Net 3.5 SP1 was already selected so I published it and copied it over and ran the “Installer” and it of course needed to add .Net 3.5 SP1.

once it got everything installed we started it up and started monitoring the tank we plugged in and the temperature on the tank was 192. WHAT?!?! so either in the time it took us to walk from the back of the brewery to the front, the tank went up to near boiling, or the readings were wrong.

so as it turns out, the voltage readings between modules were different… I am not sure how that happens and it makes me wonder how accurate those things really are but between the one I got to test on, and the one strapped to a tank, it was reporting different temps.

So now what? I guess I am going to either switch to the LM35 or the DS1822 One Wire sensors. I have both of those laying around.

what does that mean, well it means i have to make a new enclosure for the sensor and inject it into the same port their temp sensor is in.

I guess another good thing that came out of it was I now have a better idea of what all they want to monitor. They want ambient room temps, outside temps, cold room temps AND tank temps. So I am going to be working on this stuff for a while.

Im thinking the arduino is a little overboard for what I need since i can just get an ATMega and some sort of wireless chip and communicate but for now, this works fine. well, once we get our own sensors in there.

apps, apps, apps

so soon we will get to work on iphone apps at work! thats fun.

we are working on some crazy easy ones just to get through the app store process and then to get everyone acclimated to writing iphone apps. we then will move on to more grandiose apps and ideas. but for now its an on the side after hours thing until we can show the bosses (who all have iphones) that there is money to be made.

oh, everyone go check out 2600 meeting today.

im going to try and make it but i have some brewery talk to do first. gotta sample that good brew so tomorrow when i am working on the temp sensors, im not all distracted.

temperature formula found

so last night i was working on the whole brewery monitoring device and getting the degrees F of the probe.

I found out that it was incredibly easy. so the arduino card on the analog read gets a value in increments of (5/1024) or 0.0048828125V. the reported value returns how many steps of that voltage it is reporting. so the actual value is like 315 for about 34F and 348 for 66F.

after staring at that for a while, i was trying to hard to figure out a formula. then out of more of a desperation move, i thought, i wonder what the difference is. After some subtracting I found that it seems to be reporting the degrees F + 282.

so in short, its the reported value – 282 = degrees F. so now my code looks like this

int pin = 0; // analog pin
int tempf=0; // temperature variable
int samples[10]; // variables to make a better precision
int serialByte = 0;//incoming serial byte
int i;

void setup()
  Serial.begin(57600); // start serial communication
void loop()
  if (Serial.available() > 0) {
    serialByte =;
    //do not allow other pins to be read.
    if(serialByte >=48 && serialByte <= 53) {
      //get multiples and take average for more stable reading
      for(i = 0;i<=9;i++){
        tempf = tempf + samples[i];
        //has a 10 second read period for the average
      int temp = (tempf/10)-282;
      //return the degrees F.
      //will automatically be sent through xbee

now just have to do the web portal code and the windows app to upload to the database the web portal reads from.
and my code tags dont seem to work…

xbee wireless with arduino and an lm35

check out the flickr stream. i got 2 xbee series 2.5 radios connected and through a sparkfun usb explorer and an xbee arduino shield on an xbee.

at first the setup sucked because i couldnt write the firmware without a reset but when i jumped the reset pin and the ground pin it accepted it and worked fine. One thing i had issues with was I was using vista so if i unplugged the xbee or the usb xbee explorer then i would have to restart X-CTU program or else it would brick the xbee.

one trick i found that somehow worked with a bricked radio was just have the usb explorer plugged in and just hot swap the radio with it self (pull it out and put it back in without unplugging the usb cable) this usually got the radio back in a talking state. but i would have to of course restart x-ctu.

once i found the reset trick was really working, i updated the firmware on one to znet 2.5 router/end device at and set the node identifier to 1 and panid to 9933 and the baud rate to 57600. then i put the other one on, did the restart program trick and set the other one to znet coordinator at and set all the same stuff except the node identifier was set to 2.

plugged arduino shield in and pulled the jumpers off completely and put the router device end radion on then plugged in the usb. the arduino was then programmed to write to the serial at baud 57600 and uploaded the sketch.

then unplugged the usb, put the jumpers on xbee and plugged usb back in. now we have communication!! if you connect a terminal to the arduino then you should see the output. switch the com port to the usb explorer and you should still see the communication being sent. in my case it was testing first and the temperature second time.

now that they are talking, there really isnt much more setup.

to do all this stuff i used references from all over the net. i found a pdf that described the whole process with a xbee programming board but not the usb explorer.

The Illuminato

No, thats not a typo. its a sweet new open source hardware board based roughly on the arduino boards only it has twice the … well everything except USB.

I grabbed one, will throw up some pics on flickr when i get it but I cannot wait. It might be the board I use on the brewery stuff but i need to play with it first.

the blog about it can be found here

The Illuminato

  • Calendar

    • December 2018
      M T W T F S S
      « Sep    
  • Search