It was a long and busy day today. I expected it to slow down, but work poured in right at quitting time and I am just finishing up what was possible to finish. The good news is that the relays to control the LED’s for the bean sorter project arrived today. They are small, cheap and should be perfect for this project, but not as the strobe control I/O’s we need. They are mechanical relays that can switch at a maximum rate of 10ms to active and 5ms to inactive. That is way to slow for what we want to do. The good news about the bad news though is that I thought I was only getting one board, but I got two and I will be able to use them to do a lot of the development work while I wait for some faster solid state switches AND I will be able to use them in the product to control the indicator lights that show machine status.
The browser based GUI for the bean sorting project is now up and running and being served from the Raspberry Pi. I only have one camera running right now because I only have one camera, but it does all the things that need to be done. There is a lot underneath the hood on this thing, so it should serve as a good base for other embedded machine vision projects beside this one.
In terms of particulars, I am using a Flask (Python3)/uWSGI/nginx based program that runs as a service in the Raspberry Pi. Users access this service wirelessly (anywhere from the internet). The service passes these access requests to the C++/OpenCV based vision application which is also running as a service on the Raspberry Pi. Currently, we can snap images show “live” video, read the C++ vision log, and do other such tasks. We probably will use something other than a Raspberry Pi for the final product with a USB 3.0 port and the specific embedded resources we need, but the Raspberry Pi as been great for development and will do a great job for prototypes and demonstration work.
The reason I put the “live” of “live” video in scare quotes is that I made the design decision not to stream the video with gstreamer. In the end applications I will be processing 1 mega-pixel images at 20-30 frames per second which is beyond the bandwidth available for streaming at any reasonable rate. The purpose of the live video is for camera setup and to provide a little bit of a reality check at runtime by showing results for each 30th to 100th image as a reality check along with sort counts. There is no way we could stream the images at processing rates and we want to see something better than the degraded streamed image.
Lorena, Kelly, and friends might have gotten to go to dinner and a live musical, but I ate dinner with the true stars of the show: Bob and Larry.
Kelly and her roommate Shani are taking their mothers to dinner and a musical tonight. Mama Mia. Should be memorable.
It is snowing again as we speak. We are glad Lorena was able to get out of the house to do a little shopping and running around, but it looks like it might snow for the next few hours at least. We saw the most amazing sunrise when we got up this morning and wondered whether it might have something to do with the snow and cold weather.
This new floor installation has turned into a marathon process due to a gazillion things out of anyone’s control. Today it was the weather. Jamal called and was willing to come up. I told him not to come and it was a good thing I did. It snowed hard (for here) all the way up until 5 pm. There is no way it would have been a good move for him to come. Nevertheless, he put the last coat of finish on the floor yesterday before he went home and no Lorena has taken over and is painting up a storm (no pun intended). Actually, the upstairs guest room and half the library/landing are complete, too. I moved out of my office into the guest bedroom to work for the next several days say we can move things around to make way for the new floor. Hopefully, it will all be done before the end of the week.
The work has finally started on the upstairs floor. The last coat of finish will go on the master bedroom floor tonight, too. We are still a couple of days away, but from what it looks like so far, we love it. It is a darker color than we thought we wanted initially, but seeing this, we have decided we were wrong. This color is way better than anything we might have chosen.
We are hoping they will be able to get everything finished. I have to move out of my upstairs office into another room while they work, which is a little bit of a disruption, but I should be able to handle it for a day or two.
Crazy weather–yesterday we had both rain and sun. Lorena took this picture of a rainbow as we arrived home from town.
As I write the snow is coming down hard here at our house. It might not be as hard a places like Montana and Alaska, but is is beautiful and it will make a total mess of the traffic for the rest of the day. We are not sure yet whether we can get down off the hill and over the bridge to meeting yet. I think if we could get to I-5 we would be fine, but the traffic maps show the traffic slow or stopped even there so maybe I should not be so sure about that.
Jamal put the first coat of finish on the floor on Thursday. We think it looks great, but will have to stay out of there until mid-week next week to give him time to put on the other coats and to let it dry before we move back in. Most of the upstairs floor space is prepped for the engineered wood to go down. We hope to move stuff back into the upstairs guest bedroom by Monday evening. It is interesting the product Jamal chose for us is actually nailed in place and not floating like some of the engineered floating products. It is amazing to me that the floor finish comes with a 25 year warranty. It is actual wood and can be sanded and refinished just like a regular hardwood floor. In addition to that, it has some kind of hardened and waterproof finish that allows it to be mopped and is relatively impervious to dents when stuff is dropped on it. Also we think it looks really good. We are excited to see what it looks like when it is installed and, even more so, what it does to the rooms where it is being put.
I wanted to put something up with Lorena’s new teeth, but she liked this other picture of her teeth that has nothing to do with all the pain and suffering she endured to finally have these things. The upshot is that we comprised. She DOES have a nice smile, even if you cannot see her new teeth.
Yesterday, Lorena’s Valentine’s Day gift to me was this jar of Vlasick mini-pickles. Christian and I LOVE those things and they are perfect for my diet. Lorena pulled my pickle fork and holster out of storage and installed it on the jar–two of the very best gifts I have ever received. To make things even better, the scale showed 200.0 lbs. when I weighed myself this morning. That is exactly half way to my stated goal. That means I have lost 31 pounds since I started and have 31 to go. I am not sure I will stop there, but will weight to see how I feel when I get to that point, God willing.
After about a gazillion fits and restarts associated with reading the manual and getting syntax and basic concepts wrong, I have finally gotten the bean sorter web interface up and running. The idea is to be able to control the bean sorter vision system from a cell phone, tablet, or PC. I have been going around in circles for about two weeks now, but it appears I am ready to move on to the next thing. Here is a shot of my phone accessing the site from outside the LAN. I am glad to be done with this. The next step is to not just load a previously captured image, but to allow users to capture images by clicking a link.
The floor in the bedroom was all installed yesterday and partially sanded. The finish arrives today and we should be all done with that part by–oops, our floor guy just called in sick. So, now, the floor finishing will start early tomorrow morning and we should have a room or two of upstairs flooring finished tomorrow night.
We currently have all the stuff from the master bedroom stacked around and clogging up the living room, all the stuff in the upstairs guest bedroom and half the stuff from the upstairs balcony/library stacked around and clogging up the bonus room/office. We are sleeping on the hide-a-bed in the library until the floor in the upstairs guest bedroom is complete. Then we will shuffle everything around so they can do the library and then again, one last time, so they can do the bonus room. After that, there is still the stairs between the main floor and upstairs. Jamal tells us he should be done by early next week with all the hiccups happening to slow things down.
Lorena drove up to Seattle to get our very sick daughter on Friday. We have been vegging out all weekend long. Notice all the medication on the bookshelf. Kiwi the surviving twin cat sister even got in on the act, devoting almost the entire time to sleeping on the hide-a-bed with Kelly. I preached the benefits of building one’s immune system by fighting one’s way through a case of the flu every now and then, but that is pretty weak broth when your right in the middle of it. Kelly’s face is not normally that pale. There is something else going on there.
Kiwi and I continue to program hard on our Raspberry Pi and coffee bean project. You can see from the image at the right that we made a small breakthrough. The capture control is now on the Raspberry Pi as well as the ability to display the last image via the web. I suppose it is not such a big deal, but since I have generally worked on image processing algorithm development and the analytics that go along with that, I am not such a great web programming. It has been frustrating but fun to work through getting the syntax and understanding the idiosyncrasies of embedded web servers and programming tools. Nevertheless, I have the main part of the start of the struggle behind me and look forward to returning focus to the application at hand. The camera is set up with the calibration target underneath. The next step will be to create a way for the web server to talk to the camera control program so a user can capture an image on demand, calibrate the system, run a bunch of beans, look at logs to assure everything is working right, etc. etc. I have done more of that kind of thing than web programming, but I am sure there is a lot of minutiae that I have forgotten.
Our new buddies Jamal and Austin started actually putting down the hardwood in the master bedroom today. It is the same oak flooring in the rest of the main floor of the house. When they finish that, they will start on the stairway and upstairs engineered wood flooring. We hope we have enough pennies left over to pay for the engineered wood on the stairs leading to the bottom floor, but we do know the bottom floor is going to have to wait. We will put something synthetic down there. We are thinking of LVT when and if the time comes. Jamal and Austin are great. They work hard and do a super job. This is the third job Jamal has done for us and we highly recommend him. If you need some contact info, let me know.
Lorena drove down to Oregon Health Sciences University this morning to start the final stages of what started with some impacted and infected wisdom teeth, followed up by jaw surgery at Duke University Hospital in North Carolina that included cadaver bone and titanium. This final pass is the installation of her new teeth to accompany the other new stuff in her mouth. Hopefully, she will only have a couple of follow-up appointments just to assure everything is OK and then she is done!
After a struggle that took way longer than it should, I was able to get the Raspberry Pi ready for development. It is no exposed to the outside world so our partners in Texas and our mechanical guru in Montana can access the Raspberry Pi from their cell phones, tablets or other connected devices. The web page is just a place holder for other stuff we will do it, but everyone needs a login page.
We emptied out most of the master bedroom last night so Jamal could start the installation of the hardwood floor there today. He got all the carpet out and started in on the underlayment. He thinks he could have that mostly installed by the time he goes home tomorrow afternoon. He says it might be little tight, but he will get close enough that he only has to do the cleanup and then start smoothing things out and finishing. Next week he will start on the stairs and the upstairs with an engineered wood product. We are very excited to see how it comes out. He did a great job on the last two remodel floors he did for us.