{"id":1577,"date":"2020-08-20T11:11:48","date_gmt":"2020-08-20T02:11:48","guid":{"rendered":"https:\/\/raspi-katsuyou.com\/?p=1577"},"modified":"2020-12-28T17:51:09","modified_gmt":"2020-12-28T08:51:09","slug":"lcd%e3%82%bf%e3%83%83%e3%83%81%e3%83%91%e3%83%8d%e3%83%ab%e3%83%a2%e3%83%8b%e3%82%bf%e7%94%bb%e9%9d%a2","status":"publish","type":"post","link":"https:\/\/raspi-katsuyou.com\/index.php\/2020\/08\/20\/11\/11\/48\/1577\/","title":{"rendered":"LCD\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u30e2\u30cb\u30bf\u753b\u9762"},"content":{"rendered":"\n<p>\u30e9\u30ba\u30d1\u30a4\u3092\u4f7f\u3063\u3066\u3001LCD\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u3092\u4f5c\u3063\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30bb\u30f3\u30b5\u3084\u30ab\u30e1\u30e9\u3092\u30e9\u30ba\u30d1\u30a4\u306b\u63a5\u7d9a\u3057\u3066\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u3067\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u76ee\u7684\u3067\u3059\u3002\u7279\u6b8a\u306a\u6280\u8853\u306f\u4f55\u3082\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u624b\u8efd\u306b\u5b9f\u73fe\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u30e9\u30ba\u30d1\u30a4\u3067\u4f7f\u3048\u308b\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u306f\u5b89\u3044\u3082\u306e\u3067\u6570\u5343\u5186\u7a0b\u5ea6\u306a\u306e\u3067\u3001\u81ea\u6162\u306e\u88c5\u7f6e\u306b\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u3092\u8ffd\u52a0\u3059\u308b\u306e\u3082\u9762\u767d\u305d\u3046\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u3092\u4f7f\u3063\u3066\u4ee5\u4e0b\u306e\u6a5f\u80fd\u3092\u5b9f\u73fe\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>7\u30a4\u30f3\u30c1(800\u00d7480)\u30bf\u30c3\u30c1\u30d1\u30cd\u30ebLCD\u3092\u4f7f\u3063\u3066\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u64cd\u4f5c\u3092\u5b9f\u73fe<\/li><li>\u6e29\u5ea6\u3001\u6e7f\u5ea6\u306e\u72b6\u614b\u3092\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a<\/li><li>\u6e29\u5ea6\u3001\u6e7f\u5ea6\u306e\u5909\u5316\u3092\u30b0\u30e9\u30d5\u5316<\/li><li>\u6e29\u5ea6\u3001\u6e7f\u5ea6\u306e\u30c7\u30fc\u30bf\u3092\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb(csv\u5f62\u5f0f)\u306b\u51fa\u529b<\/li><li>\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306b\u8868\u793a<\/li><li>\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u4f7f\u3063\u305f\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71<\/li><\/ol>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u5168\u4f53\u69cb\u6210<\/p>\n\n\n\n<p>\u4eca\u56de\u4f5c\u3063\u305f\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306f\u3001\u30bb\u30f3\u30b5\u5236\u5fa1\u3068\u30ab\u30e1\u30e9\u6620\u50cf\u306e2\u3064\u306e\u6a5f\u80fd\u306b\u5206\u304b\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>1\uff0e\u30bb\u30f3\u30b5\u5236\u5fa1<\/strong><\/p>\n\n\n\n<p>\u6e29\u6e7f\u30bb\u30f3\u30b5\u30fc\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3066\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306b\u8868\u793a\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u6e29\u5ea6\u3001\u6e7f\u5ea6\u30c7\u30fc\u30bf\u306e\u5909\u5316\u3092\u30b0\u30e9\u30d5\u5316\u3057\u3001\u5f8c\u304b\u3089\u30c7\u30fc\u30bf\u3068\u3057\u3066\u78ba\u8a8d\u3067\u304d\u308b\u3088\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"846\" height=\"612\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-4.png\" alt=\"\" class=\"wp-image-1579\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-4.png 846w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-4-300x217.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-4-768x556.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size\"><strong>\uff12\uff0e\u30ab\u30e1\u30e9\u6620\u50cf<\/strong><\/p>\n\n\n\n<p>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306b\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u8868\u793a\u3057\u307e\u3059\u3002\u904e\u53bb\u306b\u64ae\u5f71\u3057\u305f\u753b\u50cf\u3082\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u3067\u9078\u629e\u3057\u3066\u8868\u793a\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u3067\u3001\u64ae\u5f71\u306e\u5468\u671f\u3068\u671f\u9593\u3092\u8a2d\u5b9a\u3057\u3066\u3001\u30ab\u30e1\u30e9\u6620\u50cf\u306e\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71\u3092\u884c\u3048\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"566\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-19.png\" alt=\"\" class=\"wp-image-1608\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-19.png 1015w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-19-300x167.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-19-768x428.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u914d\u7f6e\u3068\u5207\u66ff\u624b\u6cd5<\/p>\n\n\n\n<p>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u30d5\u30ec\u30fc\u30e0)\u914d\u7f6e\u3068\u5207\u66ff\u624b\u6cd5\u306b\u306b\u3064\u3044\u3066\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30e1\u30a4\u30f3\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u751f\u6210\u3057\u3001\u5168\u30d5\u30ec\u30fc\u30e0\u3092\u30e1\u30a4\u30f3\u30a6\u30a3\u30f3\u30c9\u30a6\u4e0a\u306b\u91cd\u306d\u3066\u914d\u7f6e\u3057\u307e\u3059\u3002\u753b\u9762\u5207\u66ff\u306f\u3001\u300ctkraise\u30b3\u30de\u30f3\u30c9\u300d\u3092\u4f7f\u3063\u3066\u9078\u629e\u3057\u305f\u30d5\u30ec\u30fc\u30e0\u3092\u6700\u524d\u9762\u306b\u8868\u793a\u3059\u308b\u69cb\u6210\u3067\u3059\u3002\u3053\u306e\u65b9\u6cd5\u304c\u4e00\u756a\u30b7\u30f3\u30d7\u30eb\u3067\u3001\u753b\u9762\u5207\u66ff\u3082\u30b9\u30e0\u30fc\u30ba\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u914d\u7f6e\u3068\u5207\u66ff\u30a4\u30e1\u30fc\u30b8\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"552\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-20-1024x552.png\" alt=\"\" class=\"wp-image-1620\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-20-1024x552.png 1024w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-20-300x162.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-20-768x414.png 768w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-20.png 1026w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u914d\u7f6e<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"673\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-22-1024x673.png\" alt=\"\" class=\"wp-image-1623\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-22-1024x673.png 1024w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-22-300x197.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-22-768x505.png 768w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-22.png 1069w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption><em>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u5207\u66ff<\/em><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u7d44\u307f\u8fbc\u307f\u30e2\u30b8\u30e5\u30fc\u30eb<\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u3001\u958b\u767a\u8a00\u8a9e\u3068\u3057\u3066\u300c<strong>Python<\/strong>\u300d\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u8868\u793a\u7528\u306eGUI\u958b\u767a\u306b\u306f\u3001Python\u306e\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u300c<strong>Tkinter<\/strong>\u300d\u3092\u4f7f\u3044\u3001\u6e2c\u5b9a\u30c7\u30fc\u30bf\u306e<strong>\u30b0\u30e9\u30d5\u5316<\/strong>\u306f<strong>\u300c<strong>numpy<\/strong>\u300d<\/strong>\u3068\u300c<strong>matplotlib<\/strong>\u300d\u3067\u884c\u3044\u307e\u3057\u305f\u3002\u30bb\u30f3\u30b5\u304b\u3089\u306e\u30c7\u30fc\u30bf\u53d6\u5f97\u3084\u9577\u6642\u9593\u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u51fa\u529b\u306a\u3069\u306f\u3001Tkinter\u306e\u5225\u30b9\u30ec\u30c3\u30c9\u3067\u51e6\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067\u3001\u300c<strong>threading<\/strong>\u300d\u3082\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u30ab\u30e1\u30e9\u6620\u50cf\u306e\u8868\u793a\u306b\u306f\u3001\u300c<strong>cv2<\/strong>\u300d\u300c<strong>PIL.Image<\/strong>\u300d\u300c<strong>PIL.ImageTK<\/strong>\u300d\u3082\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u25a0numpy<br>Python\u306e\u62e1\u5f35\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3001\u6570\u5024\u8a08\u7b97\u3092\u3088\u308a\u9ad8\u901f\u306b\u51e6\u7406\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u6a5f\u68b0\u5b66\u7fd2\u306b\u3082\u3088\u304f\u5229\u7528\u3055\u308c\u3066\u304a\u308a\u3001\u5927\u91cf\u306e\u30c7\u30fc\u30bf\u51e6\u7406\u3082NumPy\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u77ed\u7e2e\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt-get install python-numpy\n$ sudo apt-get install python3-numpy<\/pre>\n\n\n\n<p>\u25a0matplotlib<br>Matplotlib\u306f\u3001NumPy\u306e\u305f\u3081\u306e\u30b0\u30e9\u30d5\u63cf\u753b\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt-get install python-matplotlib\n$ sudo apt-get install python3-matplotlib<\/pre>\n\n\n\n<p>\u25a0PIL\uff08Python Imaging Library\uff09<br>Python\u306e\u753b\u50cf\u51e6\u7406\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt-get install python-pil.image\n$ sudo apt-get install python3-pil.image\n\n$ sudo apt-get install python-pil.imagetk\n$ sudo apt-get install python3-pil.imagetk<\/pre>\n\n\n\n<p>\u672c\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u7d44\u307f\u8fbc\u3093\u3060\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# tkinter\nimport tkinter as tk\nfrom tkinter import filedialog as tkFileDialog\n\n#\u6642\u9593\u3001\u6642\u523b\nfrom time import sleep\nimport time\nimport datetime\n\n#\u6e29\u6e7f\u30bb\u30f3\u30b5(DHT11)\nimport RPi.GPIO as GPIO\nimport dht11\n\n#\u30b9\u30ec\u30c3\u30c9\u51e6\u7406\nimport threading\n\n#\u6620\u50cf\u8868\u793a\nimport cv2\nimport numpy as np\nimport PIL.Image, PIL.ImageTk\n\n#\u30b0\u30e9\u30d5\u8868\u793a\nimport matplotlib.pyplot as plt\nfrom matplotlib.backends.backend_tkagg import FigureCanvasTkAgg\n\n#csv\u30d5\u30a1\u30a4\u30eb\nimport csv\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u521d\u671f\u5316\u51e6\u7406<\/p>\n\n\n\n<p>\u3053\u3053\u3067\u306f\u3001\u30af\u30e9\u30b9\u3092\u5b9a\u7fa9\u3057\u3066\u3001GPIO\u30d4\u30f3\u306e\u30e2\u30fc\u30c9\u6307\u5b9a\u3084\u5909\u6570\u306e\u521d\u671f\u5316\u3092\u884c\u3044\u3001\u30ab\u30e1\u30e9\u306e\u8a2d\u5b9a\u3068\u30e1\u30a4\u30f3\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u521d\u671f\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nclass App(tk.Tk):\n    # \u521d\u671f\u8a2d\u5b9a\n    def __init__(self, *args, **kwargs):\n        #GPIO\u30d4\u30f3\u756a\u53f7\u306e\u30e2\u30fc\u30c9\u6307\u5b9a\n        GPIO.setmode(GPIO.BCM)\n        #\u30b0\u30ed\u30fc\u30d0\u30eb\u5909\u6570\u306e\u521d\u671f\u5316\n        self.temperature = &quot;0&quot;\n        self.humidity = &quot;0&quot;\n\n        # \u30ab\u30e1\u30e9\u8a2d\u5b9a\n        self.vcap = cv2.VideoCapture(0)\n        #self.width = self.vcap.get(cv2.CAP_PROP_FRAME_WIDTH)\n        #self.height = self.vcap.get(cv2.CAP_PROP_FRAME_HEIGHT)\n        #LCD\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306e\u30b5\u30a4\u30ba\u306b\u5408\u308f\u305b\u3066\u6620\u50cf\u30b5\u30a4\u30ba\u3092\u56fa\u5b9a\n        self.width = 460\n        self.height = 345\n\n        # \u30e1\u30a4\u30f3\u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u521d\u671f\u5316\n        tk.Tk.__init__(self, *args, **kwargs)\n\n        # \u30a6\u30a3\u30f3\u30c9\u30a6\u30bf\u30a4\u30c8\u30eb\u3092\u6c7a\u5b9a\n        self.title(&quot;Temperature &amp;amp; Humidity Change Page&quot;)\n\n        # \u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u5927\u304d\u3055(LCD\u753b\u9762\u306e\u5927\u304d\u3055\u306b\u5408\u308f\u305b\u3066\u8a2d\u5b9a)\n        self.geometry(&quot;800x480&quot;)\n\n        # \u30a6\u30a3\u30f3\u30c9\u30a6\u306e\u30b0\u30ea\u30c3\u30c9\u3092 1x1 \u306b\u3059\u308b\n        self.grid_rowconfigure(0, weight=1)\n        self.grid_columnconfigure(0, weight=1)\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u30e1\u30a4\u30f3\u753b\u9762\uff09<\/p>\n\n\n\n<p>\u30e1\u30a4\u30f3\u753b\u9762\u306a\u306e\u3067\u3001\u5de6\u4e0a\u306b\u30ed\u30b4\u753b\u50cf\u3068\u3001\u53f3\u4e0a\u306b\u6642\u523b\u3092\u8868\u793a\u3057\u3001\u4e2d\u592e\u306b\u30bf\u30a4\u30c8\u30eb\u30e9\u30d9\u30eb\u3092\u914d\u7f6e\u3057\u307e\u3057\u305f\u3002\u3042\u3068\u3001\u753b\u9762\u306e\u6700\u4e0b\u90e8\u306b\u3001\u753b\u9762\u5207\u66ff\u7528\u306e\u5207\u66ff\u30dc\u30bf\u30f3\u3092\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-7.png\" alt=\"\" class=\"wp-image-1588\" width=\"671\" height=\"405\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-7.png 836w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-7-300x181.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-7-768x464.png 768w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><figcaption>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb(\u30e1\u30a4\u30f3\u753b\u9762)<\/figcaption><\/figure>\n\n\n\n<p>\u30e1\u30a4\u30f3\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------main_frame(\u30e1\u30a4\u30f3\u753b\u9762)-----------------------------\n        # \u30e1\u30a4\u30f3\u30da\u30fc\u30b8\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.main_frame = tk.Frame(bg=&quot;white&quot;)\n        self.main_frame.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u30ed\u30b4\u30e9\u30d9\u30eb\u4f5c\u6210\n        self.logo = tk.PhotoImage(file='\/home\/user1\/TKinter\/logo.png')\n        self.logoLabel = tk.Label(self.main_frame, image=self.logo, borderwidth=0)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u4f5c\u6210\n        self.datetime = datetime.datetime.now().strftime(&quot;%Y\/%m\/%d %H:%M:%S&quot;)\n        self.time = tk.StringVar()\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.main_frame, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u30bf\u30a4\u30c8\u30eb\u30e9\u30d9\u30eb\u4f5c\u6210\n        self.titleLabel = tk.Label(self.main_frame, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, font=('Helvetica', '60'), borderwidth=4, relief=&quot;ridge&quot;, fg=&quot;white&quot;,bg=&quot;green&quot;)\n        # \u30e1\u30a4\u30f3\u753b\u9762\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\u4f5c\u6210\n        self.changepageButton1 = tk.Button(self.main_frame, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame1), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.main_frame, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame2), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.main_frame, text=&quot;\u753b\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame3), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.main_frame, text=&quot;\u6620\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame4), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.main_frame, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, command=lambda : self.changepage(self.frame5), width=13, bg=&quot;purple&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.main_frame, text=&quot;\u7d42\u4e86&quot;, command=self._quit, width=13, bg=&quot;red&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n#---- place ----\n        self.logoLabel.place(x=0, y=0)\n        self.timeLabel.place(x=600, y=0)\n        self.titleLabel.place(x=400, y=240, anchor='center')\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n\n\n<\/pre><\/div>\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u6e29\u5ea6\u6e7f\u5ea6\u6e2c\u5b9a\uff09<\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30bb\u30f3\u30b5\u304b\u3089\u306e\u6e29\u6e7f\u5ea6\u30c7\u30fc\u30bf\u306e\u53d6\u5f97\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067\u3001GUI\u753b\u9762\u8868\u793a\u3068\u306f\u5225\u30b9\u30ec\u30c3\u30c9\u3067\u51e6\u7406\u3092\u304a\u3053\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7(mainloop())\u5185\u3067\u51e6\u7406\u3059\u308b\u3068\u3001\u753b\u9762\u8868\u793a\u304c\u5f85\u3061\u72b6\u614b\u306b\u306a\u3063\u3066\u8868\u793a\u304c\u56fa\u307e\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"748\" height=\"576\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-23.png\" alt=\"\" class=\"wp-image-1626\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-23.png 748w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-23-300x231.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p>\u3053\u306e\u753b\u9762\u306f\u3001\u30bb\u30f3\u30b5\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u5468\u671f\u7684\u306b\u753b\u9762\u306b\u8868\u793a\u3057\u307e\u3059\u3002\u6e29\u5ea6\u3084\u6e7f\u5ea6\u306a\u3069\u30bb\u30f3\u30b5\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u753b\u9762\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"740\" height=\"452\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-8.png\" alt=\"\" class=\"wp-image-1594\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-8.png 740w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-8-300x183.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption>\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\uff08\u6e29\u5ea6\u8868\u793a\uff09<\/figcaption><\/figure>\n\n\n\n<p>\u6e29\u5ea6\u6e2c\u5b9a\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------frame1(\u6e29\u5ea6\u8868\u793a)---------------------------------\n        # \u79fb\u52d5\u5148\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.frame1 = tk.Frame(bg=&quot;white&quot;)\n        self.frame1.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u753b\u9762\u30e9\u30d9\u30eb\u8868\u793a\n        self.monLabel = tk.Label(self.frame1, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, font=('Helvetica', '15'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u8868\u793a\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.frame1, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6e29\u5ea6\u8868\u793a\u30e9\u30d9\u30eb\u4f5c\u6210\n        self.temp = tk.StringVar()\n        self.temp.set(&quot;\u6e29\u5ea6\uff1a&quot; + self.temperature + &quot;\u2103&quot;)\n        self.tempLabel = tk.Label(self.frame1, textvariable=self.temp, font=('Helvetica', '60'), borderwidth = 4, relief=&quot;ridge&quot;, fg=&quot;white&quot;,bg=&quot;black&quot;)\n        # \u30d5\u30ec\u30fc\u30e01\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\n        self.changepageButton1 = tk.Button(self.frame1, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, command=lambda : self.changepage(self.main_frame), width=13, bg=&quot;green&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.frame1, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame2), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.frame1, text=&quot;\u753b\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame3), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.frame1, text=&quot;\u6620\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame4), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.frame1, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, command=lambda : self.changepage(self.frame5), width=13, bg=&quot;purple&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.frame1, text=&quot;\u7d42\u4e86&quot;, command=self._quit, width=13, bg=&quot;red&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n        self.monLabel.place(x=0, y=0)\n        self.timeLabel.place(x=600, y=0)\n        self.tempLabel.place(x=400, y=240, anchor='center')\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n<\/pre><\/div>\n\n\n<p>\u6e7f\u5ea6\u6e2c\u5b9a\u753b\u9762\u3082\u6e29\u5ea6\u6e2c\u5b9a\u3068\u307b\u307c\u540c\u3058\u3067\u3059\u3002\u3044\u308d\u3093\u306a\u30bb\u30f3\u30b5\u3092\u53d6\u308a\u4ed8\u3051\u308b\u5834\u5408\u3082\u3001\u30bb\u30f3\u30b5\u304b\u3089\u306e\u30c7\u30fc\u30bf\u53d6\u5f97\u306f\u3001\u5225\u30b9\u30ec\u30c3\u30c9\uff08\u3082\u3057\u304f\u306f\u5225\u306e\u6a5f\u5668\uff09\u3067\u51e6\u7406\u3059\u308b\u65b9\u304c\u3001\u753b\u9762\u306e\u8868\u793a\u3082\u30b9\u30e0\u30fc\u30ba\u306b\u3044\u304f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"472\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-9.png\" alt=\"\" class=\"wp-image-1595\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-9.png 773w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-9-300x183.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-9-768x469.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>\u6e7f\u5ea6\u6e2c\u5b9a\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002\uff08\u6e29\u5ea6\u6e2c\u5b9a\u753b\u9762\u3068\u307b\u307c\u540c\u3058\u3067\u3059\uff09<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------frame2(\u6e7f\u5ea6\u8868\u793a)---------------------------------\n        # \u79fb\u52d5\u5148\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.frame2 = tk.Frame(bg=&quot;white&quot;)\n        self.frame2.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u753b\u9762\u30e9\u30d9\u30eb\u8868\u793a\n        self.monLabel = tk.Label(self.frame2, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, font=('Helvetica', '15'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u8868\u793a\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.frame2, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6e7f\u5ea6\u8868\u793a\u30e9\u30d9\u30eb\u4f5c\u6210\n        self.humi = tk.StringVar()\n        self.humi.set(&quot;\u6e7f\u5ea6\uff1a&quot; + self.humidity + &quot;\uff05&quot;)\n        self.humiLabel = tk.Label(self.frame2, textvariable=self.humi, font=('Helvetica', '60'), borderwidth = 4, relief=&quot;ridge&quot;, fg=&quot;white&quot;,bg=&quot;black&quot;)\n        # \u30d5\u30ec\u30fc\u30e02\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\n        self.changepageButton1 = tk.Button(self.frame2, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, command=lambda : self.changepage(self.main_frame), width=13, bg=&quot;green&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.frame2, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame1), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.frame2, text=&quot;\u753b\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame3), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.frame2, text=&quot;\u6620\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame4), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.frame2, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, command=lambda : self.changepage(self.frame5), width=13, bg=&quot;gray50&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.frame2, text=&quot;\u7d42\u4e86&quot;, command=self._quit, width=13, bg=&quot;red&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n        self.monLabel.place(x=0, y=0)\n        self.timeLabel.place(x=600, y=0)\n        self.humiLabel.place(x=400, y=240, anchor='center')\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u753b\u50cf\u8868\u793a\uff09<\/p>\n\n\n\n<p>\u3053\u306e\u753b\u9762\u306f\u3001\u4fdd\u5b58\u3057\u305f\u753b\u50cf\u3092\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u4e0a\u3067\u78ba\u8a8d\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002\u300c\u753b\u50cf\u9078\u629e\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u753b\u50cf\u9078\u629e\u7528\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u8868\u793a\u3055\u308c\u3001\u9078\u629e\u3057\u305f\u753b\u50cf\u3092\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u306b\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u5358\u4f53\u3067\u753b\u50cf\u304c\u78ba\u8a8d\u3067\u304d\u308b\u3068\u3001\u30cd\u30c3\u30c8\u306b\u3064\u306a\u304c\u3063\u3066\u306a\u3044\u74b0\u5883\u3067\u3082\u3059\u3050\u306b\u753b\u50cf\u3092\u78ba\u8a8d\u3067\u304d\u308b\u306e\u3067\u4fbf\u5229\u3060\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"496\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-11.png\" alt=\"\" class=\"wp-image-1597\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-11.png 893w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-11-300x167.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-11-768x427.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>\u753b\u50cf\u8868\u793a\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------frame3(\u753b\u50cf\u8868\u793a)---------------------------------\n        # \u79fb\u52d5\u5148\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.frame3 = tk.Frame(bg=&quot;white&quot;)\n        self.frame3.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u753b\u9762\u30e9\u30d9\u30eb\u8868\u793a\n        self.monLabel = tk.Label(self.frame3, text=&quot;\u753b\u50cf\u8868\u793a&quot;, font=('Helvetica', '15'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u8868\u793a\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.frame3, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6620\u50cf\u8868\u793a\u7528\u306e\u30ad\u30e3\u30f3\u30d0\u30b9\u4f5c\u6210\n        self.canvas = tk.Canvas(self.frame3, width = self.width, height = self.height)\n        self.canvas.place(x=400, y=225, anchor='center')\n        self.img = PIL.Image.open(open('\/home\/user1\/TKinter\/frame-20-07-2020-17-07-52.jpg', 'rb'))\n        self.img.thumbnail((self.width, self.height), PIL.Image.ANTIALIAS)\n        self.img = PIL.ImageTk.PhotoImage(self.img)\n        self.canvas.create_image(0, 0, image = self.img, anchor = tk.NW)\n\n        # \u753b\u50cf\u9078\u629e\u30dc\u30bf\u30f3\n        self.sel_button = tk.Button(self.frame3, text=&quot;\u753b\u50cf\u9078\u629e&quot;, command=self.openfile, width=15, bg=&quot;gray60&quot;, fg=&quot;white&quot;)\n        # \u30d5\u30ec\u30fc\u30e03\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\n        self.changepageButton1 = tk.Button(self.frame3, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, command=lambda : self.changepage(self.main_frame), width=13, bg=&quot;green&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.frame3, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame1), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.frame3, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame2), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.frame3, text=&quot;\u6620\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame4), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.frame3, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, command=lambda : self.changepage(self.frame5), width=13, bg=&quot;purple&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.frame3, text=&quot;\u7d42\u4e86&quot;, command=self._quit, width=13, bg=&quot;red&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n        self.monLabel.place(x=0, y=0)\n        self.timeLabel.place(x=600, y=0)\n        self.sel_button.place(x=400, y=420, anchor='center')\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u6620\u50cf\u8868\u793a\uff09<\/p>\n\n\n\n<p>\u3053\u306e\u753b\u9762\u306f\u3001\u30e9\u30ba\u30d1\u30a4\u306b\u63a5\u7d9a\u3057\u305f\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306b\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u3057\u307e\u3059\u3002\u307e\u305f\u3001\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u4f7f\u3063\u3066\u3001\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71\u3092\u884c\u3048\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"866\" height=\"492\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-12.png\" alt=\"\" class=\"wp-image-1598\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-12.png 866w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-12-300x170.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-12-768x436.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>\u6620\u50cf\u306e\u64ae\u5f71\u9593\u9694\u3068\u671f\u9593\u3092\u8a2d\u5b9a\u3057\u3066\u3001[\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71\u958b\u59cb]\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u64ae\u5f71\u9593\u9694\u3054\u3068\u306b\u753b\u50cf\u304c\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\u3053\u3053\u3067\u306e\u60f3\u5b9a\u306f\u3001\u690d\u7269\u30921\u6642\u9593\u5358\u4f4d\u3067\u64ae\u5f71\u3057\u3066\u6570\u304b\u6708\u5f8c\u306b\u82b1\u304c\u54b2\u3044\u305f\u3044\u305f\u3089\u30e9\u30d7\u30e9\u30b9\u52d5\u753b\u306b\u5909\u63db\u3057\u3066\u3001\u6210\u9577\u306e\u904e\u7a0b\u3092\u898b\u305f\u308a\u3059\u308b\u3053\u3068\u3092\u60f3\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u590f\u4f11\u307f\u306e\u8ab2\u984c\u3067\u3001\u30e1\u30c0\u30ab\u306e\u6210\u9577\u3084\u690d\u7269\u306e\u6210\u9577\u3092\u89b3\u5bdf\u3059\u308b\u306e\u306b\u3082\u6d3b\u7528\u3067\u304d\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"398\" height=\"597\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-17.png\" alt=\"\" class=\"wp-image-1604\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-17.png 398w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-17-200x300.png 200w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/figure>\n\n\n\n<p>\u30ab\u30e1\u30e9\u753b\u50cf\u306e\u66f4\u65b0\u306f\u300115ms\u5468\u671f\u3067\u30ab\u30e1\u30e9\u6620\u50cf\u3092\u66f4\u65b0\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"844\" height=\"583\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-24.png\" alt=\"\" class=\"wp-image-1640\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-24.png 844w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-24-300x207.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-24-768x531.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>\u6620\u50cf\u8868\u793a\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------frame4(\u30ab\u30e1\u30e9\u6620\u50cf\u8868\u793a)---------------------------------\n        # \u79fb\u52d5\u5148\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.frame4 = tk.Frame(bg=&quot;white&quot;)\n        self.frame4.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u753b\u9762\u30e9\u30d9\u30eb\u8868\u793a\n        self.monLabel = tk.Label(self.frame4, text=&quot;\u6620\u50cf\u8868\u793a&quot;, font=('Helvetica', '15'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        self.interval1menuLabel = tk.Label(self.frame4, text=&quot;\u64ae\u5f71\u9593\u9694&quot;, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        self.period1menuLabel = tk.Label(self.frame4, text=&quot;\u64ae\u5f71\u671f\u9593&quot;, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u8868\u793a\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.frame4, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n\n    # \u6620\u50cf\u8868\u793a\u7528\u306e\u30ad\u30e3\u30f3\u30d0\u30b9\u4f5c\u6210\n        self.canvas_mv = tk.Canvas(self.frame4, width=self.width, height=self.height)\n        self.canvas_mv.place(x=400, y=225, anchor='center')\n    # \u6620\u50cf\u306e\u66f4\u65b0\n        self.delay1 = 15\n        self.updatemovie()\n\n        # Capgure\u30dc\u30bf\u30f3\n        self.snap_button = tk.Button(self.frame4, text=&quot;\u30e9\u30d7\u30e9\u30b9\u64ae\u5f71\u958b\u59cb&quot;, command=self.callback_capture , width=15, bg=&quot;gray60&quot;, fg=&quot;white&quot;)\n\n        # \u9078\u629e\u30e1\u30cb\u30e5\u30fc(\u64ae\u5f71\u9593\u9694)\n        self.interval1 = tk.StringVar()\n        self.interval1.set(&quot;1\u79d2&quot;)\n        self.menu_interval1 = tk.OptionMenu(self.frame4, self.interval1, &quot;1\u79d2&quot;,&quot;10\u79d2&quot;,&quot;1\u5206&quot;)\n        # \u9078\u629e\u30e1\u30cb\u30e5\u30fc(\u64ae\u5f71\u671f\u9593)\n        self.period1 = tk.StringVar()\n        self.period1.set(&quot;1\u5206&quot;)\n        self.menu_period1 = tk.OptionMenu(self.frame4, self.period1, &quot;1\u5206&quot;,&quot;10\u5206&quot;,&quot;1\u6642\u9593&quot;)\n        # \u30d5\u30ec\u30fc\u30e04\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\n        self.changepageButton1 = tk.Button(self.frame4, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, command=lambda : self.changepage(self.main_frame), width=13, bg=&quot;green&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.frame4, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame1), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.frame4, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame2), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.frame4, text=&quot;\u753b\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame3), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.frame4, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, command=lambda : self.changepage(self.frame5), width=13, bg=&quot;purple&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.frame4, text=&quot;\u7d42\u4e86&quot;, command=self._quit, width=13, bg=&quot;red&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n        self.monLabel.place(x=0, y=0)\n        self.interval1menuLabel.place(x=0, y=30)\n        self.menu_interval1.place(x=0, y=54)\n        self.period1menuLabel.place(x=0, y=90)\n        self.menu_period1.place(x=0, y=114)\n\n        self.timeLabel.place(x=600, y=0)\n        self.snap_button.place(x=400, y=420, anchor='center')\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-large-font-size\">\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762(\u30b0\u30e9\u30d5\u5316\uff09<\/p>\n\n\n\n<p>\u3053\u306e\u753b\u9762\u306f\u3001\u30bb\u30f3\u30b5\u3067\u6e2c\u5b9a\u3057\u305f\u6e29\u5ea6\u3001\u6e7f\u5ea6\u30c7\u30fc\u30bf\u3092\u6642\u7cfb\u5217\u306b\u8868\u793a\u3057\u3066\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002plot\u671f\u9593\u3092\u5909\u66f4\u3059\u308b\u3068\u3001\u30b0\u30e9\u30d5\u306e\u30d7\u30ed\u30c3\u30c8\u671f\u9593\u3082\u5909\u66f4\u3055\u308c\u307e\u3059\u30021\u6642\u9593\u306e\u6e29\u5ea6\u5909\u5316\u306a\u3069\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u78ba\u8a8d\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u3067\u3059\u3050\u306b\u898b\u308c\u308b\u306e\u3067\u4fbf\u5229\u3067\u3059\u3002\u3042\u3068\u3001\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u3066\u3001\u5f8c\u304b\u3089\u6d3b\u7528\u3057\u305f\u3044\u5834\u5408\u3082\u3042\u308b\u306e\u3067\u3001\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb(csv\u5f62\u5f0f)\u3067\u4fdd\u5b58\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\u30bb\u30f3\u30b5\u304b\u3089\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u3092\u84c4\u7a4d\u3057\u3066\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5316\u3059\u308b\u3068\u3001\u9762\u767d\u3044\u3053\u3068\u304c\u767a\u898b\u3067\u304d\u305d\u3046\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"861\" height=\"512\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-15.png\" alt=\"\" class=\"wp-image-1601\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-15.png 861w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-15-300x178.png 300w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-15-768x457.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>\u6e29\u5ea6\u3001\u6e7f\u5ea6\u30c7\u30fc\u30bf\u306e\u30b0\u30e9\u30d5\u5316<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"419\" height=\"688\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-16.png\" alt=\"\" class=\"wp-image-1602\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-16.png 419w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-16-183x300.png 183w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><figcaption>\u6e29\u5ea6\u3001\u6e7f\u5ea6\u30c7\u30fc\u30bf\u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb(csv\u5f62\u5f0f)\u51fa\u529b<\/figcaption><\/figure>\n\n\n\n<p>\u30b0\u30e9\u30d5\u5316\u753b\u9762\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4e2d\u8eab\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#-----------------------------------frame5(\u30b0\u30e9\u30d5\u8868\u793a)---------------------------------\n        # \u79fb\u52d5\u5148\u30d5\u30ec\u30fc\u30e0\u4f5c\u6210\n        self.frame5 = tk.Frame(bg=&quot;white&quot;)\n        self.frame5.grid(row=0, column=0, sticky=&quot;nsew&quot;)\n        # \u753b\u9762\u30e9\u30d9\u30eb\u8868\u793a\n        self.monLabel = tk.Label(self.frame5, text=&quot;\u30b0\u30e9\u30d5\u8868\u793a&quot;, font=('Helvetica', '15'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        self.intervalmenuLabel = tk.Label(self.frame5, text=&quot;csv\u51fa\u529b\u9593\u9694&quot;, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        self.periodmenuLabel = tk.Label(self.frame5, text=&quot;plot\u671f\u9593&quot;, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u6642\u523b\u8868\u793a\u30e9\u30d9\u30eb\u8868\u793a\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b\uff1a&quot; + str(self.datetime) )\n        self.timeLabel = tk.Label(self.frame5, textvariable=self.time, font=('Helvetica', '10'),fg=&quot;black&quot;, bg=&quot;white&quot;)\n        # \u30b0\u30e9\u30d5\u8868\u793a\u7528\u306e\u30ad\u30e3\u30f3\u30d0\u30b9\u4f5c\u6210\n        # prepare data\n        self.y1 = &#x5B;]\n        self.y1.append(float(self.temperature))\n        self.y2 = &#x5B;]\n        self.y2.append(float(self.humidity))\n        #self.fig = plt.figure()\n        self.fig = plt.figure(dpi=100, figsize=(6.5,4.1))\n        # \u6e29\u5ea6\u30b0\u30e9\u30d5\n        self.ay1 = self.fig.add_subplot(211)\n        self.ay1.set_xlim(0,60)\n        self.ay1.set_ylim(&#x5B;0,40])\n        self.ay1.plot(self.y1)\n        self.ay1.set_title('plot')\n        #self.ay1.set_xlabel('Time&#x5B;sec]')\n        self.ay1.set_ylabel('Temp&#x5B;\u2103]')\n        self.ay1.grid(True)\n        # \u6e7f\u5ea6\u30b0\u30e9\u30d5\n        self.ay2 = self.fig.add_subplot(212)\n        self.ay2.set_xlim(0,60)\n        self.ay2.set_ylim(&#x5B;0,100])\n        self.ay2.plot(self.y2)\n        #self.ay2.set_title(' Humidity')\n        self.ay2.set_xlabel('Time&#x5B;sec]')\n        self.ay2.set_ylabel('Humidity&#x5B;%]')\n        self.ay2.grid(True)\n\n        self.canvas_graph = FigureCanvasTkAgg(self.fig, self.frame5)  # Generate canvas instance, Embedding fig in root\n        self.canvas_graph.draw()\n        #self.canvas_graph.get_tk_widget().pack(anchor=tk.NW)\n        self.canvas_graph.get_tk_widget().place(x=400, y=235, anchor='center\u2019)\n # \u9078\u629e\u30e1\u30cb\u30e5\u30fc(plot\u9593\u9694)\n        self.interval = tk.StringVar()\n        self.interval.set(&quot;1\u79d2&quot;)\n        self.menu_interval = tk.OptionMenu(self.frame5, self.interval, &quot;1\u79d2&quot;,&quot;10\u79d2&quot;,&quot;1\u5206&quot;)\n        # \u9078\u629e\u30e1\u30cb\u30e5\u30fc(plot\u671f\u9593)\n        self.period = tk.StringVar()\n        self.period.set(&quot;1\u5206&quot;)\n        self.menu_period = tk.OptionMenu(self.frame5, self.period, &quot;1\u5206&quot;,&quot;10\u5206&quot;,&quot;1\u6642\u9593&quot;)\n\n        self.delay3 = 1000\n        self.drawgraph()\n\n        # \u30d5\u30ec\u30fc\u30e05\u304b\u3089\u4ed6\u306e\u753b\u9762\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\n        self.changepageButton1 = tk.Button(self.frame5, text=&quot;\u30e1\u30a4\u30f3\u753b\u9762&quot;, command=lambda : self.changepage(self.main_frame), width=13, bg=&quot;green&quot;, fg=&quot;white&quot;)\n        self.changepageButton2 = tk.Button(self.frame5, text=&quot;\u6e29\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame1), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton3 = tk.Button(self.frame5, text=&quot;\u6e7f\u5ea6\u6e2c\u5b9a&quot;, command=lambda : self.changepage(self.frame2), width=13, bg=&quot;blue&quot;, fg=&quot;white&quot;)\n        self.changepageButton4 = tk.Button(self.frame5, text=&quot;\u753b\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame3), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton5 = tk.Button(self.frame5, text=&quot;\u6620\u50cf\u8868\u793a&quot;, command=lambda : self.changepage(self.frame4), width=13, bg=&quot;orange&quot;, fg=&quot;white&quot;)\n        self.changepageButton6 = tk.Button(self.frame5, text=&quot;csv\u51fa\u529b&quot;, command=self.callback_writecsv, width=13, bg=&quot;tomato&quot;, fg=&quot;white&quot;)\n        # \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u914d\u7f6e\n        self.monLabel.place(x=0, y=0)\n        self.intervalmenuLabel.place(x=0, y=30)\n        self.menu_interval.place(x=0, y=54)\n        self.periodmenuLabel.place(x=0, y=90)\n        self.menu_period.place(x=0, y=114)\n\n        self.timeLabel.place(x=600, y=0)\n        self.changepageButton1.place(x=0, y=448)\n        self.changepageButton2.place(x=125, y=448)\n        self.changepageButton3.place(x=250, y=448)\n        self.changepageButton4.place(x=375, y=448)\n        self.changepageButton5.place(x=500, y=448)\n        self.changepageButton6.place(x=625, y=448)\n#--------------------------------------------------------------------------\n\n        #main_frame\u3092\u4e00\u756a\u4e0a\u306b\u8868\u793a\n        self.main_frame.tkraise()\n\n        #\u6642\u523b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0(1\u79d2\u5468\u671f)\n        self.delay2 = 1000\n        self.updatetime()\n\n        #\u6e29\u5ea6\u30c7\u30fc\u30bf\u53d6\u5f97\n        self.thread1 = threading.Thread(target=self.gettemp)\n        self.thread1.setDaemon(True)\n        self.thread1.start()\n<\/pre><\/div>\n\n\n<p>\u8aad\u307f\u8fbc\u3093\u3067\u3044\u308b\u95a2\u6570\u306f\u4ee5\u4e0b\u3067\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n   # \u753b\u9762\u9077\u79fb\u7528\u306e\u95a2\u6570\n    def changepage(self, page):\n        page.tkraise()\n\n    # \u30bb\u30f3\u30b5\u30fc(DHT11)\u304b\u3089\u30c7\u30fc\u30bf\u53d6\u5f97\n    def gettemp(self):\n        GPIO.setmode(GPIO.BCM)\n        self.instance = dht11.DHT11(pin=4)\n        while True:\n            self.result = self.instance.read()\n            if self.result.is_valid():\n\t\t#\u30c7\u30fc\u30bf\u53d6\u5f97\n                self.temperature = str(self.result.temperature)\n                self.humidity = str(self.result.humidity)\n                self.temp.set(&quot;\u6e29\u5ea6\uff1a&quot; + self.temperature + &quot;\u2103&quot;)\n                self.humi.set(&quot;\u6e7f\u5ea6\uff1a&quot; + self.humidity + &quot;\uff05&quot;)\n                sleep(1)\n\n    # \u6642\u523b\u66f4\u65b0\n    def updatetime(self):\n        self.datetime = str(datetime.datetime.now().strftime(&quot;%Y\/%m\/%d %H:%M:%S&quot;))\n        self.time.set(&quot;\u73fe\u5728\u6642\u523b:&quot; + self.datetime )\n        self.after(self.delay2,self.updatetime)\n\n    # \u30ab\u30e1\u30e9\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u6620\u50cf\u66f4\u65b0\uff0815\u30df\u30ea\u79d2\u3054\u3068\uff09\n    def updatemovie(self):\n        _, frame = self.vcap.read()\n        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n        frame_resize = cv2.resize(frame, (self.width,self.height), interpolation=cv2.INTER_LINEAR)\n        self.movie = PIL.ImageTk.PhotoImage(image = PIL.Image.fromarray(frame_resize))\n        self.canvas_mv.create_image(0, 0, image = self.movie, anchor = tk.NW)\n        self.after(self.delay1, self.updatemovie)\n\n    # \u753b\u50cf\u9078\u629e\u30dc\u30bf\u30f3\u306e\u51e6\u7406\n    def openfile(self):\n        self.fTyp=&#x5B;('\u753b\u50cf\u30d5\u30a1\u30a4\u30eb','*.jpg')]\n        self.iDir='\/home\/\u30e6\u30fc\u30b6\u540d\/'\n        #jpg\u30d5\u30a1\u30a4\u30eb\u306e\u9078\u629e\n        pictfilename=tkFileDialog.askopenfilename(filetypes=self.fTyp,initialdir=self.iDir)\n        #\u9078\u629e\u3057\u305fjpg\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a\n        self.img = PIL.Image.open(open(pictfilename, 'rb'))\n        self.img.thumbnail((self.width, self.height), PIL.Image.ANTIALIAS)\n        self.img = PIL.ImageTk.PhotoImage(self.img)\n        self.canvas.create_image(0, 0, image = self.img, anchor = tk.NW)\n\n    # \u30b0\u30e9\u30d5\u63cf\u753b\n    def drawgraph(self):\n        # X\u8ef8(plot\u671f\u9593)\u3092\u8a2d\u5b9a:1\u5206\/10\u5206\/1\u6642\u9593\n        if self.period.get() == &quot;1\u5206&quot;:\n            self.xlim = 60\n        elif self.period.get()  == &quot;10\u5206&quot;:\n            self.xlim = 600\n        else: # 1\u6642\u9593\n            self.xlim = 3600\n\n        if len(self.y1) &amp;lt;= self.xlim:\n            self.ay1.set_xlim(0,self.xlim)\n            self.ay2.set_xlim(0,self.xlim)\n            self.y1.append(float(self.temperature))\n            self.y2.append(float(self.humidity))\n        else:\n            self.y1.clear()\n            self.y1.append(float(self.temperature))\n            self.ay1.clear()\n            self.ay1.set_xlim(0,self.xlim)\n            self.ay1.set_ylim(&#x5B;0,40])\n            self.ay1.set_title('plot')\n            #self.ay1.set_xlabel('Time&#x5B;sec]')\n            self.ay1.set_ylabel('Temp&#x5B;\u2103]')\n            self.ay1.grid(True)\n            self.y2.clear()\n            self.y2.append(float(self.humidity))\n            self.ay2.clear()\n            self.ay2.set_xlim(0,self.xlim)\n            self.ay2.set_ylim(&#x5B;0,100])\n            #self.ay2.set_title('plot')\n            self.ay2.set_xlabel('Time&#x5B;sec]')\n            self.ay2.set_ylabel('Humidity&#x5B;%]')\n            self.ay2.grid(True)\n        print(len(self.y1))\n        print(self.y1)\n        print(self.y2)\n        #self.ay1.set_ylim(&#x5B;0,40])\n        self.ay1.plot(self.y1)\n        self.ay2.plot(self.y2)\n        self.canvas_graph.draw()\n        self.after(self.delay3, self.drawgraph)\n    \n    def callback_writecsv(self):\n       self.thread2 = threading.Thread(target=self.writecsv)\n       self.thread2.setDaemon(True)\n       self.thread2.start()\n\n    # CSV\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u66f8\u304d\u51fa\u3057\n    def writecsv(self):\n        # \u30d5\u30a1\u30a4\u30eb\u540d\u306e\u8a2d\u5b9a\n        now = datetime.datetime.today()     #\u73fe\u5728\u6642\u523b\u53d6\u5f97\n        hourstr = &quot;_&quot; + now.strftime(&quot;%H&quot;)  #\u6642\u523b(\u6642)\u3092\u6587\u5b57\u5217\u5316\n        minutestr = &quot;_&quot; + now.strftime(&quot;%M&quot;)   #\u6642\u523b(\u5206)\u3092\u6587\u5b57\u5217\u5316\n        filename = &quot;temphumid_&quot; + now.strftime(&quot;%Y%m%d&quot;) + hourstr + minutestr + &quot;.csv&quot;\n\n        #csv\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u307f\n        with open(filename,'a',newline='') as f:  #csv\u30d5\u30a1\u30a4\u30eb\u306e\u751f\u6210\n            writer = csv.writer(f)\n            writer.writerow(&#x5B;&quot;year&quot;,&quot;month&quot;,&quot;day&quot;,&quot;hour&quot;,&quot;minute&quot;,&quot;second&quot;,&quot;temp&#x5B;\u2103]&quot;,&quot;humid&#x5B;%]&quot;])  #1\u884c\u76ee\uff1a\u898b\u51fa\u3057\n            sec = 0\n            #while(minutestr == minutestr_ser):  #1\u5206\u9593\u30c7\u30fc\u30bf\u3092\u66f8\u304d\u8fbc\u3080\n            while( sec &amp;lt;= self.xlim):  #plot\u671f\u9593\u5206\u66f8\u304d\u8fbc\u3080\n                #\u60c5\u5831\u306e\u53d6\u5f97\n                temp = float(self.temperature)    #\u6e29\u5ea6 \n                humid = float(self.humidity)      #\u6e7f\u5ea6\n                now_ser = datetime.datetime.today()  #\u73fe\u5728\u6642\u523b\n                #&#x5B;\u5e74\uff0c\u6708\uff0c\u65e5\uff0c\u6642\uff0c\u5206\uff0c\u79d2\uff0c\u6e29\u5ea6\uff0c\u6e7f\u5ea6]\n                data = &#x5B;now_ser.year,now_ser.month,now_ser.day,now_ser.hour,\n                             now_ser.minute,now_ser.second,temp,humid] \n                #\u30c7\u30fc\u30bf\u306e\u66f8\u304d\u8fbc\u307f\n                writer.writerow(data)  #1\u884c\u76ee\u5206\u306e\u30c7\u30fc\u30bf\u8ffd\u52a0\n                f.flush()              #\u30d0\u30c3\u30d5\u30a1\u4e0a\u306e\u30c7\u30fc\u30bf\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3057\n                #plot\u9593\u9694\u3092\u8a2d\u5b9a\n                if self.interval.get() == &quot;1\u79d2&quot;:\n                    sleep(1)\n                    sec+=1\n                elif self.interval.get() == &quot;10\u79d2&quot;:\n                    sleep(10)\n                    sec+=10\n                else:\n                    sleep(60)\n                    sec+=60\n                \n                #\u8868\u793a\n                print('--------------------------------')\n                print(now_ser.strftime(&quot;%Y\/%m\/%d %H:%M:%S&quot;))\n                print(&quot;\u6e29\u5ea6\uff1a{:.2f}C&quot;.format(temp))\n                print(&quot;\u6e7f\u5ea6\uff1a{:.2f}%&quot;.format(humid))\n                print(&quot;Wtite in {:}&quot;.format(filename))\n        \n        print(&quot;End&quot;)\n            \n    def callback_capture(self):\n       self.thread3 = threading.Thread(target=self.capture)\n       self.thread3.setDaemon(True)\n       self.thread3.start()\n\n    # \u6620\u50cf\u8868\u793a\u753b\u9762\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u30dc\u30bf\u30f3\u306e\u51e6\u7406\n    def capture(self):\n        ret, frame = self.vcap.read()\n        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n        if ret:\n            sec = 0\n            if self.period1.get() == &quot;1\u5206&quot;:\n                period = 60\n            elif self.period1.get() == &quot;10\u5206&quot;:\n                period = 600\n            else:\n                period = 3600\n            while( sec &amp;lt;= period ):\n                cv2.imwrite(&quot;frame-&quot; + time.strftime(&quot;%d-%m-%Y-%H-%M-%S&quot;) + &quot;.jpg&quot;, cv2.cvtColor(frame, cv2.COLOR_RGB2BGR))\n                #\u64ae\u5f71\u9593\u9694\u3092\u8a2d\u5b9a\n                if self.interval1.get() == &quot;1\u79d2&quot;:\n                    sleep(1)\n                    sec+=1\n                elif self.interval1.get() == &quot;10\u79d2&quot;:\n                    sleep(10)\n                    sec+=10\n                else:\n                    sleep(60)\n                    sec+=60\n\n    # \u7d42\u4e86\u51e6\u7406 \n    def _quit(self):\n        GPIO.cleanup()\n        self.quit()\n        self.destroy()\n<\/pre><\/div>\n\n\n<p>\u6700\u5f8c\u306b\u304a\u307e\u3051\u3067\u3001Windows\u306e\u30d1\u30bd\u30b3\u30f3\u304b\u3089\u4fdd\u5b58\u3057\u305f\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u3084\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u5171\u6709\uff08Samba)\u3092\u4f7f\u3063\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u30d5\u30a1\u30a4\u30eb\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"743\" height=\"308\" src=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-25.png\" alt=\"\" class=\"wp-image-1643\" srcset=\"https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-25.png 743w, https:\/\/raspi-katsuyou.com\/wp-content\/uploads\/2020\/08\/image-25-300x124.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>\u610f\u5916\u306b\u4f7f\u3048\u308b\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u304c\u3067\u304d\u305f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>Tkinter\u3092\u4f7f\u3063\u305f\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u306f\u521d\u3081\u3066\u4f5c\u3063\u305f\u306e\u3067\u3001\u3082\u3046\u3061\u3087\u3063\u3068\u3044\u3044\u3084\u308a\u65b9\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u3082\u3063\u3068\u3044\u3044\u65b9\u6cd5\u306a\u3069\u3042\u308c\u3070\u3001\u30a2\u30c9\u30d0\u30a4\u30b9\u3044\u305f\u3060\u3051\u308b\u3068\u52a9\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u9577\u304f\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u6700\u5f8c\u307e\u3067\u898b\u3066\u3044\u305f\u3060\u304d\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p><\/p>\n<div class=\"veu_socialSet veu_socialSet-position-after veu_contentAddSection\"><script>window.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src=\"https:\/\/platform.twitter.com\/widgets.js\";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\"script\",\"twitter-wjs\"));<\/script><ul><li class=\"sb_facebook sb_icon\"><a class=\"sb_icon_inner\" href=\"\/\/www.facebook.com\/sharer.php?src=bm&u=https%3A%2F%2Fraspi-katsuyou.com%2Findex.php%2F2020%2F08%2F20%2F11%2F11%2F48%2F1577%2F&amp;t=%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E6%B4%BB%E7%94%A8%E6%97%A5%E8%A8%98\" target=\"_blank\" onclick=\"window.open(this.href,'FBwindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_fb icon_sns\"><\/span><span class=\"sns_txt\">Facebook<\/span><span class=\"veu_count_sns_fb\"><\/span><\/a><\/li><li class=\"sb_twitter sb_icon\"><a class=\"sb_icon_inner\" href=\"\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fraspi-katsuyou.com%2Findex.php%2F2020%2F08%2F20%2F11%2F11%2F48%2F1577%2F&amp;text=%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E6%B4%BB%E7%94%A8%E6%97%A5%E8%A8%98\" target=\"_blank\" ><span class=\"vk_icon_w_r_sns_twitter icon_sns\"><\/span><span class=\"sns_txt\">twitter<\/span><\/a><\/li><li class=\"sb_hatena sb_icon\"><a class=\"sb_icon_inner\" href=\"\/\/b.hatena.ne.jp\/add?mode=confirm&url=https%3A%2F%2Fraspi-katsuyou.com%2Findex.php%2F2020%2F08%2F20%2F11%2F11%2F48%2F1577%2F&amp;title=%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E6%B4%BB%E7%94%A8%E6%97%A5%E8%A8%98\" target=\"_blank\"  onclick=\"window.open(this.href,'Hatenawindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_hatena icon_sns\"><\/span><span class=\"sns_txt\">Hatena<\/span><span class=\"veu_count_sns_hb\"><\/span><\/a><\/li><li class=\"sb_pocket sb_icon\"><a class=\"sb_icon_inner\"  href=\"\/\/getpocket.com\/edit?url=https%3A%2F%2Fraspi-katsuyou.com%2Findex.php%2F2020%2F08%2F20%2F11%2F11%2F48%2F1577%2F&title=%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E6%B4%BB%E7%94%A8%E6%97%A5%E8%A8%98\" target=\"_blank\"  onclick=\"window.open(this.href,'Pokcetwindow','width=650,height=450,menubar=no,toolbar=no,scrollbars=yes');return false;\"><span class=\"vk_icon_w_r_sns_pocket icon_sns\"><\/span><span class=\"sns_txt\">Pocket<\/span><span class=\"veu_count_sns_pocket\"><\/span><\/a><\/li><li class=\"sb_copy sb_icon\"><button class=\"copy-button sb_icon_inner\"data-clipboard-text=\"\u30e9\u30ba\u30d1\u30a4\u6d3b\u7528\u65e5\u8a18 https:\/\/raspi-katsuyou.com\/index.php\/2020\/08\/20\/11\/11\/48\/1577\/\"><span class=\"vk_icon_w_r_sns_copy icon_sns\"><i class=\"fas fa-copy\"><\/i><\/span><span class=\"sns_txt\">Copy<\/span><\/button><\/li><\/ul><\/div><!-- [ \/.socialSet ] -->","protected":false},"excerpt":{"rendered":"<p>\u30e9\u30ba\u30d1\u30a4\u3092\u4f7f\u3063\u3066\u3001LCD\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u3092\u4f5c\u3063\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002 \u30bb\u30f3\u30b5\u3084\u30ab\u30e1\u30e9\u3092\u30e9\u30ba\u30d1\u30a4\u306b\u63a5\u7d9a\u3057\u3066\u3001\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u753b\u9762\u4e0a\u3067\u64cd\u4f5c\u3059\u308b\u3053\u3068\u304c\u76ee\u7684\u3067\u3059\u3002\u7279\u6b8a\u306a\u6280\u8853\u306f\u4f55\u3082\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u624b\u8efd\u306b\u5b9f\u73fe\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u30e9\u30ba\u30d1\u30a4\u3067\u4f7f &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/raspi-katsuyou.com\/index.php\/2020\/08\/20\/11\/11\/48\/1577\/\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;LCD\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u30e2\u30cb\u30bf\u753b\u9762&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":1569,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"vkexunit_cta_each_option":"","footnotes":""},"categories":[33,6],"tags":[],"class_list":["post-1577","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gui_tkinter","category-raspi-kakunin"],"_links":{"self":[{"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/posts\/1577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/comments?post=1577"}],"version-history":[{"count":0,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/posts\/1577\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/media\/1569"}],"wp:attachment":[{"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/media?parent=1577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/categories?post=1577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raspi-katsuyou.com\/index.php\/wp-json\/wp\/v2\/tags?post=1577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}