Linux(Raspberry pi/Ubuntu)での共有フォルダ(Samba)を使う

共有フォルダはネットワークで利用するとなると必須の機能ですよね。
Raspberry pi も Ubuntu と同じようにフォルダを共有できるかと思って調べたけど見当たらないので両方の共有方法をまとめておきます。


1.Ubuntuのフォルダ共有

ファイルマネージャーで共有したいフォルダを選択してマウス右クリックの「プロパティ」メニューをクリックします。
「このフォルダを共有する」にチェックをつけます。

共有サービスがインストールされていないとメッセージが表示されます。
「サービスのインストール」ボタンをクリックします。

つづいてメッセージが表示されると「インストール」ボタンをクリックします。

ようやく「このフォルダを共有する」にチェックがつきます。
任意の項目を設定したら「共有を作成」ボタンをクリックしてフォルダの共有は完了します。

こんな感じで他のパソコンから見えて使えるようになります。


2.RaspberryをSambaでフォルダ共有

Sambaをコマンドでインストールします。

コマンド:sudo apt-install samba

途中で続行しますか?と聞かれるので「Y」を入力してENTERキーを押します。

DHCPサーバーを使用していますが「いいえ」を選択します。
(市販の無線ルーターを利用してデフォルトのDHCPを利用しているところが一般的かと思います。うちも同じ環境です。)

こんな感じでよくわからない状態で終了します。

インストールして作成された smb.comf ファイルを編集して共有するフォルダを指定します。
指定したらファイルを保存して画面を閉じます。

編集するコマンド:sudo mousepad /etc/samba/smb.conf

・「[PicTures]」には共有名を指定します。
・「path = 」に共有するパスを指定します。
・他は見ての通り参照・更新権限を認証なしで公開する設定です。


サービスを再起動して設定を反映させます。

こんな感じで他のパソコンから見えて使えるようになります。

Raspberry pi にOSをWindowsからセットアップ

raspberry pi は SDカードにOSをインストールして使用します。
インストールがだいぶ簡単になってるのはいいんですが手順がかわると戸惑うのでまとめておきます。



1.ダウンロード

SDカードにイメージを書き込むプログラムをダウンロードします。

「出典元」Raspberry Pi Foundation Downloads 

「Raspberry Pi Imager for Windows」リンクよりダウンロードします。


2.SDカードにイメージ書込み

ダウンロードしたimager.exeを実行します。
「Install」ボタンをクリックします。

「Finish」ボタンをクリックします。

「CHOOSE OS」をクリックします。

ここでは一番上のOSを選択します。

パソコンにSDカードを差し込んで、「SHOOSE SD CARD」をクリックします。

「WRITE」をクリックします。

SDカードを取り外して画面を閉じます。


3.Raspberry pi で起動と初期設定

Raspberry pi にSDカードを差し込んで電源を入れます。(パワーONリセットなので電源スイッチはありません。)
「Contry」「Language」「Timezone」を選択して「Next」ボタンをクリックします。

パスワードを入力して「Next」ボタンをクリックします。

「Next」ボタンをクリックします。

ここではネットワークへの接続をWiFiにします。
対象のアクセスポイントを選択して「Next」ボタンをクリックします。

アクセスポイントのパスワードを入力して「Next」ボタンをクリックします。

OS最新に更新してほしいので「Next」ボタンをクリックします。

「Restart」ボタンをクリックします。
これでひとまず、完了です。

WordPress投稿記事の無駄なhタグを削除

WordPressの投稿記事で使用するHTMLのタグ h1、h2・・・は当然、記事の内容に合わせて作成します。
投稿記事のページのソースを見てみると余計な h2、h6 タグがWordPressのテーマのプログラムから出力されているのに気が付きました。
投稿記事以外で使われてほしくないし、SEO的にもよくないので消します。
※「Nifty Lite」テーマや元の「Specia」テーマのプログラムを直接修正します。
プログラムの修正は、まず管理者でログインして「外観」の「テーマエディタ」をクリックします。
テーマエディタで使用しているプログラムが表示されるので対象プログラムを選択して修正します。


1.サイドバーの「最近の投稿」で使ってるh3タグを削除

いきなりh3からですか!って思いました。
投稿記事を書く人以外が見出しや段落のhタグを出力するのは理解できないので消します。

修正プログラム:Specia: sidebar.php (inc/sidebar/sidebar.php)

無難に「h3」を「p」タグに置き換えます。






2.表示ページタイトルの投稿記事名にあるh2タグを削除

同じ情報を2か所に表示するのは無駄なのでついでにまるごと消すことにします。
いるのであればタグのみ削除すればOKです。

修正プログラム:Nifty Lite: specia-breadcrumb.php (sections/specia-breadcrumb.php)

コメントタグで出力しないようにします。
72行目(修正前:col-md-6 col-xs-12 col-sm-6)はbootstrapグリッドシステムの列がずれないよう調整しています。


3.投稿記事名表示のタグh2をh1に修正

titleとh2タグに同じ投稿記事名が使われてるのですがなぜかh1はありません。
理解できないし意味不明なのでh1に書き換えます。
※titleはページを外から見た人向けに、 h1はサイト閲覧している人向けで使い分けます。
 同じでなくてもよいようなのですがシンプルに同じにしています。


修正プログラム:Specia: content-page.php (template-parts/content-page.php)

h2タグの記述をh1に修正します。


4.投稿日のh6タグを削除

投稿日になぜかh6タグがついています。
しかも見た目が気に入らないので消します。

修正プログラム:Specia: content-page.php (template-parts/content-page.php)

12行目と17行目のコメントタグで無効にします。

Oacle Express Edition 18c でIPアドレス変更(DHCP)に対応させる

Oracleの勉強用としてWindows10にインストールして使う場合はほとんどDHCPの環境になると思います。
DHCPでも割り当てられるIPがかわることはあまりないかもしれませんが変われば動かなくなるのでとりあえず動作する手順をまとめておきます。
※Oracleを運用環境で利用する手順ではありませんし正しい手順でないことを理解頂き自己責任で参考にしてください。

IPアドレスが記載されている以下のファイルをホスト名に変更します。

・listener.ora
・tnsnames.ora

インストール時のIPアドレスとホスト名です。
インストール後にIPアドレスを「192.168.0.11」から「192.168.0.19」に変えてsqlplusで接続できるか確認します。


インストール後の「listener.ora」の状態です。
※ファイルの場所は1行目に記載されています。

# listener.ora Network Configuration File: C:\app\own\product\18.0.0\dbhomeXE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

DEFAULT_SERVICE_LISTENER = XE

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\own\product\18.0.0\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\own\product\18.0.0\dbhomeXE\bin\oraclr18.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

インストール後の「tnsnames.ora」の状態です。
※ファイルの場所は1行目に記載されています。

# tnsnames.ora Network Configuration File: C:\app\own\product\18.0.0\dbhomeXE\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

LISTENER_XE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

「listener.ora」と「tnsnames.ora」ファイルのIPアドレス記載箇所をホスト名に修正して保存します。
DBまたはOSを再起動します。
変更後のIPアドレスでも接続できるのでIPが変更されても接続できる状態と確認できます。

Oracle Express Edition の基本的な使い方

コンテナデータベースは利用しないので正直使い方がぴんときません。
勉強のためにインストール直後からDOSでOracle Express Edition(Oracle XE)を利用するための基本的なコマンドのまとめになります。

参照:Oracle Express EditionをWindows10にインストール


1.プラガブルデータベース(XEPDB1)への接続切替

ひとまず管理者(SYS)で入ってプラガブルデータベース(XEPDB1)のセッションに変更します。

管理者ログイン:sqlplus sys/{インストーラで入力したパスワード}@XE as sysdba
※接続文字列「XE」はインストール時に作成されます。
※パスワード忘れた場合、OS認証を利用して「sqlplus / as sysdba」でも入れます。

セッション変更コマンド:alter session set container = XEPDB1;



2.XEPDB1でユーザーの作成

ここでのユーザーの作成は最低限のユーザーIDとパスワードのみとします。(表領域の指定などは省略)
勉強用として権限は制限なしでの利用を前提として DBA, resource, connect 権限を付与しておきます。

ユーザー作成コマンド:create user {作成するユーザーID} identified by {作成するユーザーIDで使用するパスワード}

権限付与するコマンド:grant {付与する権限名} to {権限付与されるユーザーID};



3.XEPDB1のユーザーでログイン

IPv4アドレスとホスト名でのログインを説明します。
IPアドレスは、「ipconfig」コマンドで表示される「IPv4アドレス」の値です。
ホスト名は、「hostname」コマンドで表示される値です。

IPv4アドレスでログインします。

ログインコマンド:sqlplus {ユーザーID}/{パスワード}@{IPアドレス}:{ポート番号}/{プラガブルDB名}
※インストールの説明でも記載していますが「localhost」は使用すると「リスナーがありません」とエラーになります。


ホスト名でログインします。
ログイン後のとおりテーブル作成やレコードの追加など利用可能になります。

ログインコマンド:sqlplus {ユーザーID}/{パスワード}@//{ホスト名}:{ポート番号}/{プラガブルDB名}


Oracle Express EditionをWindows10にインストール

Oracle(オラクル)無償版 Express Editionの18cをWindows10にインストールする手順をまとめます。

※インストーラをダウンロードするにはオラクルのアカウントを作成(無料)する必要があります。
※64bit OSが対象です。
※ネットワークがDHCPを利用する場合、インストール後にIPアドレスが変更されるとリスナーが機能しなくなります。
IP固定またはDHCPに対応した作業が必要になります。


プラガブルデータベースへの接続までの基本的な使い方は以下を参照してください。
参照:Oracle Express Edition の基本的な使い方

DHCP環境で勉強用として利用したいときは以下を参考にしてください。
参照:Oacle Express Edition 18c でIPアドレス変更(DHCP)に対応させる


1.Express Editionの制限

Oracleのサイトに記載される制限の内容は以下の通りです。

・CPUは2コアまで自動的に制限
・論理環境(VM、コンテナ、物理ホスト)ごとに1つのインストールのみに制限
・ユーザー・データの最大量は、12GBまで利用可能
・RAMの最大量は、2GBまでに制限

「出典元」Oracle Database XE インストレーション・ガイドfor Microsoft Windows 4 ライセンス制限


2.インストーラのダウンロード

Oracleのサイトよりインストーラをダウンロードします。
ダウンロードするには「Oracle Database 18c Express Edition for Windows x64 Download」のリンクをクリックします。

「出典元」Oracle Database Express Edition (XE) Release 18.4.0.0.0 (18c)


オラクルのアカウントを入力して「サインイン」をクリックするとインストーラがダウンロードされます。


3.インストール

ダウンロードしたZIPを解凍して「setup.exe」を実行します。
「次へ」ボタンをクリックします。

「次へ」ボタンをクリックします。

「次へ」ボタンをクリックします。

DBの管理者アカウント(SYS、SYSTEM、PDBADMIN)のパスワード(任意の値でOK、忘れずメモしてください。)を入力します。
「次へ」ボタンをクリックします。

「インストール」ボタンをクリックしてインストールします。

「アクセスを許可する」ボタンをクリックします。

「完了」ボタンをクリックします。
これでインストールは完了です。
注意! 自動的に作成されるリスナー名「LISTENER」は1521ポートでリスニングしていますが外部アドレスでリスニングしているために localhost(127.0.0.1)は利用できません。使用すると「リスナーがありません」とエラーになります。このせいでちょっとハマりました・・・つまり下図の記載は間違いです。

MySQLをWindows10にインストール

いろいろ説明があるのにハマりますね・・・私だけかもしれませんが・・・
MySQL(Version 8.0.19)インストーラのダウンロードからインストールまでの手順をハマらないように備忘録をとります。

確認を含め最初に使用することになるコマンドは以下を参考にしてください。

参照:MySQLの基本的なコマンドの使い方


1.インストーラのダウンロード

インストーラのダウンロードのときによく見るとx86-32bitとあるのに64bitが見当たらない・・・探しても見つからない・・・
実は、32bitだけしか記載してないのに64bitも入っています!!!
ここでは、mysql-installer-community-8.0.19.0.msi をダウンロードしますので「Download」ボタンをクリックします。

「出典元」Oracle MySQL Community Downloads

ログインしなくても「No thanks, just start my download.」のリンクからダウンロードできます。


2.インストール

ここでは、Developper Default でセットアップします。
「Next」ボタンをクリックします。

先に「Execute」ボタンをクリックします。
※「Next」ボタンを先に押すと先にで意味不明なエラーが発生します。
 「Execute」ボタンはインストールする依存関係で必要なものを先にダウンロードしてインストールするようです。

「ライセンス条項および使用条件に同意する」にチェックをつけて有効になった「インストール」ボタンを押します。

「I have read and accept the lisence terms.」にチェックをつけて有効になった「Install」ボタンを押します。

「Finish」ボタンを押します。

「Next」ボタンを押します。

プロダクトの条件を満たしてないものがある???と意味不明なメッセージが表示されます。
気にせずインストールをつづけるか?と聞かれてるので「Yes」ボタンを押します。
※インストールオプションでOfficeやVisual Studioなどが入っていないといけないプロダクトが含まれているからかと思いました。
 カスタムで調整したのに必ず表示されます・・・同様の手順で行ってる人もおり問題ないと判断しています。

「Execute」ボタンを押します。

全てのプロダクトのインストールが完了すると「Next」ボタンを押します。

「Next」ボタンを押します。

ここでは「Standalone MySQL Server / Classic MySQL Replication」を選択します。
「Next」ボタンを押します。

ネットワークの構成はこのままでいきます。
「Next」ボタンを押します。

ここでは「Use Strong Password Encryption for Authentication(RECOMMENDED)」を選択します。
「Next」ボタンを押します。

rootアカウントのパスワードを「MySQL Root Password」と「Request Password」に入力します。
「Next」ボタンを押します。

このままの設定で利用します。
「Next」ボタンを押します。

「Execute」ボタンを押します。

「Finish」ボタンを押します。

「Next」ボタンを押します。

「Finish」ボタンを押します。

「Next」ボタンを押します。

Passwordにrootアカウントのパスワードを入力します。
「Check」ボタンを押します。

「Next」ボタンを押します。

「Execute」ボタンを押します。

「Finish」ボタンを押します。

「Next」ボタンを押します。

セットアップ終了後に起動させたくないのでチェックは全て外しておきます。
「Finish」ボタンを押します。


3.MySQLにパスを通す

mysqlコマンドを実行したらないといわれました!
コマンドへのパスを通してくれないみたいなので設定します。
コントロールパネルにある「システムの詳細設定」をクリックします。

詳細設定タブの下の方にある「環境変数」ボタンをクリックします。

ユーザー環境変数にある「編集」ボタンをクリックします。

これがMySQLインストール直後の状態です。
「新規」ボタンをクリックしてmysqlコマンドのあるパス「C:\Program Files\MySQL\MySQL Server 8.0\bin\」を入力します。
「OK」ボタンをクリックします。
※OSを再起動してください。

これでmysqlコマンドが使えるようになりました。

アレクサと赤外線学習リモコン(Nature remo mini)連携で音声操作

音声操作で赤外線リモコンが使えたら家中の様々な電気器を制御しやすいですよね。
アレクサ(Amazon Alexa) のスキルで Nature Remo mini(赤外線学習リモコン)と連携させて定型アクションにて音声操作をします。

※IRKitでの赤外線送信もIFTTT連携は可能なようですがIFTTTだけでなく連携するアプリも含めサービスが使えなくなるリスクが高く感じたので使用するのをやめました。
 個人的な感想ですが有償製品のサービスなら簡単に無くならないようなので Nature Remo mini のスキルを利用することにしました。

ここでは、アレクサに「ただいま」と言うとアレクサが「おかえりなさい」と話した後にテレビをONにする音声操作を例にします。

※この手順を実施する前に、Nature remo mini をセットアップする必要があります。
参照:アレクサ対応 Nature remo mini 赤外線学習リモコンのセットアップ


1.アレクサの Nature Remo Smart Home Skill セットアップ

ここではセットアップによりアレクサと Nature Remo Smart Home Skill をリンクします。
アレクサの「スキル・ゲーム」メニューを選択して表示される画面右上の虫眼鏡アイコンを選択します。

Nature Remo Smart Home Skill を選択して「有効にして使用する」ボタンを押すと認証を求められます。
ここではGoogleのアカウントで認証します。
※ここでの認証は、Nature remo mini のセットアップが完了していないとエラー(ただエラーとしか表示しないのではまります。)になります。
「Sign in with Google」ボタンを選択します。

認証でGoogleのパスワードを入力するとログインボタンが表示するので押します。
続いて「許可」ボタンを選択するとアレクサと Nature Remo Smart Home Skill のリンクが完了します。


2.アレクサと Nature Remo mini を連携

「デバイスの追加」を選択します。

ここでは「テレビ」を選択します。
「デバイスを検出」ボタンを押すことで Nature Remo アプリに登録されている家電(赤外線学習リモコンに学習させたデータ)が検出されます。

検出されると画面に表示されます。
ここではデバイスグループへの追加はせずにスキップして早々に登録を完了させます。

検出したデバイスの内容を表示して確認します。


3.定型アクションで音声操作を定義

定義した定型アクションは音声で操作可能になります。
定型アクション名の横にある「+」を押して定型アクション名を入力します。

続いて実行条件の開始フレーズを指定します。

開始フレーズ(アレクサに話す言葉)には「ただいま」を指定します。
アクションを追加には、アレクサに「おかえりなさい」と返事してもらうように作成していきます。
※最初から作成すると並び順が実行とは逆順に追加されます。
※実行する順番は簡単に変更できます。

「おかえりなさい」を指定します。

次のアクションはテレビをONするように指定します。
スマートホームから Nature remo mini の赤外線学習リモコンを操作するよう指定します。

操作するデバイスのテレビと電源を指定します。

実行する順番は上からになるのでドラッグ(移動したいものを押したままスライド)して調整します。

デバイスはアクションを実行するアレクサを指定します。
(複数台ある場合、対象を指定する必要があります。)
指定したあとに「保存」を選択します。

メッセージは数秒で消えて右画面に遷移します。
作成した定型アクション名が表示されます。
再生ボタンを押すと定型アクションが実行されるので確認できます。
これでアレクサに話かけると定型アクションが実行されるようになります。

アレクサ対応 Nature remo mini 赤外線学習リモコンのセットアップ

IRKit後継機器のようでより便利になっていますね。
Amazon Alexa ともスキルで連携できる点が気に入りました。

「出典元」Nature スマートリモコン Nature Remo mini Remo-2W1

参考:IRKit(学習リモコン)の基本的な使い方

インストールはAndoridのアプリ「Natrue Remo」をダウンロードして Nature remo mini へ接続してセットアップします。


1.アカウントの登録

アカウント登録に使用するメールアドレスを「メール」に入力して「Remoをセットアップする」を選択します。


2.WiFiへの接続

Natrue remo mini を設置する場所から利用するWiFiを設定します。
Natrue remo mini が WiFiとしてのアクセスポイント(SSID:Remo-XXXXX)を持っているので先に接続します。

検出したアクセスポイントから Natrue remo mini のアクセスポイントを選択してパスワード「natureremo」を入力して接続します。
接続が完了するとNature remo mini から接続する WiFi のアクセスポイントを指定します。
SSIDとパスワードを入力して「次へ」ボタンを選択します。

Nature remo mini が使用するWiFiWへ接続できたら Nature remo mini の名前を入力して「保存」ボタンを選択します。


3.リモコンの学習

Natrue remo アプリを開いて画面右上の「+」を選択します。
画面下に表示される「新しい家電を追加する」を選択します。
新しい家電の種類を指定します。(ここではテレビを選択します。)

学習させたいリモコンの信号を Nature remo mini の機器に向けて送信します。
機種まで認識されると名前が表示されます。
検出された機器の名前を入力して「保存」ボタンを選択します。

追加した家電を選択して表示される画面を左にスライド(空きスペースがないので2ページ目に追加するため)します。
画面右上の「+」を選択します。

学習させたいリモコンの信号を Nature remo mini の機器に向けて送信します。
ボタンの名前を入力して「保存」ボタンを選択します。

Android Studioから実機へインストールしてデバッグ

PCのAndroid Studioから実機(スマホやタブレッド機器)にUSBで接続してインストール後にデバッグ実行します。

以下のサンプルプログラムで説明します。

サンプルプログラムの説明
 参照:IRKit赤外線送信サンプルアプリ(Android)

Android Studio の環境構築について
 参照:Andorid Studio インストール(Windows)(Android)
 参照:Android Studio で仮想デバイス(エミュレーター)の利用手順(Android)
  (仮想デバイスの追加以外の手順が必要です。)


1.実機のUSBデバック設定とPCへの接続

実機の設定で「開発者向けオプション」を選択します。
※USBデバッグの設定を有効にする方法はAndroid のバージョンによって設定方法が異なります。
 説明に使用した機器は、Android 7.1.1です。

「開発者向けオプション」をONにします。
つづいて「USB」デバッグをONにします。


2.実機とPCの接続

実機(Androidアプリをインストールしてデバッグ実行)とPC(Android Studio)をUSBケーブルで接続します。
※注意!USBケーブルはデータ転送用を使用します。充電用は使用できません。
接続後、メッセージが表示されるので実機のロックを解除して「OK」を選択します。

このメッセージも表示されますが、「はい」でも「キャンセル」でも動作に支障ありません。
また、メッセージの表示順は順不同です。


3.インストールとデバッグ実行

Android Studio に接続した実機のデバイス名が表示されるので選択します。
「ツール」の「デバッグ」メニューをクリックします。

実機に実行したアプリが表示されます。

これで実機にアプリがインストールされた状態になります。
USBケーブルを外してもアプリを終了してもアプリは実行可能で利用できます。