{"id":1198,"date":"2022-04-16T13:11:29","date_gmt":"2022-04-16T17:11:29","guid":{"rendered":"http:\/\/www.rfdm.com\/blog\/?p=1198"},"modified":"2022-05-05T23:08:55","modified_gmt":"2022-05-06T03:08:55","slug":"mcweather-first-pass-completed","status":"publish","type":"post","link":"https:\/\/www.rfdm.com\/blog\/?p=1198","title":{"rendered":"mcweather first pass completed"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I&#8217;ve completed my first pass at &#8216;mcweather&#8217;, a caching weather server and command line client.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main thrust here was to decouple weather condition and forecast fetching from <code>qmcrover<\/code> (a GUI client that is part of <code>mcrover<\/code>).  I wanted a single server at home to fetch the weather information and provide it to local clients (command line and <code>qmcrover<\/code>).  This avoids unnecessary traffic to the NWS (National Weather Service) web sites from local clients.  This makes it faster as a consequence, since the local clients get the information from the local server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is secured using <code>libDwmCredence<\/code>.  I changed <code>qmcrover<\/code> to use it, and in the process I updated two of my Raspberry Pis from buster to bullseye.  One hurdle I encountered here: I was previously using a hand-built version of Qt 5.12.  I didn&#8217;t want to continue doing so with bullseye, because Qt is very big and takes a long time to build.  But the Raspberry Pi repositories don&#8217;t have two of the Qt libraries I need: libqt5webengine5 and libqt5webenginewidgets5.  I hence added the debian repository to my list of apt repositories by adding it to <code>\/etc\/apt\/source.list<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>deb http:\/\/deb.debian.org\/debian bullseye main contrib non-free<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I also created \/etc\/apt\/preferences:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Package: *<br>\nPin: origin raspbian.raspberrypi.org<br>\nPin-Priority: 800<br>\n<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Package: *<br>\nPin: origin deb.debian.org<br>\nPin-Priority: 600<br>\n<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So far, so good.  I&#8217;m running the server (<code>mcweatherd<\/code>) on the Raspberry Pi 4 that runs <code>qmcrover<\/code> in full screen mode in my office.<\/p>\n\n\n<p><\/p>\n<pre>dwm@pi4e:\/home\/dwm% psg mcweatherd<br>\nUSER   PID %CPU %MEM   VSZ  RSS TTY STAT START TIME COMMAND\nroot  8877  0.0  0.2 32832 8680 ?   Sl   01:10 0:02 \/usr\/local\/sbin\/mcweatherd\n<\/pre>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve completed my first pass at &#8216;mcweather&#8217;, a caching weather server and command line client. The main thrust here was to decouple weather condition and forecast fetching from qmcrover (a GUI client that is part of mcrover). I wanted a single server at home to fetch the weather information and provide it to local clients &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.rfdm.com\/blog\/?p=1198\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;mcweather first pass completed&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1198","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1198"}],"version-history":[{"count":12,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1198\/revisions"}],"predecessor-version":[{"id":1221,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1198\/revisions\/1221"}],"wp:attachment":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}