Using OctoPi with USB Camera

OctoPrint is an amazing little app with a simple web interface that controls your 3D printer. It has the ability to manage your gcode files or even take STL files and “slice” them into gcode files (which I’d never use since I like to visualize the layering in a tool first). OctoPi is a Raspberry Pi distribution of the tool that runs on the Pi. I had an older Raspberry Pi B that was perfect to throw at my need to remote control/monitor my longer 3D prints.

FullSizeRender 17

View of interface on iPhone

Disclaimer: I know the Raspberry Pi camera using the camera interface is “the way to go”. But an older camera you have (or $5 Playstation Eye camera) is worth a try right? No way, CPU will be too high, you won’t have enough USB ports, system will run too hot, will cause printing to pause … or will it?

The way OctoPrint integrates with a camera is by pulling into its page a video stream from mjpg_streamer (a web server running on a different port). This tool takes content from your web camera and creates a web video stream.  This software is distributed with the OctoPi build, no extra install required. Building the stream is a much more efficient if your camera is newer and has support for MJPG – otherwise you’re using YUYV encoding and the Pi has to do a lot of extra work. Nevertheless you can make this work. I use the following options to run the streamer:

./mjpg_streamer -i "input_uvc.so -f 1 -q 50 -y -r 640x480" -o "output_http.so -w ./www"

The important parameters above is the “-f 1” which says do one frame per second (I’m not looking for high quality video – I just want to see if print has lifted and get a feel of progress). The “-q 50″ controls quality of the result compression.

You can update settings in /boot/octopi.txt so these are used by default. This can be done by ssh to your machine or shut the machine down and edit the file on your computer after putting in the SD card.

camera_usb_options=”-f 1 -q 75 -y”

The advantage of changing the settings in the boot config file is every time you unplug the camera the process dies, and when it starts it will use this setting (there is a background process called “webcam” that handles this).

I tried changing the resolution and surprisingly  didn’t find a change in CPU usage so opted to keep it. As far as CPU, the system is running high at 85% and most of that usage is from the mjpg_streamer process.

Command to check temperature:
vcgencmd measure_temp

So yes, it runs the CPU pretty high (80%+) and the temperatures run a few degrees higher (but at 54’C well below limits), and the initial OctoPrint interface loads a bit slower. If you don’t want to spend money on a $30 Pi camera or a more expensive USB camera I think you can make it work.

Useful Documentation Page on Settings per Camera

Using Wix only for a subdomain

If you have a site registered and working with a hosting site for foobar.com but want to use a subdomain like sales.foobar.com with Wix it’s pretty easy to setup as long as you don’t only follow their help page and read the specifics. The Wix help page gives you a really good clue in this scenario (which I’m surprised they bother to support) but it’s not complete.

Many hosting companies use cPanel or another tool with a DNS zone editor. The instructions have you point the domain (sales.foobar.com)  by creating an “A” record to a specific IP address. You also need to add a “CNAME” record for the www prefix (which is easy to overlook in the instructions). In my example would be setting www.sales.foobar.com to their server. Unfortunately the instructions leave out another domain name you need a CNAME for which is m.sales.foobar.com. Their help guide misses this one so to see details of each of the CNAME records and the A record is to “My Account / My Domains” and click on the advanced tab. Open up each of the collapsed items for what I have mentioned above. The also suggest you change your name server, but of course if you main domain is hosted elsewhere you won’t do that.

So in summary – log in to Wix, go to the “advanced” tab of your domain and set you hosting company DNS zone file for the A record IP, and the www. and m. CNAME records and you’ll be set. The whole thing should take 10 minutes. It seems the “Check Connection” tool is trying to validate the DNS entry they don’t control (foobar.com) or my changes haven’t propagated to their servers yet.

Yet Another Reason Not to Buy a Keurig

First, I don’t think the flavors produced by the Keurig are anything special. If you like it you probably have been brewing with a cheap brewer or using Foldgers so it’s a step up for you. Truthfully, if the quality isn’t there no other reasons really need be mentioned ( but I will anyway). Some question if there is any good way to clean it confidently. This would affect taste and potentially your health. Lastly, I just think brewing pre-ground coffee in a disposable plastic container sounds silly! The newest reason to not use Keurig is their attempt to prevent your old K-Cups and refillable pods from working in the new “2.0” version of their coffee maker. The new device looks for a proprietary ink marker on each K-cup to ensure it’s one made by the manufacturer. Can you imagine if you bought a Mr. Coffee and only Mr. Coffee grounds could be used with it? Of course not – but that’s exactly what Keurig has done.

It’s pretty surprising to me they thought this mechanism wouldn’t be instantly figured out and all they would get out of it is several months of higher K-cup sales followed by severe brand damage. Anyway, the video below details how to bypass their attempt to lock-in loyal customers that upgraded (who are probably not very happy). You have to love the theme music as well as the charts with the “Rebel” K-cups statistics. The sad thing is our “Nanny State” probably has a law against using the product you bought this way.

If you’re looking for a great easy way to make a single cup checkout the $25 Aeropress. They encourage you to use the best coffee you can find.

IBM ConnectEd Conference 2015 Day 1

The IBM ConnectED conference (formally known as LotusSphere) was dramatically different this year. It was scaled down to just two hotels and having most sessions in the smaller Swan hotel was a preview of how the size had changed. The opening welcome session was previously a fun event to connect with people and enjoy some good food. This year the welcome session was two very limited food options, long lines, and cramped spaces with loud speakers blaring music so loud nobody could communicate. This was a real disappointment – it was always a great reconnect time and I think they could have scaled it down without making it … painful. If they had just made the space larger with tables to sit at I’d gladly paid for food and drinks.

The opening session was pretty low-key compared to previous years but still had some great demos and the guest speaker was pretty interesting even if not a super star. I guess there was some live music, but I totally missed it.

The first session I attended was the Connections & Mobile update. Lots of good news here but the presentation wasn’t as straightforward compared to last year which was very clearly laid out. Here are some coming items I see of very high value:
  • File Subfolders. Long resisted by IBM but implemented by every other tool on the planet. The implementation looks like what a user would expect from their filesystem or tools like DropBox – great news.
  • Real Community customization. New templates to control layout of column choices and responsive design where thing can move from left, middle, or right column. Widget titles can finally be changed. We’ve done this forever with our custom widgets, glad it’s finally supported for all. Very impressive but I’m trying to figure out why Mobile won’t be leveraging the hard work community owners do to customize the space.
  • New Profile page view – looks great, looks like mobile. Can we change all the applications to just look and work like Mobile on the web?
  • Open files in Office (auto locks and edit). Very nice update
  • Custom streams. Detail specific people or places you want updates on and get a visual count of what’s new on a new dashboard page.
The next session was on TDI and changes to support external users. The presentation was very clear and well done. A few key items I took away from this:
  • Not all areas make sure you know you are sharing externally – desktop tool one example.
  • All external users are very limited in sharing and mentioning because they have no directory search options. Really limited to communities they are in.
  • TDI work is pretty straightforward. Using another LDAP branch great way to keep things clean.

connec15

Next I went to the customer panel on five companies telling their collaboration and social story. Geoff Englemeyer at AT&T did a great job sharing our work!
Last session was on API and Connections Cloud. Pretty interesting how the cloud version can now be customized to your company including themes, apps and other things.  Some general API talk but mostly not relevant for on premise usage.

Last part of the day we talked with some of the IBM Docs team about some of the features coming later this year. Sounds like some nice changes to the editor to be more properly paginated and options to upload a new version over the top of an existing version.

Good day with lots of interesting updates.

IBM Connect 2014 Conference Notes

I attended the IBM connect conference this year and saw a lot of very impressive updates coming the product. The things that interested me most were the ability to keep people working with activity streams and engaging people through @mentions updates. The changes to the mobile application for tablets are quite impressive and illustrate IBM’s dedication to mobile first design. The only big disappointment for me this year was not seeing a major overhaul of the wiki tool which lags behind just about every tool in that space. While the wiki got a little bit of attention with a few simple macros, it so far behind other vendors like it Atlassian I don’t know if they’ll ever come close to catching up or have a really viable wiki solution.
Another big thing announced at the conference was the rebranding of everything IBM in the collaborative space as “Connections”. So is Connections Mail the plug-in for mail in Connections or Lotus Notes client? 🙂
 
New Editor Option for All Connections Applications
IBM Connections will soon have the option of a new advanced editor based on Ephox Live. This rich Java based editor will provide advanced options not normally offered on a web editing system including excellent copy/paste from Microsoft Office, revision history, drag and drop, dynamic photo editing and more. For more information watch this demonstration video and you’ll see why it’s a “big deal”.
I’m not excited about short-term feature parity issues (IBM adds features to editor not yet in Ephox) and the fact it requires desktop Java. Once they have a JavaScript-based solution with the same feature set IBM has for things like file pickers it may actually be the leader of the pack on editor features and fidelity for social business content creation. It’s unfortunate the ability to switch back-and-forth by the end-user is an integrated out-of-the-box, however it seems there may be mechanisms to do this with a customization.

Connections Next Upgrade
 Connections Next has a big emphasis in support for external collaboration, file sync,  usability, and a better activity stream. It’s quite unclear to me what will be available and when but I suspect most of this will be available in the first half of the year based on past history.
  • External Collaboration. Support for creating external communities and inviting people outside the company to collaborate on on your internal connections installation. External users have very limited customized views to see just their profile, communities approved for external use, and activity stream. This seems VERY well thought out and I’m sure due to a lot of conversations with their customers prior to rolling it out 🙂
  • Recent Activity Feature. New “Recently Viewed” feature from menu allows you to quickly get back to recently visited places.
  • Cleaned up Activity Stream. The Following, Discover, and Status Updates views are now just tabbed filters for a new “Updates” left hand menu. You’ll no longer see random like information in the stream and only the most relevant content for you is displayed. Likes have thankfully been demoted and won’t be so prominent.
  • New Activity Stream Search. You’ll be able to search the activity stream easily and add hashtags in comments.
  • @Mentions Anywhere. Quickly draw attention of any content in Connections to other users by mentioning them – in a forum, comments, blogs, anywhere. This is probably the most important new feature to make the platform fully interactive. I was shocked IBM didn’t deliver this a feature at a time, very good move on their part IMHO.
  • Sharing links shows external content and images. When you share a link on your homepage it will now include summary description and image from source site (relies on site supporting OpenGraph standard). This will be very nice for external sites, but for most companies their internal communications probably do not support the standard to make this work. Still it looks great and what users expect from the consumer space.
  • Forums sortable by date. Forums display in conversation/threaded mode today but you’ll be able to get a flat list sorted by newest/oldest date. I don’t think I’d ever use this but people ask me about it all the time so glad to have it.
  • New Files view with preview option. You’ll be able to see your files as a list of thumbnails and easily preview content like powerpoints without downloading them. The former media gallery tool will be retired since you’ll be able to have this feature at a folder level. That also would allow users who had media galleries to simulate multiple media galleries using folders and this new view and preview option.
  • Make an feature your Community Homepage. If you’d like recent activity or your blog to be your community default page you can now select that. If you’ve wanted a Chatter/Google + style microblog community you can now create one. This feature is long overdue and very welcome.
  • Trash can for deleted communities. Deleted your favorite community despite all the warnings? Now you can restore it from the new recycle bin! I’m sure it is never ever happens at your company right?
  • New Q&A view for all Forums. Now you can easily see your unanswered questions in the forum using a new view. The current Q&A view inside of the forums application wasn’t very useful because you have to follow the actual thread for it to appear in the view.
  • Community Folders. Duh. The single most confusing update to Connections was shared community folders. Nobody understood why they had to create a personal folder and share it with a community to have folders in a community. Finally Communities has basic feature parity with standalone file users – this is about 3 years too late for me. #overdue
  • Custom streams. You can add all the filters you want to the activity stream so you can slice and dice it but the bottom line is that’s a lot of work every time you want to find a specific set of updates. No end-user wants to go tweak all those filters and contort their following feeds just to get updates for a specific set of community forms. Now you be able to create a filtered list based on whatever criteria you want and visit that list later. I suspect most advanced users will really use the updates view anymore and migrate to a set of custom streams.
  • New Notifications View. In the current product there are really three streams that make up what most users would consider “notifications“ (mentions, notifications, action required). From what was shown on stage, and in the user experience lab, this new stream consolidation will be combined with a drop down box at the top the Connections page to see recent updates. A bell icon appears in the menu and is badged with the number of updates in your consolidated stream. #overdue
See presentation ID400 for more details
 
Mobile Update
The new mobile update that is coming out benefits from IBM’s new design process. IBM took a step back and looked at how specific types of users would engage the mobile interface and what features would be important to them as they try to complete their tasks. Here are some of the things I noticed in the demo:
  • The ability to favorite any specific location in connections. So if you have a favorite form you often visit you can connect to the left menu so that you can get there more easily in the future.
  • A recently visited drop-down will make it easy for people navigating around the application to go back to a recent feature much like they would using browser history or the browser back button and a web application.
  • The left-hand menu can be customized by the user to remove options and put them in an order that makes sense for how they engage with the application.
  • Custom streams allow the mobile user to track very specific types of connections content and pin those streams for easy access. Finally I can have a mobile activity stream for forums I’ve been designated to “moderate”. #overdue
  • A radical redesign of the blog application called “blogboard” allows the user to graphically explore both regular and ideation blogs. There is a very nice rendering of individual blog entries and they read later option that will store blogs in memory for offline access.
  • Support for notifications of file sync and activity stream notifications using the device notification network.
  • A whole new look for IOS 7!
File Sync
One of the key capabilities being added to IBM connections is the ability to keep your files in sync between desktop, mobile, and web. This of course involves updates to the mobile application, desktop connector, and server version. On stage they showed someone editing a document on IBM Docs and how after publishing it the file on the desktop was also updated. There is a new option to designate what documents will be sync’d and they have some special UI changes to mobile and desktop to make it easy to work with the files you need to keep in sync. While this is a clear win it, clearly adds more confusion about the role of CCM and Files and which feature can do what. IBM needs to just make CCM part of the core product and allow personal files to be stored in CCM making it a unified experience whether you need simple or complex file sharing. The files / CCM strategy is still MIA.
 

New Social Programming API/Toolkit.

Connections has a robust API but it’s very low level plumbing using ATOM and ATOMPub XML protocols. Now there is a way to develop using native language bindings in JavaScript, Java, iOS, and soon PHP. The new “playground” application let’s you explore the API and test it out easily with little or no knowledge of the underbelly of Connections. If you have a greenhouse account you can try out the Playground .
See presentation for session AD301 for more details.
IBM Docs Updates for 2014
Many of the announced IBM Docs updates reflect attention to the weaker parts of the product offering. Notably the viewing experience is terribly subpar in some cases like the spreadsheet. Viewing can also be done in an observer mode allowing participants in a conference call to be part of the live editing session without being an actual editor.
  • Assignment based workflow. More easily manage collaborative work in the document that goes beyond the current placed comment mechanism.
  • Observer mode so you can share the same great viewer as the editor without the overhead
  • Better HTML Viewers. Thank goodness the spreadsheet viewer today is a complete joke. #overdue
  • AirPlay dual-display mode
  • Online co-editing from iPad
  • Viewing on Android
  • API models for plug-ins and workflows (AD103 Presentation). Still trying to wrap my head around this one.

Check out main presentation, ID601, for more details.

Overall I’d say this was one of the more impressive conferences from an announcement perspective but felt the hands-on technical sessions were a bit lacking in comparison to previous years. Overall a great use of time for anyone using these products.
As a side note, if you’re interested in a Connections consultant help please connect with me on Twitter at @greatjava – I’d love to chat with you about how I can help!