オムロン環境センサ（2JCIE-BU）をラズパイで使ってみた。（４）

今回は、PostgreSQLに貯めたデータをMetabaseで表示したいと思います。


|![スクリーンショット 2021-10-17 13.18.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/ad47235b-6cae-fc04-6b24-7a86cb84adde.png)|
|:-:|

# Javaのインストール

Metabaseを利用するために、先にJavaをインストールします。

<details><summary>インストールログ</summary><div>

```shell-session:
pi@raspberrypi:~ $ sudo apt -y install openjdk-8-jdk openjdk-8-jre
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libice-dev libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-8-jdk-headless openjdk-8-jre-headless x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev
提案パッケージ:
  default-jre libice-doc libsm-doc libx11-doc libxcb-doc libxt-doc openjdk-8-demo openjdk-8-source visualvm icedtea-8-plugin fonts-ipafont-gothic
  fonts-ipafont-mincho fonts-wqy-microhei fonts-wqy-zenhei fonts-indic
以下のパッケージが新たにインストールされます:
  ca-certificates-java fonts-dejavu-extra java-common libatk-wrapper-java libatk-wrapper-java-jni libice-dev libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-8-jdk openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless x11proto-core-dev x11proto-dev
  xorg-sgml-doctools xtrans-dev
アップグレード: 0 個、新規インストール: 21 個、削除: 0 個、保留: 13 個。
36.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 143 MB のディスク容量が消費されます。
取得:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf java-common all 0.71 [14.4 kB]
取得:2 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf openjdk-8-jre-headless armhf 8u212-b01-1+rpi1 [25.5 MB]
取得:3 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf ca-certificates-java all 20190405 [15.7 kB]                                   
取得:4 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf fonts-dejavu-extra all 2.37-1 [1,982 kB]                                      
取得:5 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libatk-wrapper-java all 0.33.3-22+deb10u1 [45.5 kB]                           
取得:6 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libatk-wrapper-java-jni armhf 0.33.3-22+deb10u1 [33.7 kB]                     
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf xorg-sgml-doctools all 1:1.11-1 [21.9 kB]                                     
取得:8 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf x11proto-dev all 2018.4-4 [251 kB]                                            
取得:9 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf x11proto-core-dev all 2018.4-4 [3,128 B]                                      
取得:10 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libice-dev armhf 2:1.0.9-2 [58.8 kB]                                         
取得:11 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libpthread-stubs0-dev armhf 0.4-1 [5,344 B]                                  
取得:12 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libsm-dev armhf 2:1.2.3-1 [35.4 kB]                                          
取得:13 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libxau-dev armhf 1:1.0.8-1+b2 [22.4 kB]                                      
取得:14 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.9 kB]                                       
取得:15 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf xtrans-dev all 1.3.5-1 [100 kB]                                              
取得:16 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libxcb1-dev armhf 1.13.1-2 [169 kB]                                          
取得:17 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libx11-dev armhf 2:1.6.7-1+deb10u2 [761 kB]                                  
取得:18 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libxt-dev armhf 1:1.1.5-1+b3 [390 kB]                                        
取得:19 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf openjdk-8-jre armhf 8u212-b01-1+rpi1 [61.8 kB]                               
取得:20 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf openjdk-8-jdk-headless armhf 8u212-b01-1+rpi1 [6,299 kB]                     
取得:21 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf openjdk-8-jdk armhf 8u212-b01-1+rpi1 [382 kB]                                
36.2 MB を 14秒 で取得しました (2,657 kB/s)                                                                                                                  
以前に未選択のパッケージ java-common を選択しています。
(データベースを読み込んでいます ... 現在 100933 個のファイルとディレクトリがインストールされています。)
.../00-java-common_0.71_all.deb を展開する準備をしています ...
java-common (0.71) を展開しています...
以前に未選択のパッケージ openjdk-8-jre-headless:armhf を選択しています。
.../01-openjdk-8-jre-headless_8u212-b01-1+rpi1_armhf.deb を展開する準備をしています ...
openjdk-8-jre-headless:armhf (8u212-b01-1+rpi1) を展開しています...
以前に未選択のパッケージ ca-certificates-java を選択しています。
.../02-ca-certificates-java_20190405_all.deb を展開する準備をしています ...
ca-certificates-java (20190405) を展開しています...
以前に未選択のパッケージ fonts-dejavu-extra を選択しています。
.../03-fonts-dejavu-extra_2.37-1_all.deb を展開する準備をしています ...
fonts-dejavu-extra (2.37-1) を展開しています...
以前に未選択のパッケージ libatk-wrapper-java を選択しています。
.../04-libatk-wrapper-java_0.33.3-22+deb10u1_all.deb を展開する準備をしています ...
libatk-wrapper-java (0.33.3-22+deb10u1) を展開しています...
以前に未選択のパッケージ libatk-wrapper-java-jni:armhf を選択しています。
.../05-libatk-wrapper-java-jni_0.33.3-22+deb10u1_armhf.deb を展開する準備をしています ...
libatk-wrapper-java-jni:armhf (0.33.3-22+deb10u1) を展開しています...
以前に未選択のパッケージ xorg-sgml-doctools を選択しています。
.../06-xorg-sgml-doctools_1%3a1.11-1_all.deb を展開する準備をしています ...
xorg-sgml-doctools (1:1.11-1) を展開しています...
以前に未選択のパッケージ x11proto-dev を選択しています。
.../07-x11proto-dev_2018.4-4_all.deb を展開する準備をしています ...
x11proto-dev (2018.4-4) を展開しています...
以前に未選択のパッケージ x11proto-core-dev を選択しています。
.../08-x11proto-core-dev_2018.4-4_all.deb を展開する準備をしています ...
x11proto-core-dev (2018.4-4) を展開しています...
以前に未選択のパッケージ libice-dev:armhf を選択しています。
.../09-libice-dev_2%3a1.0.9-2_armhf.deb を展開する準備をしています ...
libice-dev:armhf (2:1.0.9-2) を展開しています...
以前に未選択のパッケージ libpthread-stubs0-dev:armhf を選択しています。
.../10-libpthread-stubs0-dev_0.4-1_armhf.deb を展開する準備をしています ...
libpthread-stubs0-dev:armhf (0.4-1) を展開しています...
以前に未選択のパッケージ libsm-dev:armhf を選択しています。
.../11-libsm-dev_2%3a1.2.3-1_armhf.deb を展開する準備をしています ...
libsm-dev:armhf (2:1.2.3-1) を展開しています...
以前に未選択のパッケージ libxau-dev:armhf を選択しています。
.../12-libxau-dev_1%3a1.0.8-1+b2_armhf.deb を展開する準備をしています ...
libxau-dev:armhf (1:1.0.8-1+b2) を展開しています...
以前に未選択のパッケージ libxdmcp-dev:armhf を選択しています。
.../13-libxdmcp-dev_1%3a1.1.2-3_armhf.deb を展開する準備をしています ...
libxdmcp-dev:armhf (1:1.1.2-3) を展開しています...
以前に未選択のパッケージ xtrans-dev を選択しています。
.../14-xtrans-dev_1.3.5-1_all.deb を展開する準備をしています ...
xtrans-dev (1.3.5-1) を展開しています...
以前に未選択のパッケージ libxcb1-dev:armhf を選択しています。
.../15-libxcb1-dev_1.13.1-2_armhf.deb を展開する準備をしています ...
libxcb1-dev:armhf (1.13.1-2) を展開しています...
以前に未選択のパッケージ libx11-dev:armhf を選択しています。
.../16-libx11-dev_2%3a1.6.7-1+deb10u2_armhf.deb を展開する準備をしています ...
libx11-dev:armhf (2:1.6.7-1+deb10u2) を展開しています...
以前に未選択のパッケージ libxt-dev:armhf を選択しています。
.../17-libxt-dev_1%3a1.1.5-1+b3_armhf.deb を展開する準備をしています ...
libxt-dev:armhf (1:1.1.5-1+b3) を展開しています...
以前に未選択のパッケージ openjdk-8-jre:armhf を選択しています。
.../18-openjdk-8-jre_8u212-b01-1+rpi1_armhf.deb を展開する準備をしています ...
openjdk-8-jre:armhf (8u212-b01-1+rpi1) を展開しています...
以前に未選択のパッケージ openjdk-8-jdk-headless:armhf を選択しています。
.../19-openjdk-8-jdk-headless_8u212-b01-1+rpi1_armhf.deb を展開する準備をしています ...
openjdk-8-jdk-headless:armhf (8u212-b01-1+rpi1) を展開しています...
以前に未選択のパッケージ openjdk-8-jdk:armhf を選択しています。
.../20-openjdk-8-jdk_8u212-b01-1+rpi1_armhf.deb を展開する準備をしています ...
openjdk-8-jdk:armhf (8u212-b01-1+rpi1) を展開しています...
java-common (0.71) を設定しています ...
libpthread-stubs0-dev:armhf (0.4-1) を設定しています ...
xtrans-dev (1.3.5-1) を設定しています ...
fonts-dejavu-extra (2.37-1) を設定しています ...
xorg-sgml-doctools (1:1.11-1) を設定しています ...
libatk-wrapper-java (0.33.3-22+deb10u1) を設定しています ...
libatk-wrapper-java-jni:armhf (0.33.3-22+deb10u1) を設定しています ...
openjdk-8-jre-headless:armhf (8u212-b01-1+rpi1) を設定しています ...
update-alternatives: /usr/bin/rmid (rmid) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/rmid を使います
update-alternatives: /usr/bin/clhsdb (clhsdb) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/clhsdb を使います
update-alternatives: /usr/bin/java (java) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java を使います
update-alternatives: /usr/bin/keytool (keytool) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/keytool を使います
update-alternatives: /usr/bin/hsdb (hsdb) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/hsdb を使います
update-alternatives: /usr/bin/jjs (jjs) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/jjs を使います
update-alternatives: /usr/bin/pack200 (pack200) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/pack200 を使います
update-alternatives: /usr/bin/rmiregistry (rmiregistry) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/rmiregistry を使います
update-alternatives: /usr/bin/unpack200 (unpack200) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/unpack200 を使います
update-alternatives: /usr/bin/orbd (orbd) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/orbd を使います
update-alternatives: /usr/bin/servertool (servertool) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/servertool を使います
update-alternatives: /usr/bin/tnameserv (tnameserv) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/tnameserv を使います
update-alternatives: /usr/bin/jexec (jexec) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/jexec を使います
ca-certificates-java (20190405) を設定しています ...
head: '/etc/ssl/certs/java/cacerts' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません
Adding debian:DigiCert_Global_Root_CA.pem
Adding debian:thawte_Primary_Root_CA_-_G3.pem
Adding debian:Entrust_Root_Certification_Authority.pem
Adding debian:DigiCert_Assured_ID_Root_G3.pem
Adding debian:SSL.com_Root_Certification_Authority_ECC.pem
Adding debian:Izenpe.com.pem
Adding debian:GeoTrust_Universal_CA.pem
Adding debian:COMODO_RSA_Certification_Authority.pem
Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
Adding debian:ACCVRAIZ1.pem
Adding debian:USERTrust_ECC_Certification_Authority.pem
Adding debian:QuoVadis_Root_CA_2.pem
Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem
Adding debian:Buypass_Class_2_Root_CA.pem
Adding debian:DigiCert_Global_Root_G2.pem
Adding debian:emSign_ECC_Root_CA_-_G3.pem
Adding debian:QuoVadis_Root_CA_2_G3.pem
Adding debian:Entrust_Root_Certification_Authority_-_G4.pem
Adding debian:SZAFIR_ROOT_CA2.pem
Adding debian:GeoTrust_Primary_Certification_Authority.pem
Adding debian:T-TeleSec_GlobalRoot_Class_3.pem
Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem
Adding debian:DigiCert_Trusted_Root_G4.pem
Adding debian:Security_Communication_RootCA2.pem
Adding debian:LuxTrust_Global_Root_2.pem
Adding debian:Go_Daddy_Class_2_CA.pem
Adding debian:T-TeleSec_GlobalRoot_Class_2.pem
Adding debian:QuoVadis_Root_CA.pem
Adding debian:GTS_Root_R3.pem
Adding debian:Chambers_of_Commerce_Root_-_2008.pem
Adding debian:IdenTrust_Commercial_Root_CA_1.pem
Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
Adding debian:Certum_Trusted_Network_CA_2.pem
Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
Adding debian:AffirmTrust_Commercial.pem
Adding debian:GlobalSign_Root_CA.pem
Adding debian:TrustCor_ECA-1.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem
Adding debian:Certum_Trusted_Network_CA.pem
Adding debian:E-Tugra_Certification_Authority.pem
Adding debian:Global_Chambersign_Root_-_2008.pem
Adding debian:Certigna_Root_CA.pem
Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem
Adding debian:GlobalSign_Root_CA_-_R6.pem
Adding debian:GeoTrust_Primary_Certification_Authority_-_G2.pem
Adding debian:TrustCor_RootCert_CA-2.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
Adding debian:GeoTrust_Primary_Certification_Authority_-_G3.pem
Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
Adding debian:DigiCert_Assured_ID_Root_CA.pem
Adding debian:Sonera_Class_2_Root_CA.pem
Adding debian:AffirmTrust_Premium_ECC.pem
Adding debian:SecureSign_RootCA11.pem
Adding debian:emSign_Root_CA_-_C1.pem
Adding debian:ssl-cert-snakeoil.pem
Adding debian:DST_Root_CA_X3.pem
Adding debian:Atos_TrustedRoot_2011.pem
Adding debian:Network_Solutions_Certificate_Authority.pem
Adding debian:VeriSign_Universal_Root_Certification_Authority.pem
Adding debian:Comodo_AAA_Services_root.pem
Adding debian:Staat_der_Nederlanden_EV_Root_CA.pem
Adding debian:ePKI_Root_Certification_Authority.pem
Adding debian:TrustCor_RootCert_CA-1.pem
Adding debian:EC-ACC.pem
Adding debian:Trustis_FPS_Root_CA.pem
Adding debian:GlobalSign_Root_CA_-_R3.pem
Adding debian:Baltimore_CyberTrust_Root.pem
Adding debian:CFCA_EV_ROOT.pem
Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem
Adding debian:emSign_ECC_Root_CA_-_C3.pem
Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem
Adding debian:Staat_der_Nederlanden_Root_CA_-_G3.pem
Adding debian:COMODO_Certification_Authority.pem
Adding debian:Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
Adding debian:Certigna.pem
Adding debian:CA_Disig_Root_R2.pem
Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
Adding debian:thawte_Primary_Root_CA.pem
Adding debian:TeliaSonera_Root_CA_v1.pem
Adding debian:Amazon_Root_CA_2.pem
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:GlobalSign_Root_CA_-_R2.pem
Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem
Adding debian:UCA_Extended_Validation_Root.pem
Adding debian:AC_RAIZ_FNMT-RCM.pem
Adding debian:Security_Communication_Root_CA.pem
Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
Adding debian:TWCA_Root_Certification_Authority.pem
Adding debian:SecureTrust_CA.pem
Adding debian:AffirmTrust_Networking.pem
Adding debian:VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
Adding debian:thawte_Primary_Root_CA_-_G2.pem
Adding debian:emSign_Root_CA_-_G1.pem
Adding debian:Amazon_Root_CA_1.pem
Adding debian:DigiCert_Global_Root_G3.pem
Adding debian:certSIGN_ROOT_CA.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
Adding debian:GDCA_TrustAUTH_R5_ROOT.pem
Adding debian:EE_Certification_Centre_Root_CA.pem
Adding debian:TWCA_Global_Root_CA.pem
Adding debian:Actalis_Authentication_Root_CA.pem
Adding debian:Entrust_Root_Certification_Authority_-_G2.pem
Adding debian:QuoVadis_Root_CA_1_G3.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem
Adding debian:Taiwan_GRCA.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem
Adding debian:Secure_Global_CA.pem
Adding debian:GeoTrust_Global_CA.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem
Adding debian:ISRG_Root_X1.pem
Adding debian:Staat_der_Nederlanden_Root_CA_-_G2.pem
Adding debian:GTS_Root_R1.pem
Adding debian:GeoTrust_Universal_CA_2.pem
Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
Adding debian:SSL.com_Root_Certification_Authority_RSA.pem
Adding debian:USERTrust_RSA_Certification_Authority.pem
Adding debian:Starfield_Class_2_CA.pem
Adding debian:QuoVadis_Root_CA_3.pem
Adding debian:Amazon_Root_CA_3.pem
Adding debian:SwissSign_Silver_CA_-_G2.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
Adding debian:AffirmTrust_Premium.pem
Adding debian:SwissSign_Gold_CA_-_G2.pem
Adding debian:Hongkong_Post_Root_CA_1.pem
Adding debian:GTS_Root_R4.pem
Adding debian:UCA_Global_G2_Root.pem
Adding debian:OISTE_WISeKey_Global_Root_GA_CA.pem
Adding debian:QuoVadis_Root_CA_3_G3.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
Adding debian:Amazon_Root_CA_4.pem
Adding debian:COMODO_ECC_Certification_Authority.pem
Adding debian:GTS_Root_R2.pem
Adding debian:Cybertrust_Global_Root.pem
Adding debian:XRamp_Global_CA_Root.pem
Adding debian:Hongkong_Post_Root_CA_3.pem
Adding debian:Buypass_Class_3_Root_CA.pem
done.
openjdk-8-jre:armhf (8u212-b01-1+rpi1) を設定しています ...
update-alternatives: /usr/bin/policytool (policytool) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/policytool を使います
openjdk-8-jdk-headless:armhf (8u212-b01-1+rpi1) を設定しています ...
update-alternatives: /usr/bin/jdeps (jdeps) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jdeps を使います
update-alternatives: /usr/bin/wsimport (wsimport) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/wsimport を使います
update-alternatives: /usr/bin/jinfo (jinfo) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jinfo を使います
update-alternatives: /usr/bin/jsadebugd (jsadebugd) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jsadebugd を使います
update-alternatives: /usr/bin/native2ascii (native2ascii) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/native2ascii を使います
update-alternatives: /usr/bin/jstat (jstat) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jstat を使います
update-alternatives: /usr/bin/javac (javac) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/javac を使います
update-alternatives: /usr/bin/javah (javah) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/javah を使います
update-alternatives: /usr/bin/idlj (idlj) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/idlj を使います
update-alternatives: /usr/bin/jstack (jstack) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jstack を使います
update-alternatives: /usr/bin/jrunscript (jrunscript) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jrunscript を使います
update-alternatives: /usr/bin/javadoc (javadoc) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/javadoc を使います
update-alternatives: /usr/bin/jhat (jhat) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jhat を使います
update-alternatives: /usr/bin/javap (javap) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/javap を使います
update-alternatives: /usr/bin/jar (jar) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jar を使います
update-alternatives: /usr/bin/xjc (xjc) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/xjc を使います
update-alternatives: /usr/bin/schemagen (schemagen) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/schemagen を使います
update-alternatives: /usr/bin/jps (jps) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jps を使います
update-alternatives: /usr/bin/extcheck (extcheck) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/extcheck を使います
update-alternatives: /usr/bin/rmic (rmic) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/rmic を使います
update-alternatives: /usr/bin/jstatd (jstatd) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jstatd を使います
update-alternatives: /usr/bin/jmap (jmap) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jmap を使います
update-alternatives: /usr/bin/jdb (jdb) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jdb を使います
update-alternatives: /usr/bin/serialver (serialver) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/serialver を使います
update-alternatives: /usr/bin/wsgen (wsgen) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/wsgen を使います
update-alternatives: /usr/bin/jcmd (jcmd) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jcmd を使います
update-alternatives: /usr/bin/jarsigner (jarsigner) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jarsigner を使います
openjdk-8-jdk:armhf (8u212-b01-1+rpi1) を設定しています ...
update-alternatives: /usr/bin/appletviewer (appletviewer) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/appletviewer を使います
update-alternatives: /usr/bin/jconsole (jconsole) を提供するために自動モードで /usr/lib/jvm/java-8-openjdk-armhf/bin/jconsole を使います
fontconfig (2.13.1-2) のトリガを処理しています ...
desktop-file-utils (0.23-4) のトリガを処理しています ...
mime-support (3.62) のトリガを処理しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
gnome-menus (3.31.4-3) のトリガを処理しています ...
libc-bin (2.28-10+rpt2+rpi1) のトリガを処理しています ...
man-db (2.8.5-2) のトリガを処理しています ...
ca-certificates (20200601~deb10u2) のトリガを処理しています ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
sgml-base (1.29) のトリガを処理しています ...
x11proto-dev (2018.4-4) を設定しています ...
libxau-dev:armhf (1:1.0.8-1+b2) を設定しています ...
libice-dev:armhf (2:1.0.9-2) を設定しています ...
libsm-dev:armhf (2:1.2.3-1) を設定しています ...
libxdmcp-dev:armhf (1:1.1.2-3) を設定しています ...
x11proto-core-dev (2018.4-4) を設定しています ...
libxcb1-dev:armhf (1.13.1-2) を設定しています ...
libx11-dev:armhf (2:1.6.7-1+deb10u2) を設定しています ...
libxt-dev:armhf (1:1.1.5-1+b3) を設定しています ...
```

</div></details>

インストールしたJavaのバージョンを確認

```shell-session:
pi@raspberrypi:~ $ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)
OpenJDK Client VM (build 25.212-b01, mixed mode)
```

# Metabaseのインストール

Metabaseを公式サイトからダウンロードします。

```shell-session:
pi@raspberrypi:~ $ mkdir metabase
pi@raspberrypi:~ $ cd metabase
pi@raspberrypi:~/metabase $ wget https://downloads.metabase.com/v0.41.0/metabase.jar
--2021-10-17 10:19:27--  https://downloads.metabase.com/v0.41.0/metabase.jar
downloads.metabase.com (downloads.metabase.com) をDNSに問いあわせています... 2600:9000:20e4:1800:3:f76:6d00:93a1, 2600:9000:20e4:4e00:3:f76:6d00:93a1, 2600:9000:20e4:c400:3:f76:6d00:93a1, ...
downloads.metabase.com (downloads.metabase.com)|2600:9000:20e4:1800:3:f76:6d00:93a1|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 273601461 (261M) [application/java-archive]
`metabase.jar' に保存中

metabase.jar                            100%[=============================================================================>] 260.93M  5.55MB/s 時間 48s      

2021-10-17 10:20:16 (5.42 MB/s) - `metabase.jar' へ保存完了 [273601461/273601461]

pi@raspberrypi:~/metabase $ ls
metabase.jar
```

## Metabaseの起動スクリプトを作る

```shell-session:
pi@raspberrypi:~/metabase $ vi run.sh
pi@raspberrypi:~/metabase $ chmod a+x run.sh 
```

```bash:run.h
#!/bin/sh
java -Xmx500m -jar /home/pi/metabase/metabase.jar
```

## Metabaseをサービス化する。

```shell-session:
pi@raspberrypi:~/metabase $ sudo vi /etc/systemd/system/metabase.service
```

中身は、

```bash:metabase.service
Description = metabase

[Service]
WorkingDirectory = /home/pi/metabase
ExecStart = /home/pi/metabase/run.sh
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target
```

サービスを有効化

```shell-session:
pi@raspberrypi:~/metabase $ systemctl list-unit-files --type=service | grep metabase
metabase.service                       disabled 
Password: 
pi@raspberrypi:~/metabase $ sudo systemctl enable metabase
Created symlink /etc/systemd/system/multi-user.target.wants/metabase.service → /etc/systemd/system/metabase.service.
```

再起動して、起動確認。

```shell-session:
pi@raspberrypi:~ $  systemctl status metabase
● metabase.service - metabase
   Loaded: loaded (/etc/systemd/system/metabase.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-10-17 10:53:59 JST; 1min 21s ago
 Main PID: 441 (run.sh)
    Tasks: 16 (limit: 4915)
   CGroup: /system.slice/metabase.service
           ├─441 /bin/sh /home/pi/metabase/run.sh
           └─467 java -Xmx500m -jar /home/pi/metabase/metabase.jar

10月 17 10:54:11 raspberrypi run.sh[441]: 2021-10-17 10:54:11,516 INFO metabase.util :: Maximum memory available to JVM: 483.4 MB
10月 17 10:55:02 raspberrypi run.sh[441]: 2021-10-17 10:55:02,502 INFO util.encryption :: Saved credentials encryption is DISABLED for this Metabase instance.
10月 17 10:55:02 raspberrypi run.sh[441]:  For more information, see https://metabase.com/docs/latest/operations-guide/encrypting-database-details-at-rest.htm
10月 17 10:55:12 raspberrypi run.sh[441]: 2021-10-17 10:55:12,741 INFO driver.impl :: Registered abstract driver :sql  🚚
10月 17 10:55:12 raspberrypi run.sh[441]:  ↙ Load driver :sql took 2.6 s
10月 17 10:55:12 raspberrypi run.sh[441]: 2021-10-17 10:55:12,788 INFO driver.impl :: Registered abstract driver :sql-jdbc (parents: [:sql]) 🚚
10月 17 10:55:12 raspberrypi run.sh[441]: Load driver :sql-jdbc took 2.6 s
10月 17 10:55:12 raspberrypi run.sh[441]: 2021-10-17 10:55:12,802 INFO driver.impl :: Registered driver :h2 (parents: [:sql-jdbc]) 🚚
10月 17 10:55:12 raspberrypi run.sh[441]: 2021-10-17 10:55:12,875 INFO driver.impl :: Registered driver :mysql (parents: [:sql-jdbc]) 🚚
10月 17 10:55:16 raspberrypi run.sh[441]: 2021-10-17 10:55:16,059 INFO driver.impl :: Registered driver :postgres (parents: [:sql-jdbc]) 🚚
pi@raspberrypi:~ $ ps aux | grep metabase
root       441  0.0  0.0   1940   360 ?        Ss   10:54   0:00 /bin/sh /home/pi/metabase/run.sh
root       467 97.8  9.9 748220 392016 ?       Sl   10:54   1:18 java -Xmx500m -jar /home/pi/metabase/metabase.jar
pi         910  0.0  0.0   4048   516 pts/0    S+   10:55   0:00 grep --color=auto metabase
```

# Metabaseを使う

Metabaseは、デフォルトで3000番ポートでアクセスしますので、ラズパイの場合は以下のURLでアクセスできると思います。
http://raspberrypi.local:3000/
※もしアクセスできなかった場合は、IPアドレスを直書きするとアクセスできることが多いです。

## 最初のページ

Metabaseが正常に起動して、アクセスできると以下のような画面になります。

|![スクリーンショット 2021-10-17 12.34.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/6a009357-8912-d7c7-5b60-5fdb91f5df47.png)|
|:-:|

## 言語設定

この画面で、使用する言語を選択します。
もちろん、日本を指定して次に進みました。

|![スクリーンショット 2021-10-17 12.34.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/e748e603-415d-d2e2-56c8-76b2012863ec.png)|
|:-:|

## ユーザ設定

* 姓
* 名
* メールアドレス
* パスワード
* チーム名（今回は適当に“Metabase”にしました。）

を入力して次へ進みます。

|![スクリーンショット 2021-10-17 12.35.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/4992dc2a-2cc1-b205-9d2e-d70ee71eebf6.png)|
|:-:|

## データを追加します。

|項目|設定内容|
|---|---|
|データベースのタイプ|データベースの種類（今回はPostgreSQLを選択）|
|名前|データベースの名前（今回は、OmronSensorにしました）|
|ホスト|ホスト名（PostgreSQLを動かしているラズパイとMetabaseを動かしているラズパイが同じなのでlocalhostを記述）
|ポート|PostgreSQLにアクセスするポート番号（今回は、PostgreSQLのデフォルトのまま使っているので5432を記述）|
|データベース名|PostgreSQLで作成したデータベースの名前を書きます。（今回はsample_dbとしています）|
|ユーザ名|データベースにアクセスするユーザ名となります。（今回はpgadminにしています）|
|パスワード|上記のユーザのパスワードを指定します。|

今回は、ローカルで使うので上記以下のセキュア設定などはデフォルトのままにしています。
全て設定したら次へ進みます。

|![スクリーンショット 2021-10-17 12.37.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/afbef5db-2112-a0e6-ea19-0c71ef02708e.png)|
|:-:|

|![スクリーンショット 2021-10-17 12.38.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/f1a46264-9d0a-0b50-41f8-14595101816c.png)|
|:-:|

|![スクリーンショット 2021-10-17 12.38.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2f54884b-0dd1-0823-e778-dd625d66054a.png)|
|:-:|

## データ使用の優先度

今回はoffで。

|![スクリーンショット 2021-10-17 12.38.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/f83a3c60-4b2d-f887-4db3-5f1b898de1d3.png)|
|:-:|

## 使用開始！

「Metabaseを使い始める」ボタンを押下してMetabaseを使い始めます。
設定したPostgreSQLのsample_dbにアクセスできていると、sample_dbの中のテーブルが一覧で表示されます。

|![スクリーンショット 2021-10-17 12.38.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/06d6d3cc-6cc5-3d92-aa0f-9ddd93d8fe7c.png)|
|:-:|

今回は、データに基づく自動探査は試さないので、下の方にある「OmronSensor」を選択します。
※「OmronSensor」は設定の時に付けた名前です。

|![スクリーンショット 2021-10-17 12.39.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/ff073239-88c5-1b5d-1f49-d0c6264d902c.png)|
|:-:|

|![スクリーンショット 2021-10-17 12.39.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/7b36544f-b2e9-4c0e-6270-dd4d39fb14cb.png)|
|:-:|

Sample、T Omron Sensor、T Testが表示されていますので、2JCIE-BUが取得したデータが入っているT Omron Sensorを選択します。

|![スクリーンショット 2021-10-17 12.39.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2f0b8595-e761-fa85-42af-a4274f815dc7.png)|
|:-:|

## データの一覧

選択したT Omron Sensor(PostgreSQLの中では、t_omron_sensorというテーブル名になっています）に入っているデータの一覧が表示されます。

|![スクリーンショット 2021-10-17 12.50.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/58984bc6-9c22-a0cd-b68f-b825b3e0f13f.png)|
|:-:|

## ダッシュボードの作成

右上の「＋」を押して「新しいダッシュボード」を選択します。

|![スクリーンショット 2021-10-17 12.50.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/78b8aa18-e458-31b2-56f2-ad4fc9c325f4.png)|
|:-:|

新しいダッシュボードの情報の入力を求められるので、とりあえず名前だけを入力します。
今回は、“オムロン環境センサー”としました。

![スクリーンショット 2021-10-17 17.22.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/5f095a68-210e-7df2-1d3a-da3b3053182e.png)

空のダッシュボードができました。

|![スクリーンショット 2021-10-17 12.51.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/0e866149-f95c-0c36-9f94-a5956f60dd64.png)|
|:-:|

## グラフを作る。

右上の「照会する」を押下して、表示された簡単な質問、カスタム質問、ネイティブクエリの３つの中から「簡単な質問」を選択する。

|![スクリーンショット 2021-10-17 12.51.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/4e6ff067-cdf1-ae49-4f3f-346538c27e24.png)|
|:-:|

データを選ぶでは、“OmronSensor”、”T Omron Sensor”の順で選択する。

|![スクリーンショット 2021-10-17 12.52.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/49424388-a5cd-98ae-3111-48e1737f1f75.png)|
|:-:|

|![スクリーンショット 2021-10-17 12.52.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/ed5e9a4c-1114-42fb-dea2-8cfe73e5f3c5.png)|
|:-:|

選択したテーブルに登録されているデータが一覧で表示されているので、下の方にある「ビジュアライゼーション」を押下する。

|![スクリーンショット 2021-10-17 12.53.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/6f8429f3-3fe7-9fae-8c48-8c2576ec8964.png)|
|:-:|

温度のグラフを作成するので可視化方法を選択するの左上にある「線」押下して、下の方にある「完了」を押下する。

|![スクリーンショット 2021-10-17 12.53.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/89bd6c7a-b667-bd59-231b-563d1177fcec.png)|
|:-:|

X軸に日時、Y軸に温度のデータのカラム名をそれぞれ選択して、「完了」を押下する。

|![スクリーンショット 2021-10-17 12.54.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/c47d05d4-36f4-1f68-722e-d3986aa03a42.png)|
|:-:|

もし、温度と湿度を一緒に表示したい場合は、Y軸のデータ項目を追加します。
今回は、同時に表示せずに温度のみとしました。

|![スクリーンショット 2021-10-17 12.54.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/b8ae9597-ae91-069f-370e-ea357c6fd490.png)|
|:-:|

完了ボタン押下後にグラフが作成されます。
グラフの右上の方にある「保存」ボタンを押下します。

|![スクリーンショット 2021-10-17 12.56.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/34e5e7b5-906b-52d8-854a-df0ebf6b7c20.png)|
|:-:|

保存されると、ダッシュボードに追加するか聞いてくるので「お願いします！」を選択します。

|![スクリーンショット 2021-10-17 12.56.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/a6f93927-a509-be65-c132-05633e3cdc0e.png)|
|:-:|

追加するダッシュボードを聞かれるので、上で作成したダッシュボードの「オムロン環境センサー」を選択します。

|![スクリーンショット 2021-10-17 12.56.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2ad884e3-93e5-119f-31c1-a7bd7e781788.png)|
|:-:|

ダッシュボードに追加されると以下のようにダッシュボードにグラフが表示されます。

|![スクリーンショット 2021-10-17 12.56.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/cfd3e47b-601b-cabe-c379-09e4d42108e6.png)|
|:-:|

温度以外の値も同じようにダッシュボードに追加していくと以下のような画面になります。

|![スクリーンショット 2021-10-17 13.18.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/e43583fd-c0e1-022b-aedb-8aedbe171fc2.png)|
|:-:|

## データの自動更新

Metabaseのダッシュボードは、デフォルトでは自動更新されませんので、ダッシュボードの右上の方にある時計のアイコンをクリックします。

|![スクリーンショット 2021-10-17 17.45.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/1a272c1c-4291-2983-1814-0692726b16f7.png)|
|:-:|

自動更新の間隔が選べますので、自分の環境にあった間隔で自動更新すると良いと思います。

|![スクリーンショット 2021-10-17 17.44.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/c3a93b4a-1387-0a6b-b026-ae9a5dce9015.png)|
|:-:|