diff --git a/htdocs/2022-04-27_ict-motto/index.html b/htdocs/2022-04-27_ict-motto/index.html index fb6d6bf..d617a5e 100644 --- a/htdocs/2022-04-27_ict-motto/index.html +++ b/htdocs/2022-04-27_ict-motto/index.html @@ -1,4 +1,4 @@ -『情報コース』もっとくわしく編 | おこげ俱楽部

『情報コース』もっとくわしく編

2022年4月27日
This post thumbnail

『情報コース』では、シングルボードコンピュータ『Raspberry Pi』や独自仕様のブロックプログラミング開発・実行環境『オコゲ』、各種センサやモータなどを使用してプログラミングを楽しく学び、ICT (Information and Communication Technology – 情報通信技術) や IoT (Internet of Things – モノのインターネット) などの情報技術を習得することを目的としています。

Raspberry Pi シングルボードコンピュータ

クリックで拡大

Raspberry Pi は、イギリスのラズベリーパイ財団 によって主に教育で利用することを想定して開発されたシングルボードコンピュータ です。小型・軽量で低価格、性能は価格なりですが、OS (基本ソフト) に Linux (Debian) を採用し、モニタとキーボード、マウスを接続してデスクトップを備えた GUI が使える、れっきとしたパーソナルコンピューターです。モニタは HDMI 入力のあるテレビでも代用でき、導入コストが低いのが特徴です。PC と大きく異なる点は GPIO ( General-purpose input/output – 汎用入出力) 端子の存在で、ここに各種センサやモータなどを接続して数値を読み 取ったり制御したりすることができます。つまり、コンピュータが物理的に「感じ」たり、「動い」たりすることができるのです。

ブロックプログラミング開発・実行環境『オコゲ』

クリックで拡大

『オコゲ』は、Google Blockly ライブラリを使用した、Raspberry Pi 用ブロックプログラミング環境です。

ブロックプログラミング (Block-Based Coding) は、コンピュータへの命令が記述されたブロックを並べたり積み重ねることでプログラムを作成するプログラミングの形式で、主にプログラミング学習の目的で使用されています。学生がプログラム言語を覚えたりタイピングを習得する苦労やストレスから解放され、プログラミングの概念そのものを学習することに専念できるからです。また、何ができるかが一目でわかり簡単に試してみることができ、子供(大人でも!)の創造性を強く刺激します。

ブロックプログラミングツールの最も有名なもののひとつに Scratch があります。『スクラッチの猫ちゃん』(Scratch cat) を見たことがあるかもしれません。その Scratch も、バージョン2までは Macromedia (Adobe) Flash で作られていましたが、最新のバージョン3では Google Blockly ベースになりました。ブロックプログラミングツールのもうひとつの代表格 Microsoft MakeCode も Blockly を元にしています。

Raspberry Pi + オコゲ = ?

では、Raspberry Pi と『オコゲ』を組み合わせると何ができるのでしょうか。その一部を動画でご紹介します。

※動画ではブロックの色や形状などの『オコゲ』の見た目や周辺機器が最近更新された記事と異なりますが、機能や内容に変更はありません。

デモンストレーション

『情報コース』で使用する機材の一部を使用した動作サンプルです。

  • 『Julius』との連携による音声認識
  • サーボモータ制御
  • Lチカ
  • 温湿度センサー
  • 赤外線LEDによるリモコン(キーボードに乗っけてあるミニライト)
  • 接触が悪くてLEDが発光しなかったカメラ
  • 画像ファイルのロードと表示

飲み過ぎ防止システム

IoT のとってもくだらない例。2杯目からもうコンピュータに怒られる。

スマートスイッチ

Raspberry Pi につないだサーボモータで物理的に照明のスイッチをオンオフします。操作は『オコゲ』を通じて音声で行います。ちょっと強力な両面テープと結束バンドだけでできる工事いらずのスマートホームです。

顔認識

カメラモジュールの映像をリアルタイムで処理してヒトの顔を認識し、その座標情報を使用してペーパークラフト人形の顔の向きを制御しています。動画ではちょっとわかりにくいかもしれませんが、お人形がずっとこちらを見続けていますヨー。

ネットワーク

ネットワークにつながるだけでプログラミングのアイディアは大きく広がります。例えば2つ上の「スマートスイッチ」は音声でコントロールしていますが、これをネットワークにつなげれば、出先や離れからスマートフォンなどを通じて照明のオンオフができるようになるでしょう。 『オコゲ』は簡単にウェブサーバとそれにアクセスするためのクライアントを作ることができます。動画では、音声合成LSI「AquesTalk pico 」を接続したサーバ側 Raspberry Pi に、ミニディスプレイをつないだクライアント側 Raspberry Pi から LAN 経由で HTTP 接続をして朝のあいさつや「吾輩は猫である」の朗読をさせています。

ウェブチャット

用途が限定された特殊ブロックもあります。この例では、WebRTC(ウェブブラウザ上でシンプルなリアルタイムコミュニケーションを実現する技術)を使用してテキストベースのウェブチャットを実装しています。

ゲーム制作

テレビゲームっぽいものも作れます。

『オコゲ』にさわってみよう

ここまでご覧になって「おもしろそう!」と思った方は、ぜひ当学習塾に… の前に、Web 体験版を触ってみましょう。サンプルプログラムや、自分で考えてサンプルを改良するプチレッスンをご用意しております。

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

『情報コース』もっとくわしく編

April 27, 2022
This post thumbnail

『情報コース』では、シングルボードコンピュータ『Raspberry Pi』や独自仕様のブロックプログラミング開発・実行環境『オコゲ』、各種センサやモータなどを使用してプログラミングを楽しく学び、ICT (Information and Communication Technology – 情報通信技術) や IoT (Internet of Things – モノのインターネット) などの情報技術を習得することを目的としています。

Raspberry Pi シングルボードコンピュータ

クリックで拡大

Raspberry Pi は、イギリスのラズベリーパイ財団 によって主に教育で利用することを想定して開発されたシングルボードコンピュータ です。小型・軽量で低価格、性能は価格なりですが、OS (基本ソフト) に Linux (Debian) を採用し、モニタとキーボード、マウスを接続してデスクトップを備えた GUI が使える、れっきとしたパーソナルコンピューターです。モニタは HDMI 入力のあるテレビでも代用でき、導入コストが低いのが特徴です。PC と大きく異なる点は GPIO ( General-purpose input/output – 汎用入出力) 端子の存在で、ここに各種センサやモータなどを接続して数値を読み 取ったり制御したりすることができます。つまり、コンピュータが物理的に「感じ」たり、「動い」たりすることができるのです。

ブロックプログラミング開発・実行環境『オコゲ』

クリックで拡大

『オコゲ』は、Google Blockly ライブラリを使用した、Raspberry Pi 用ブロックプログラミング環境です。

ブロックプログラミング (Block-Based Coding) は、コンピュータへの命令が記述されたブロックを並べたり積み重ねることでプログラムを作成するプログラミングの形式で、主にプログラミング学習の目的で使用されています。学生がプログラム言語を覚えたりタイピングを習得する苦労やストレスから解放され、プログラミングの概念そのものを学習することに専念できるからです。また、何ができるかが一目でわかり簡単に試してみることができ、子供(大人でも!)の創造性を強く刺激します。

ブロックプログラミングツールの最も有名なもののひとつに Scratch があります。『スクラッチの猫ちゃん』(Scratch cat) を見たことがあるかもしれません。その Scratch も、バージョン2までは Macromedia (Adobe) Flash で作られていましたが、最新のバージョン3では Google Blockly ベースになりました。ブロックプログラミングツールのもうひとつの代表格 Microsoft MakeCode も Blockly を元にしています。

Raspberry Pi + オコゲ = ?

では、Raspberry Pi と『オコゲ』を組み合わせると何ができるのでしょうか。その一部を動画でご紹介します。

※動画ではブロックの色や形状などの『オコゲ』の見た目や周辺機器が最近更新された記事と異なりますが、機能や内容に変更はありません。

デモンストレーション

『情報コース』で使用する機材の一部を使用した動作サンプルです。

  • 『Julius』との連携による音声認識
  • サーボモータ制御
  • Lチカ
  • 温湿度センサー
  • 赤外線LEDによるリモコン(キーボードに乗っけてあるミニライト)
  • 接触が悪くてLEDが発光しなかったカメラ
  • 画像ファイルのロードと表示

飲み過ぎ防止システム

IoT のとってもくだらない例。2杯目からもうコンピュータに怒られる。

スマートスイッチ

Raspberry Pi につないだサーボモータで物理的に照明のスイッチをオンオフします。操作は『オコゲ』を通じて音声で行います。ちょっと強力な両面テープと結束バンドだけでできる工事いらずのスマートホームです。

顔認識

カメラモジュールの映像をリアルタイムで処理してヒトの顔を認識し、その座標情報を使用してペーパークラフト人形の顔の向きを制御しています。動画ではちょっとわかりにくいかもしれませんが、お人形がずっとこちらを見続けていますヨー。

ネットワーク

ネットワークにつながるだけでプログラミングのアイディアは大きく広がります。例えば2つ上の「スマートスイッチ」は音声でコントロールしていますが、これをネットワークにつなげれば、出先や離れからスマートフォンなどを通じて照明のオンオフができるようになるでしょう。 『オコゲ』は簡単にウェブサーバとそれにアクセスするためのクライアントを作ることができます。動画では、音声合成LSI「AquesTalk pico 」を接続したサーバ側 Raspberry Pi に、ミニディスプレイをつないだクライアント側 Raspberry Pi から LAN 経由で HTTP 接続をして朝のあいさつや「吾輩は猫である」の朗読をさせています。

ウェブチャット

用途が限定された特殊ブロックもあります。この例では、WebRTC(ウェブブラウザ上でシンプルなリアルタイムコミュニケーションを実現する技術)を使用してテキストベースのウェブチャットを実装しています。

ゲーム制作

テレビゲームっぽいものも作れます。

『オコゲ』にさわってみよう

ここまでご覧になって「おもしろそう!」と思った方は、ぜひ当学習塾に… の前に、Web 体験版を触ってみましょう。サンプルプログラムや、自分で考えてサンプルを改良するプチレッスンをご用意しております。

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

ブロックプログラミング環境『オコゲ』

2022年5月1日
This post thumbnail

『オコゲ [ocoge: code generator]』は、 Google Blockly ライブラリを使用した、Raspberry Pi 用ブロックプログラミング環境です。 プログラム言語を覚える必要がなく、未経験の方でもすぐにプログラミングの楽しさを体験することができます。

デモンストレーション

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

機能と特徴

  • Google Blockly を用いたブロックプログラミングによる開発・実行環境
    特別な機能を持ったブロックをつなげていくだけでプログラムを組み立てることができます。プログラム言語を覚える必要がないため、アルゴリズム(処理の手順)を考えることに集中できます。また、作成したプログラムは『オコゲ』上ですぐに実行することができます。
  • GPIO 入出力
    Raspberry Pi の GPIO(汎用入出力端子)に接続したセンサや LED、サーボモータなどを操作するプログラムを作成・実行できます。
  • Javascript コードジェネレータ
    ブロックで作成したプログラムを Javascript 言語で出力・閲覧することができます。次のステップ(コードによるプログラミング)に進むための足がかりになります。

その他技術情報

ブロックプログラミング環境『オコゲ』

May 1, 2022
This post thumbnail

『オコゲ [ocoge: code generator]』は、 Google Blockly ライブラリを使用した、Raspberry Pi 用ブロックプログラミング環境です。 プログラム言語を覚える必要がなく、未経験の方でもすぐにプログラミングの楽しさを体験することができます。

デモンストレーション

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

機能と特徴

  • Google Blockly を用いたブロックプログラミングによる開発・実行環境
    特別な機能を持ったブロックをつなげていくだけでプログラムを組み立てることができます。プログラム言語を覚える必要がないため、アルゴリズム(処理の手順)を考えることに集中できます。また、作成したプログラムは『オコゲ』上ですぐに実行することができます。
  • GPIO 入出力
    Raspberry Pi の GPIO(汎用入出力端子)に接続したセンサや LED、サーボモータなどを操作するプログラムを作成・実行できます。
  • Javascript コードジェネレータ
    ブロックで作成したプログラムを Javascript 言語で出力・閲覧することができます。次のステップ(コードによるプログラミング)に進むための足がかりになります。

その他技術情報

『オコゲ』Web 体験版

2022年5月7日
This post thumbnail

※ Web 体験版は Google Chrome (Chromium) 推奨です。それ以外のブラウザをご使用の場合、表示が乱れたり、機能の一部が使用できないことがあります。 ※ レンダリングエンジンに Blink (Chromium) を使用しているブラウザは使えます。例えば、Microsoft Edge(バージョン79.0.309.65以降)、Yandex Browser(日本じゃ誰も使ってないだろうけど)などです。

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。下の方にあるサンプルプログラムを組んで試してみてください。それが済んだら「プチレッスン」にも挑戦してみましょう。

各部の名称と使い方

クリックで拡大
  1. コーディング
    ツールボックスのカテゴリをクリックするとフライアウトが開きます。フライアウト上のブロックをドラッグしてワークスペースに配置します。
    ワークスペース上に配置したブロックは、ドラッグで移動できます。基本的にはつまんだブロックは上のブロックと切り離され、その下のブロックとはつながったまま移動します。つまんだブロックだけを取り出したい場合はキーボードの Ctrl キーを押しながらドラッグします。
    つまんだブロックは、ツールボックスかゴミ箱の上にドロップすると削除することができます。
  2. プログラムの実行
    「実行」メニューボタンをクリックします。
  3. 実行停止(リロード)
    自動的に実行が停止しないコードや画面上にエレメントを表示するようなプログラムの場合、「リロード」メニューボタン をクリックすることでアプリケーションをリセットすることができます。ワークスペース上にあるブロックはそのまま残ります。
  4. ワークスペース保存
    「保存」メニューボタンをクリックすると、XMLファイルがダウンロードされますのでローカルに保存してください。
  5. ワークスペース読込
    「開く」メニューボタンをクリックすると、ファイル選択ダイアログが開くので、ワークスペースを保存した XML ファイルを選択してください。
  6. ワークスペースをクリア
    「新規」メニューボタンをクリックすると、ワークスペース上のブロックが全て消去されます。
  7. Javascript コードを見る
    「CODE」メニューボタンをクリックします。

サンプルプログラム

Web体験版で作成・実行できるプログラムをいくつかご紹介します。ブロックプログラムの画像を見ながら、同じように組み立ててみてください。できたら、画面右上にある「実行」ボタンをおしてみましょう。

簡単な入出力

クリックで拡大

名前を入力するとその名前を呼んでくれるプログラムです。
実行すると入力欄が表示されるので、名前を入力してエンターキーを押すかチェックボタン をクリックしてください。

タイプライターもどき

クリックで拡大

「黒板」を表示し、アルファベットを1行に1文字ずつタイプできます。エンターキーやバックスペースキー、矢印キーなどの特殊キーを押してみると…?
※特殊キーを試す前に、ワークスペース上の何もない所をクリックしてブロックからフォーカス(ブロックが枠で囲まれて選択された状態)を外しておいてください。バックスペースを押したときにフォーカスされたブロックがあると削除されてしまうためです。

「プチレッスン」に、もっとタイプライターらしくする課題「タイプライターっぽいもの」を作成しました。

プチレッスン

『オコゲ』Web 体験版を使用して、問題形式でプログラミング学習を体験することができるレッスンをご用意しております。(準備中)

『オコゲ』Web 体験版

May 7, 2022
This post thumbnail

※ Web 体験版は Google Chrome (Chromium) 推奨です。それ以外のブラウザをご使用の場合、表示が乱れたり、機能の一部が使用できないことがあります。 ※ レンダリングエンジンに Blink (Chromium) を使用しているブラウザは使えます。例えば、Microsoft Edge(バージョン79.0.309.65以降)、Yandex Browser(日本じゃ誰も使ってないだろうけど)などです。

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。下の方にあるサンプルプログラムを組んで試してみてください。それが済んだら「プチレッスン」にも挑戦してみましょう。

各部の名称と使い方

クリックで拡大
  1. コーディング
    ツールボックスのカテゴリをクリックするとフライアウトが開きます。フライアウト上のブロックをドラッグしてワークスペースに配置します。
    ワークスペース上に配置したブロックは、ドラッグで移動できます。基本的にはつまんだブロックは上のブロックと切り離され、その下のブロックとはつながったまま移動します。つまんだブロックだけを取り出したい場合はキーボードの Ctrl キーを押しながらドラッグします。
    つまんだブロックは、ツールボックスかゴミ箱の上にドロップすると削除することができます。
  2. プログラムの実行
    「実行」メニューボタンをクリックします。
  3. 実行停止(リロード)
    自動的に実行が停止しないコードや画面上にエレメントを表示するようなプログラムの場合、「リロード」メニューボタン をクリックすることでアプリケーションをリセットすることができます。ワークスペース上にあるブロックはそのまま残ります。
  4. ワークスペース保存
    「保存」メニューボタンをクリックすると、XMLファイルがダウンロードされますのでローカルに保存してください。
  5. ワークスペース読込
    「開く」メニューボタンをクリックすると、ファイル選択ダイアログが開くので、ワークスペースを保存した XML ファイルを選択してください。
  6. ワークスペースをクリア
    「新規」メニューボタンをクリックすると、ワークスペース上のブロックが全て消去されます。
  7. Javascript コードを見る
    「CODE」メニューボタンをクリックします。

サンプルプログラム

Web体験版で作成・実行できるプログラムをいくつかご紹介します。ブロックプログラムの画像を見ながら、同じように組み立ててみてください。できたら、画面右上にある「実行」ボタンをおしてみましょう。

簡単な入出力

クリックで拡大

名前を入力するとその名前を呼んでくれるプログラムです。
実行すると入力欄が表示されるので、名前を入力してエンターキーを押すかチェックボタン をクリックしてください。

タイプライターもどき

クリックで拡大

「黒板」を表示し、アルファベットを1行に1文字ずつタイプできます。エンターキーやバックスペースキー、矢印キーなどの特殊キーを押してみると…?
※特殊キーを試す前に、ワークスペース上の何もない所をクリックしてブロックからフォーカス(ブロックが枠で囲まれて選択された状態)を外しておいてください。バックスペースを押したときにフォーカスされたブロックがあると削除されてしまうためです。

「プチレッスン」に、もっとタイプライターらしくする課題「タイプライターっぽいもの」を作成しました。

プチレッスン

『オコゲ』Web 体験版を使用して、問題形式でプログラミング学習を体験することができるレッスンをご用意しております。(準備中)

おこげ倶楽部自宅サーバについて

2022年5月7日
This post thumbnail

ocoge.club は Orange Pi 自宅サーバ(上写真)にてホスティングされています。現在 Webサーバ、メールサーバ、Git サーバが稼働しています。数千円で購入できる手のひらサイズのシングルボードコンピュータと3千円程度のSSDを使ってなかなか充実したネットサービスごっこwができます。

タマちー

「おこげ俱楽部」は、軽量多目的 Raspberry Pi Orange Pi サーバーとして絶賛改装中です...。

ミミィ

市場でラズパイが枯渇している関係で、サーバのハードウェアを 4B(4GB) から、現状最も手に入りやすい中華パチモン SBC の Orange Pi に変更したのよね!軽量化のためにWordPress をやめて Jamstack にするとかの対応中ヨ!

らずぱい売ってない... 困る...

RSコンポーネンツの通販サイトに「11月入荷」とか書いてあるのよ!
鬼も笑えないわ!!

ハードウェア構成

  • Orange Pi 3 LTS
  • Crucial SSD 120GB 2.5インチ (CT120BX500SSD1JP)
  • Salcar USB-C 2.5インチ SATA HDD/SSDケース

ケースは RPi 用を流用。ネジ穴が合わなかったので百均の耐震マットを小さく切って貼り付け。

ソフトウェア構成

種類名称
OSOrange Pi3 LTS Debian Buster Server
WebサーバNginx
サーバサイドインタプリタPHP
データベースSQLite3
メールサーバ (MTA)Postfix
WebメールクライアントRainloop
POP/IMAP サーバDovecot
Git サーバGitea

このほか、スパムメール対策に SpamAssasin であるとか証明書取得に Let’s Encrypt (certbot) であるとか

その他利用しているもの

独自ドメイン (ocoge.club)
MyDNS (無料ダイナミックDNS)
インターネット接続回線(有線LANで接続)
静的サイトジェネレータ 11ty 及びブログテーマ Vredeburg

参考サイト

Sam Hobbs | Raspberry Pi Email Server
英語でメールサーバのみの解説ではあるが、ステップごとにインストールや設定がうまくいっているかどうか確認を行うことができるようになっているため、長い作業の中でどこでミスをしたのか、または不具合が出ているのかがわかりやすい。また、設定をデフォルトから変更する箇所にそれぞれ設定の意味の説明があり、自分が何をしているのかがわかるため、ソフトウェアのアップデートで設定項目やその値に変更があり見本と齟齬が生じていても対処が容易である。わけもわからず言われた通り延々ソフトウェアのインストールと設定ファイルの書き換えを繰り返し、辟易しながら終わらせたものの結局動作せず問題のある個所も見当がつかないまま挫折、などという悲劇を起こしにくい、ナイスなサイト。

WordPress と NextCloud の運用をやめた理由は実は別にあったりする...

セキュリティアップデートが面倒だったのヨ!
仕事でもないのにあんなのやってられないワ!!

おこげ倶楽部自宅サーバについて

May 7, 2022
This post thumbnail

ocoge.club は Orange Pi 自宅サーバ(上写真)にてホスティングされています。現在 Webサーバ、メールサーバ、Git サーバが稼働しています。数千円で購入できる手のひらサイズのシングルボードコンピュータと3千円程度のSSDを使ってなかなか充実したネットサービスごっこwができます。

タマちー

「おこげ俱楽部」は、軽量多目的 Raspberry Pi Orange Pi サーバーとして絶賛改装中です...。

ミミィ

市場でラズパイが枯渇している関係で、サーバのハードウェアを 4B(4GB) から、現状最も手に入りやすい中華パチモン SBC の Orange Pi に変更したのよね!軽量化のためにWordPress をやめて Jamstack にするとかの対応中ヨ!

らずぱい売ってない... 困る...

RSコンポーネンツの通販サイトに「11月入荷」とか書いてあるのよ!
鬼も笑えないわ!!

ハードウェア構成

  • Orange Pi 3 LTS
  • Crucial SSD 120GB 2.5インチ (CT120BX500SSD1JP)
  • Salcar USB-C 2.5インチ SATA HDD/SSDケース

ケースは RPi 用を流用。ネジ穴が合わなかったので百均の耐震マットを小さく切って貼り付け。

ソフトウェア構成

種類名称
OSOrange Pi3 LTS Debian Buster Server
WebサーバNginx
サーバサイドインタプリタPHP
データベースSQLite3
メールサーバ (MTA)Postfix
WebメールクライアントRainloop
POP/IMAP サーバDovecot
Git サーバGitea

このほか、スパムメール対策に SpamAssasin であるとか証明書取得に Let’s Encrypt (certbot) であるとか

その他利用しているもの

独自ドメイン (ocoge.club)
MyDNS (無料ダイナミックDNS)
インターネット接続回線(有線LANで接続)
静的サイトジェネレータ 11ty 及びブログテーマ Vredeburg

参考サイト

Sam Hobbs | Raspberry Pi Email Server
英語でメールサーバのみの解説ではあるが、ステップごとにインストールや設定がうまくいっているかどうか確認を行うことができるようになっているため、長い作業の中でどこでミスをしたのか、または不具合が出ているのかがわかりやすい。また、設定をデフォルトから変更する箇所にそれぞれ設定の意味の説明があり、自分が何をしているのかがわかるため、ソフトウェアのアップデートで設定項目やその値に変更があり見本と齟齬が生じていても対処が容易である。わけもわからず言われた通り延々ソフトウェアのインストールと設定ファイルの書き換えを繰り返し、辟易しながら終わらせたものの結局動作せず問題のある個所も見当がつかないまま挫折、などという悲劇を起こしにくい、ナイスなサイト。

WordPress と NextCloud の運用をやめた理由は実は別にあったりする...

セキュリティアップデートが面倒だったのヨ!
仕事でもないのにあんなのやってられないワ!!

受講生限定アカウントサービス

2022年5月13日
This post thumbnail

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git サーバアカウントを進呈しております。

『おこげ倶楽部』メールアドレス

クリックで拡大

お好きな名前@ocoge.club というメールアドレスを取得できます(※名前が使用済みでない場合に限ります)。また、画像のようなウェブメールクライアントをご用意していますので、特別なソフトウェアや設定をすることなしに、ウェブブラウザですぐにご利用になれます。

Git サーバ

クリックで拡大

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。( Wikipedia )

コースで作成したプログラムソースなどの管理をすることができます。(Git についての緩い感じの解説はこちら

セキュリティ対策

常時SLL対応済み、不要ポート閉鎖など 以下は、セキュリティチェックサイトでのスコア。

メール

クリックで拡大

POP3などはポートを閉じているため No Info となっているようです。
安心してご利用いただける範囲内である…と、思われます。

受講生限定アカウントサービス

May 13, 2022
This post thumbnail

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。

『おこげ倶楽部』メールアドレス

クリックで拡大

お好きな名前@ocoge.club というメールアドレスを取得できます(※名前が使用済みでない場合に限ります)。また、画像のようなウェブメールクライアント(下記 Nextcloud プラグイン)をご用意していますので、特別なソフトウェアや設定をすることなしに、ウェブブラウザですぐにご利用になれます。

クラウドストレージ(Nextcloud)

クリックで拡大

Nextcloud は、オンラインストレージの作成と使用のためのクライアント・サーバ型のソフトウェアである。機能的には Dropbox に似ている(略)。Nextcloud はフリーかつオープンソースなので、誰でも自分のプライベートサーバにインストールして利用することができる。( Wikipedia )

コースで作成したプログラムソースなどをご家庭からも閲覧・利用できるよう、独自のクラウドストレージをご用意いたしました。

セキュリティ対策

常時 SLL 対応済み、不要ポート閉鎖など
以下は、セキュリティチェックサイトでのスコア。

メール

クリックで拡大

POP3 などはポートを閉じているため No Info となっているようです。
安心してご利用いただける範囲内である…と、思われます。

『オコゲ』マスコットのご紹介

2022年5月13日
This post thumbnail

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターのご紹介です。せっかくですから、本人たちから自己紹介をしてもらいましょう。

Mimmy

まずはアタシからネ!アタシ、ミミィ!
カラダはウサギ、ココロは乙女! ヨロシクね!ウフフ!

ミミィ

ウサギのぬいぐるみ。顔はタマちーの手描き。

紹介文もアタシの顔もちょっと適当が過ぎるんじゃないかしらね?

Tamachii

マスコットキャラがいきなりオネェ全開って SEO 的にどうなんだろ…

タマちー

『オコゲ』『おこげ倶楽部』メインマスコット。近所にある「玉木平神社」から名前を(勝手に)もらった、平環(たいら・たまき)という猫にしては立派な本名を持つ。「オコゲ猫のタマちー」。 ウサギのぬいぐるみにミミィと名前を付けて大事(?)にしている。ミミィを触っていないと眠れない。触りすぎて顔がすり切れてしまい、自分で描きなおしたことをちょびっとだけ後悔している。

わたしには絵心がなかった でござる…

アタシ本当に大事にされてるのかしら?かしら?

それにしてもアンタずいぶんと眠そうね!?
上の紹介文のところの絵とはだいぶ違うじゃない?

ん…その撮影のときは…がんばった…

いい子ね!その調子でこれからも頑張んなさいよね! アタシはぬいぐるみだから動けなくてクタッとしてるけどね! その分おしゃべりで頑張るから皆さんよろしくね~

このような手法は子供向けの学習書で使われるものだという認識だったのですが、最近はビジネスマン向けの入門サイトなどでも見かけるようになりました。そんなわけでウチも流れに乗ってみようかという感じでやってみました。
今後ともこの子たちをよろしくお願いいたします。

あ…わたし「自己」紹介してないや…

…まぁいっか…

いいのかーい

『オコゲ』マスコットのご紹介

May 13, 2022
This post thumbnail

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターのご紹介です。せっかくですから、本人たちから自己紹介をしてもらいましょう。

Mimmy

まずはアタシからネ!アタシ、ミミィ!
カラダはウサギ、ココロは乙女! ヨロシクね!ウフフ!

ミミィ

ウサギのぬいぐるみ。顔はタマちーの手描き。

紹介文もアタシの顔もちょっと適当が過ぎるんじゃないかしらね?

Tamachii

マスコットキャラがいきなりオネェ全開って SEO 的にどうなんだろ…

タマちー

『オコゲ』『おこげ倶楽部』メインマスコット。近所にある「玉木平神社」から名前を(勝手に)もらった、平環(たいら・たまき)という猫にしては立派な本名を持つ。「オコゲ猫のタマちー」。 ウサギのぬいぐるみにミミィと名前を付けて大事(?)にしている。ミミィを触っていないと眠れない。触りすぎて顔がすり切れてしまい、自分で描きなおしたことをちょびっとだけ後悔している。

わたしには絵心がなかった でござる…

アタシ本当に大事にされてるのかしら?かしら?

それにしてもアンタずいぶんと眠そうね!?
上の紹介文のところの絵とはだいぶ違うじゃない?

ん…その撮影のときは…がんばった…

いい子ね!その調子でこれからも頑張んなさいよね! アタシはぬいぐるみだから動けなくてクタッとしてるけどね! その分おしゃべりで頑張るから皆さんよろしくね~

このような手法は子供向けの学習書で使われるものだという認識だったのですが、最近はビジネスマン向けの入門サイトなどでも見かけるようになりました。そんなわけでウチも流れに乗ってみようかという感じでやってみました。
今後ともこの子たちをよろしくお願いいたします。

あ…わたし「自己」紹介してないや…

…まぁいっか…

いいのかーい

プチレッスン『タイプライターっぽいもの』その1

2022年5月15日
This post thumbnail

ミミィ

『オコゲ』Web体験版サンプルプログラムの「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみるわ! 準備はいいかしら!?

タマちー

ん…元記事はこれ、です…

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

まず最初に、どこをどのように変更するか決めておきます。

クリックで拡大

サンプルプログラムの記事にあるブロックはこれです。実行してみるとわかりますが、このプログラムでは、キーボードの入力が1行に1文字ずつ表示されます。
以下の記事では、このプログラムを1行に文字を横並びに行として表示、改行とついでにバックスペースで文字を削除できるように改造することにしましょう。

このプログラムは永久にキーボードからの入力待ちをします。実行後は次のステップに行く前に をクリックしてページをリロードしておきましょう。

キー入力を変数に記憶させて表示する

『オコゲ』の黒板表示は1行ずつ表示することしかできません。そこで、キーボードから入力された文字を変数に代入して記憶してから、まとめて表示できるようにしましょう。

変数とは、数字や文字を代入して保存しておくことができる領域のことです。変数には名前をつけて使います。「変数1」という名前の変数に「あいう」を記憶させてから、『「変数1」を表示しなさい』と命令すれば「あいう」が表示されます。変数の中身は必要に応じて何度でも書き換えることができます。

変数を作成する

クリックで拡大

まず、入力を記録する変数を作成します。「変数」カテゴリから「変数の作成…」をクリックします。

クリックで拡大

ダイアログで変数の名前を入力します。ここでは「行」にします。

キー入力を変数に代入する

この状態で「変数」カテゴリを開くと、 がありますので、これと を使って、変数「行」に変数「キー」の内容を代入するコードを作ります。黒板には「キー」ではなく「行」を表示するように変更します。

クリックで拡大

これを実行しても、結果は変更前とまだ変わりありません。これは、変数「行」が1回分の「キー」しか覚えていないからです。では、変数「行」にキー入力を続けて記憶させるにはどのようにすれば良いのでしょうか。

変数に文字を追加して文字列を作成しよう

文字列とは、文字の並びや集まりのことです。文字列も変数に記憶させておくことができます。では変数「行」の後ろに「キー」を追加するコードを考えてみましょう。例えば、最初「行」が “a" で「キー」が “b" だったら、最後に「行」が “ab" になるような、そんなプログラムを作りましょう。

さ、初めての出題ね!すぐに答えを開かないで、自分で考えて実際にブロックを組んで実行してみるのヨ!

ヒントは見てもいいの...

ヒント: を使います。

レッスン:変数「行」に「キー」を追加しよう
クリックで拡大

「追加する」という機能がないプログラミング言語を使う場合はこのような書き方をすることが多いです。分かりにくく感じる方は、式で考えるとすっきりするかもしれません。 「行」=「行」+「キー」 「行」と「キー」を連結して、その結果をまた「行」に戻す(代入する)というわけです。 これで、変数「行」の中身をリセットしない限りはキー入力を「行」にためこんでおくことができるようになりました。このブロックは、次のように配置してください。

クリックで拡大

これを実行してスペースキーを押してみてください。 と表示されたでしょうか。"undefined" は「未定義」という意味で、ここでは「行」という変数が未定義ですよ、ということになります。 何が起きているかというと、プログラム実行後最初にキーボードを押したとき、プログラムはまず「行」と「キー」を連結しようとします。ところが、これより前にプログラムは「行」に対して何もしていません。つまり、このときプログラム的には「行」という入れ物はあっても、何が入っているのか分かっていない状態なのです。だからプログラムは「『行』?わからんなー」と答えているのです。これを避けるためには、次のように、最初に変数「行」は空っぽの文字列だよー、と決めてあげる必要があります。

クリックで拡大

繰り返し処理の中で変数を使う場合、この「変数の初期化」をしないとちゃんと動かないことがよくあります。 昔 C 言語で変数を宣言しただけだと中にゴミデータが入ったままで…いや、なんでもない
頭の片隅にでも入れておくといいかもしれません。

では、実行してキーボードから「abcdefg」と入力してみましょう。

しっかり変数にキー入力が蓄積されて行っているようですね!でもこれだとタイプライターとは言い難い挙動なので、1か所修正します。

クリックで拡大

それっぽくなってきましたね?

その2に続きます。 (準備中)

プチレッスン『タイプライターっぽいもの』その1

May 15, 2022
This post thumbnail

ミミィ

『オコゲ』Web体験版サンプルプログラムの「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみるわ! 準備はいいかしら!?

タマちー

ん…元記事はこれ、です…

『オコゲ』Web 体験版 | おこげ俱楽部

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

おこげ俱楽部

まず最初に、どこをどのように変更するか決めておきます。

クリックで拡大

サンプルプログラムの記事にあるブロックはこれです。実行してみるとわかりますが、このプログラムでは、キーボードの入力が1行に1文字ずつ表示されます。
以下の記事では、このプログラムを1行に文字を横並びに行として表示、改行とついでにバックスペースで文字を削除できるように改造することにしましょう。

このプログラムは永久にキーボードからの入力待ちをします。実行後は次のステップに行く前に をクリックしてページをリロードしておきましょう。

キー入力を変数に記憶させて表示する

『オコゲ』の黒板表示は1行ずつ表示することしかできません。そこで、キーボードから入力された文字を変数に代入して記憶してから、まとめて表示できるようにしましょう。

変数とは、数字や文字を代入して保存しておくことができる領域のことです。変数には名前をつけて使います。「変数1」という名前の変数に「あいう」を記憶させてから、『「変数1」を表示しなさい』と命令すれば「あいう」が表示されます。変数の中身は必要に応じて何度でも書き換えることができます。

変数を作成する

クリックで拡大

まず、入力を記録する変数を作成します。「変数」カテゴリから「変数の作成…」をクリックします。

クリックで拡大

ダイアログで変数の名前を入力します。ここでは「行」にします。

キー入力を変数に代入する

この状態で「変数」カテゴリを開くと、 がありますので、これと を使って、変数「行」に変数「キー」の内容を代入するコードを作ります。黒板には「キー」ではなく「行」を表示するように変更します。

クリックで拡大

これを実行しても、結果は変更前とまだ変わりありません。これは、変数「行」が1回分の「キー」しか覚えていないからです。では、変数「行」にキー入力を続けて記憶させるにはどのようにすれば良いのでしょうか。

変数に文字を追加して文字列を作成しよう

文字列とは、文字の並びや集まりのことです。文字列も変数に記憶させておくことができます。では変数「行」の後ろに「キー」を追加するコードを考えてみましょう。例えば、最初「行」が “a" で「キー」が “b" だったら、最後に「行」が “ab" になるような、そんなプログラムを作りましょう。

さ、初めての出題ね!すぐに答えを開かないで、自分で考えて実際にブロックを組んで実行してみるのヨ!

ヒントは見てもいいの...

ヒント: を使います。

レッスン:変数「行」に「キー」を追加しよう
クリックで拡大

「追加する」という機能がないプログラミング言語を使う場合はこのような書き方をすることが多いです。分かりにくく感じる方は、式で考えるとすっきりするかもしれません。 「行」=「行」+「キー」 「行」と「キー」を連結して、その結果をまた「行」に戻す(代入する)というわけです。 これで、変数「行」の中身をリセットしない限りはキー入力を「行」にためこんでおくことができるようになりました。このブロックは、次のように配置してください。

クリックで拡大

これを実行してスペースキーを押してみてください。 と表示されたでしょうか。"undefined" は「未定義」という意味で、ここでは「行」という変数が未定義ですよ、ということになります。 何が起きているかというと、プログラム実行後最初にキーボードを押したとき、プログラムはまず「行」と「キー」を連結しようとします。ところが、これより前にプログラムは「行」に対して何もしていません。つまり、このときプログラム的には「行」という入れ物はあっても、何が入っているのか分かっていない状態なのです。だからプログラムは「『行』?わからんなー」と答えているのです。これを避けるためには、次のように、最初に変数「行」は空っぽの文字列だよー、と決めてあげる必要があります。

クリックで拡大

繰り返し処理の中で変数を使う場合、この「変数の初期化」をしないとちゃんと動かないことがよくあります。 昔 C 言語で変数を宣言しただけだと中にゴミデータが入ったままで…いや、なんでもない
頭の片隅にでも入れておくといいかもしれません。

では、実行してキーボードから「abcdefg」と入力してみましょう。

しっかり変数にキー入力が蓄積されて行っているようですね!でもこれだとタイプライターとは言い難い挙動なので、1か所修正します。

クリックで拡大

それっぽくなってきましたね?

その2に続きます。 (準備中)

『オコゲ』でぐーちょきぱーを機械学習

2022年5月16日
This post thumbnail

Raspberry Pi 専用デスクトップアプリ『オコゲ』は、Raspberry Pi の GPIO に直接アクセス1することができます。また、特定のセンサーに対応した専用ブロック2も用意されています。
ここでは、デスクトップ版『オコゲ』の目玉機能のひとつ、GPIO と TensorFlow.js3 を使った「機械学習体験」をご紹介いたします。

タマちー

機械学習?目玉焼きの?

ミミィ

目玉機能ね!目玉といえるかどうかは保証できないけど、機械学習はコンピュータ界隈で今もっともホットな話題のひとつではあるわね!

機械学習による画像分類(ぐーちょきぱー)

一言で機械学習といっても、その内容は多岐に渡ります。『オコゲ』が実装するのは「画像の分類」です。
今回は赤外線アレイセンサ(サーマルカメラ)でとらえたじゃんけんのハンドポーズ(ぐー・ちょき・ぱー)を Raspberry Pi で学習してみることにしましょう。

ぐーちょきぱーがわかるタマちー

なんかゲームとか作れそうですね。Raspberry Pi とあっちむいてほいとか勝てそうにないですね!

機械学習とは

機械学習とは、データを分析する方法の1つで、データから、「機械」(コンピューター)が自動で「学習し、データの背景にあるルールやパターンを発見する方法。近年では、学習した成果に基づいて「予測・判断」することが重視されるようになった。機械学習 | 用語解説 | 野村総合研究所(NRI)

Google で「機械学習」を検索してトップに表示される野村総研の文章を引用してみました。 機械学習は「人工知能(AI)」を実現するためのデータ分析技術の1つで、人間や動物が経験を通して自然に学習するのと同様のことをコンピュータでもやろうというものです。 本来コンピュータは高速で正確な演算が得意な半面、あまり融通が利きません。例えば、従来のコンピュータに「四角」という図形を教えるとすると

これは四角

うん

これも四角

うん

これは?

四角

じゃあこれは?

…?
見たことない形だヨ

すでに覚えたものと全く同じ「正方形」は認識できても、教わっていない「長方形」は理解できません。
機械学習の仕組みを組み込んだシステムでは同じように教える(学習させる)と

これは?

たぶん四角

この「たぶん」が重要で、この場合、コンピュータは正方形と平行四辺形から「四角」という図形の特徴を 自分で勝手に 見つけ出し、長方形がその特徴を持っていると判定して「90%の確率で四角」などと答えます。このように学習したデータを使用して新しいデータに対して予測や判断を行うことを「推論」といいます。

AMG8833 8×8 赤外線アレイセンサ (Grid-EYE)

クリックで拡大

Grid-EYE(AMG8833) は、Panasonic が開発した縦横8ピクセル(64画素)の赤外線センサ(サーマルカメラ)です。I2C接続で利用することができ、記事トップのカバー写真のような簡単な回路で温度データを取得できます。温度データは64画素それぞれの温度で、次のようなものです。

13.25,13.25,18,16.75,16.5,15.75,14.25,12.25,12.75,14,20,20,19.25,17.25,15.25,13.25,14,15.25,21,22,21.25,19.75,15.25,13.25,15,19.25,22,22.5,21.75,19.25,14.25,13,14.75,20.75,23.25,23.25,22.5,17,13.75,13,14.5,18,23,23.5,21.75,15.25,13.25,12.5,14.5,15.75,21.25,23.5,20,15,13.5,13.25,18.25,17.75,21.75,24,20.75,15.25,14.5,14
-

これを温度によって色付けして描画することで次のような画像を得ることができます。

見えないし

20倍に拡大してみました。これでも何が映っているのかなんとなくわかりますが、スムージングをかけることで少し見やすくなります。

手と言われれば、手。ちなみに左下のちょっとだけ赤い部分は、筆者の頭が写り込んだものです。最初、天井に温度が高い部分があるのかと思って上を見たりしていましたw

ところで、こんな感じの映像をどこかで見たことがありませんか?
そう、これ です。まさか Joy-Con にサーマルカメラが内蔵されていようとは。テレビCMを見て「おおお…」などと一人で盛り上がっていたのは内緒です。そのほか距離センサなどが同時に使用できるようになっている様子。ジャイロも入っているしホンマどえらいコントローラーやでぇ…

やってみる

プログラムは以下のようなものです。

※ボタンの作成など、本質に関係のない一部のブロックは折り畳み/省略しています。

センサで取得した画像はキャンバスに表示されるのようになっているので、これを「なし(手がかざされていない状態)」「ぐー」「ちょき」「ぱ」の4つのボタンを使って分類します。
キャンバス上の画像に対する推論は常時実行されていて、結果はマスコットキャラクターの横の吹き出しに表示されます。

学習を行う様子は動画をご覧ください。

  1. 何も学習していない状態では「undefined」が表示される。センサーに手をかざしてじゃんけんの形を作っても反応なし
  2. 手をかざさない状態を「なし」ボタンをクリックして学習させる(このとき画面には「じゃんけん…」と表示)
  3. 同様にして「ぐー」「ちょき」「ぱ」を学習。いずれも2回クリックで正しい推論をするようになった。念のため3回クリック
  4. その後はハンドポーズを正しく答えることができるようになる

なんということでしょう。たった3×4=12回のクリックでぐーちょきぱー判別の機械学習ができてしまいました。上のプログラムでは使われていませんが、学習したデータを保存・復元するブロックもありますので、育てた学習データを他のプログラムから呼び出して利用することができます。

ちょっと詳しく

『オコゲ』では機械学習ライブラリとして、Google が開発した TensorFlow (テンサーフロー)を利用しています。Google がこれをオープンソースとして公開したことで、機械学習を誰もがすぐに利用できるようになりました。Google 側もわかりやすいチュートリアルを用意したりして普及に余念がありません。

しかし、機械学習を一からやろうとすると、大量(画像何千枚とかのレベル)のサンプルデータとそれを学習するための高い処理能力を持つコンピュータ、そして膨大な学習時間が必要です。Raspberry Pi のような非力な子はお呼びではありません。理論も難解で(テンソル って何さ?)、「ばあさんや、なんか流行りらしいからちょっと齧ってみようかね」というわけにはなかなかいきません。先人が作った機械学習のデータ(モデルと呼びます)を利用するという手もありますが、応用がききません。犬種を分類する学習済みモデルを猫に使うことはできないからです。

そこで考案されたのが「転移学習 (Transfer Learning)」です。ある分野ですでに学習済みのモデルを別の分野での推論に転用して、少ないサンプルデータと学習時間で成果を出そうという手法です。言ってみれば成績の良い先輩からノートを借りてテスト勉強をするようなイメージです。 『オコゲ』の機械学習ブロックは、この転移学習を利用して簡単お手軽に機械学習を行うことができるようになっています。

今回のような「手のポーズの認識」であれば、そのまま使える学習済みモデルとして、Webカメラを使った MediaPipe Handpose (またはこっち )も利用できるだろうと思いますが、当たり前だけど手にしか反応しない(前述の「応用がきかない」)のと、Webカメラなので Raspberry Pi である必要がない、なにより「学習をさせる」という面白みがないのでここでは扱うのをやめました。サーマルカメラを使ったここで紹介したやり方なら、ちょっと離れたところから上半身が映るようにして例えば 「ヤングマン」のポーズ の認識などもできるかもしれません。

ポーズをとるのが恥ずかしくて試してないんですって!

誰も見てやしないのにね…

注釈

1. pigpio デーモンを利用するので厳密には直接ではないが...
2. 2022年5月現在、センサー専用ブロックは次の通り。
● ジェスチャーセンサー PAJ7620
● 温湿度センサー DHT11
● 温湿度気圧センサー BME280
● 赤外線アレイセンサ(サーマルカメラ)AMG8833

3. TensorFlow.js は、JavaScript 上で利用できる TensorFlow 実装。
TensorFlow といえばプログラム言語は Python が定番だが、Raspberry Pi では最新の TensorFlow を使おうと思うと、できないこともないようではあるものの、環境構築やインストールなど、少々敷居が高い。ありていに言うと、面倒くさい。TensorFlow.js は、それ自体が JavaScript で書かれているため、ブラウザ上の JavaScript から簡単に扱うことができ、導入の手間もほとんどかからない。スクリプト言語で書かれているが故の速度的な問題も WebAssembly バックエンド (wasm) でほぼ解決。そのまま使えるいくつもの有用な学習済みモデル があらかじめ用意されているうえ、AI に触れたことのない Webフロントエンジニアを意識しているようで、初学者向けの平易なドキュメントも充実している。「画像の転移学習」にはステップバイステップの丁寧なチュートリアル まで存在する。『オコゲ』を Blockly + Electron で開発してきたのは、もしかしたらこのためだったんじゃないかと思うほどの、あつらえたかのような環境であった。正味の話、前述の転移学習チュートリアルがなかったら機械学習ブロックの導入は諦めてたかもしれない。サンキューグーグル。

『オコゲ』でぐーちょきぱーを機械学習

May 16, 2022
This post thumbnail

Raspberry Pi 専用デスクトップアプリ『オコゲ』は、Raspberry Pi の GPIO に直接アクセス1することができます。また、特定のセンサーに対応した専用ブロック2も用意されています。
ここでは、デスクトップ版『オコゲ』の目玉機能のひとつ、GPIO と TensorFlow.js3 を使った「機械学習体験」をご紹介いたします。

タマちー

機械学習?目玉焼きの?

ミミィ

目玉機能ね!目玉といえるかどうかは保証できないけど、機械学習はコンピュータ界隈で今もっともホットな話題のひとつではあるわね!

機械学習による画像分類(ぐーちょきぱー)

一言で機械学習といっても、その内容は多岐に渡ります。『オコゲ』が実装するのは「画像の分類」です。
今回は赤外線アレイセンサ(サーマルカメラ)でとらえたじゃんけんのハンドポーズ(ぐー・ちょき・ぱー)を Raspberry Pi で学習してみることにしましょう。

ぐーちょきぱーがわかるタマちー

なんかゲームとか作れそうですね。Raspberry Pi とあっちむいてほいとか勝てそうにないですね!

機械学習とは

機械学習とは、データを分析する方法の1つで、データから、「機械」(コンピューター)が自動で「学習し、データの背景にあるルールやパターンを発見する方法。近年では、学習した成果に基づいて「予測・判断」することが重視されるようになった。機械学習 | 用語解説 | 野村総合研究所(NRI)

Google で「機械学習」を検索してトップに表示される野村総研の文章を引用してみました。 機械学習は「人工知能(AI)」を実現するためのデータ分析技術の1つで、人間や動物が経験を通して自然に学習するのと同様のことをコンピュータでもやろうというものです。 本来コンピュータは高速で正確な演算が得意な半面、あまり融通が利きません。例えば、従来のコンピュータに「四角」という図形を教えるとすると

これは四角

うん

これも四角

うん

これは?

四角

じゃあこれは?

…?
見たことない形だヨ

すでに覚えたものと全く同じ「正方形」は認識できても、教わっていない「長方形」は理解できません。
機械学習の仕組みを組み込んだシステムでは同じように教える(学習させる)と

これは?

たぶん四角

この「たぶん」が重要で、この場合、コンピュータは正方形と平行四辺形から「四角」という図形の特徴を 自分で勝手に 見つけ出し、長方形がその特徴を持っていると判定して「90%の確率で四角」などと答えます。このように学習したデータを使用して新しいデータに対して予測や判断を行うことを「推論」といいます。

AMG8833 8×8 赤外線アレイセンサ (Grid-EYE)

クリックで拡大

Grid-EYE(AMG8833) は、Panasonic が開発した縦横8ピクセル(64画素)の赤外線センサ(サーマルカメラ)です。I2C接続で利用することができ、記事トップのカバー写真のような簡単な回路で温度データを取得できます。温度データは64画素それぞれの温度で、次のようなものです。

13.25,13.25,18,16.75,16.5,15.75,14.25,12.25,12.75,14,20,20,19.25,17.25,15.25,13.25,14,15.25,21,22,21.25,19.75,15.25,13.25,15,19.25,22,22.5,21.75,19.25,14.25,13,14.75,20.75,23.25,23.25,22.5,17,13.75,13,14.5,18,23,23.5,21.75,15.25,13.25,12.5,14.5,15.75,21.25,23.5,20,15,13.5,13.25,18.25,17.75,21.75,24,20.75,15.25,14.5,14
+

これを温度によって色付けして描画することで次のような画像を得ることができます。

見えないし

20倍に拡大してみました。これでも何が映っているのかなんとなくわかりますが、スムージングをかけることで少し見やすくなります。

手と言われれば、手。ちなみに左下のちょっとだけ赤い部分は、筆者の頭が写り込んだものです。最初、天井に温度が高い部分があるのかと思って上を見たりしていましたw

ところで、こんな感じの映像をどこかで見たことがありませんか?
そう、これ です。まさか Joy-Con にサーマルカメラが内蔵されていようとは。テレビCMを見て「おおお…」などと一人で盛り上がっていたのは内緒です。そのほか距離センサなどが同時に使用できるようになっている様子。ジャイロも入っているしホンマどえらいコントローラーやでぇ…

やってみる

プログラムは以下のようなものです。

※ボタンの作成など、本質に関係のない一部のブロックは折り畳み/省略しています。

センサで取得した画像はキャンバスに表示されるのようになっているので、これを「なし(手がかざされていない状態)」「ぐー」「ちょき」「ぱ」の4つのボタンを使って分類します。
キャンバス上の画像に対する推論は常時実行されていて、結果はマスコットキャラクターの横の吹き出しに表示されます。

学習を行う様子は動画をご覧ください。

  1. 何も学習していない状態では「undefined」が表示される。センサーに手をかざしてじゃんけんの形を作っても反応なし
  2. 手をかざさない状態を「なし」ボタンをクリックして学習させる(このとき画面には「じゃんけん…」と表示)
  3. 同様にして「ぐー」「ちょき」「ぱ」を学習。いずれも2回クリックで正しい推論をするようになった。念のため3回クリック
  4. その後はハンドポーズを正しく答えることができるようになる

なんということでしょう。たった3×4=12回のクリックでぐーちょきぱー判別の機械学習ができてしまいました。上のプログラムでは使われていませんが、学習したデータを保存・復元するブロックもありますので、育てた学習データを他のプログラムから呼び出して利用することができます。

ちょっと詳しく

『オコゲ』では機械学習ライブラリとして、Google が開発した TensorFlow (テンサーフロー)を利用しています。Google がこれをオープンソースとして公開したことで、機械学習を誰もがすぐに利用できるようになりました。Google 側もわかりやすいチュートリアルを用意したりして普及に余念がありません。

しかし、機械学習を一からやろうとすると、大量(画像何千枚とかのレベル)のサンプルデータとそれを学習するための高い処理能力を持つコンピュータ、そして膨大な学習時間が必要です。Raspberry Pi のような非力な子はお呼びではありません。理論も難解で(テンソル って何さ?)、「ばあさんや、なんか流行りらしいからちょっと齧ってみようかね」というわけにはなかなかいきません。先人が作った機械学習のデータ(モデルと呼びます)を利用するという手もありますが、応用がききません。犬種を分類する学習済みモデルを猫に使うことはできないからです。

そこで考案されたのが「転移学習 (Transfer Learning)」です。ある分野ですでに学習済みのモデルを別の分野での推論に転用して、少ないサンプルデータと学習時間で成果を出そうという手法です。『オコゲ』の機械学習ブロックは、この転移学習を利用して簡単お手軽に機械学習を行うことができるようになっています。

今回のような「手のポーズの認識」であれば、そのまま使える学習済みモデルとして、Webカメラを使った MediaPipe Handpose (またはこっち )も利用できるだろうと思いますが、当たり前だけど手にしか反応しない(前述の「応用がきかない」)のと、Webカメラなので Raspberry Pi である必要がない、なにより「学習をさせる」という面白みがないのでここでは扱うのをやめました。サーマルカメラを使ったここで紹介したやり方なら、ちょっと離れたところから上半身が映るようにして例えば 「ヤングマン」のポーズ の認識などもできるかもしれません。

ポーズをとるのが恥ずかしくて試してないんですって!

誰も見てやしないのにね…

注釈

1. pigpio デーモンを利用するので厳密には直接ではないが...
2. 2022年5月現在、センサー専用ブロックは次の通り。
● ジェスチャーセンサー PAJ7620
● 温湿度センサー DHT11
● 温湿度気圧センサー BME280
● 赤外線アレイセンサ(サーマルカメラ)AMG8833

3. TensorFlow.js は、JavaScript 上で利用できる TensorFlow 実装。
TensorFlow といえばプログラム言語は Python が定番だが、Raspberry Pi では最新の TensorFlow を使おうと思うと、できないこともないようではあるものの、環境構築やインストールなど、少々敷居が高い。ありていに言うと、面倒くさい。TensorFlow.js は、それ自体が JavaScript で書かれているため、ブラウザ上の JavaScript から簡単に扱うことができ、導入の手間もほとんどかからない。スクリプト言語で書かれているが故の速度的な問題も WebAssembly バックエンド (wasm) でほぼ解決。そのまま使えるいくつもの有用な学習済みモデル があらかじめ用意されているうえ、AI に触れたことのない Webフロントエンジニアを意識しているようで、初学者向けの平易なドキュメントも充実している。「画像の転移学習」にはステップバイステップの丁寧なチュートリアル まで存在する。『オコゲ』を Blockly + Electron で開発してきたのは、もしかしたらこのためだったんじゃないかと思うほどの、あつらえたかのような環境であった。正味の話、前述の転移学習チュートリアルがなかったら機械学習ブロックの導入は諦めてたかもしれない。サンキューグーグル。

『ゲーム電卓パイ』プロジェクト

2022年6月14日
This post thumbnail

CASIO のレトロガジェット「ゲーム電卓」を、『オコゲ』と LCD キャラクタディスプレイモジュールで作成します。
※ コード開発と記事は同時進行ですので、まったり更新&内容変更有です。

「ゲーム電卓」とは

ゲーム電卓(ゲームでんたく)は、卓上電子計算機にコンピュータゲームの機能を盛り込んだ多機能化商品。1980年代の電子ゲーム流行の際に大手電卓メーカー等から発売された。 Wikipedia | ゲーム電卓

ここでは、CASIO から発売された「デジタルインベーダー」SM880 の復刻版である SL-880 を指すこととします。プレイのイメージは、以下のサイトの動画をご覧ください。

メーカー製品ページ
取扱説明書
価格.comマガジン

ミミィ

懐かしいヮ・・・
「AIM」キーと「FIRE」キーがユルユルになるまで遊んだものョ・・・ハッ

タマちー

ミミィって歳いくつなんだろ・・・

準備

以下の記事に従ってデスクトップアプリ『オコゲ』の導入と設定を行ってください。

ハードウェア

記事中では、これらの部品をブレッドボードとワイヤ類で接続して使用します。

回路構成

クリックで拡大

以下は配線の一例です。

LCD キャラクタディスプレイRaspberry Pi GPIO (BCM)
A3V3(バックライト不要の場合は接続不要)
VDD3V3
RESET3V3 または 10kΩ でプルアップ
GNDGND
SDA22*
SCL23*
KGND(バックライト不要の場合は接続不要)

* I2C バス1(GPIO2-3)を使用する場合、キャラクタディスプレイにはこちら を使用

圧電サウンダRaspberry Pi GPIO (BCM)
片方20
もう片方GND
タクトスイッチRaspberry Pi GPIO (BCM)
26
19
左右 GNDGND

次回に続く・・・

キャラクタディスプレイに文字を表示してみるわ!

『ゲーム電卓パイ』プロジェクト

June 14, 2022
This post thumbnail

CASIO のレトロガジェット「ゲーム電卓」を、デスクトップ版『オコゲ』と LCD キャラクタディスプレイモジュールで作成します。
※ コード開発と記事は同時進行ですので、まったり更新&内容変更有です。

「ゲーム電卓」とは

ゲーム電卓(ゲームでんたく)は、卓上電子計算機にコンピュータゲームの機能を盛り込んだ多機能化商品。1980年代の電子ゲーム流行の際に大手電卓メーカー等から発売された。 Wikipedia | ゲーム電卓

ここでは、CASIO から発売された「デジタルインベーダー」SM880 の復刻版である SL-880 を指すこととします。プレイのイメージは、以下のサイトの動画をご覧ください。

メーカー製品ページ
取扱説明書
価格.comマガジン

ミミィ

懐かしいヮ・・・
「AIM」キーと「FIRE」キーがユルユルになるまで遊んだものョ・・・ハッ

タマちー

ミミィって歳いくつなんだろ・・・

ハードウェア

記事中では、これらの部品をブレッドボードとワイヤ類で接続して使用します。

回路構成

クリックで拡大

以下は配線の一例です。

LCD キャラクタディスプレイRaspberry Pi GPIO (BCM)
A3V3(バックライト不要の場合は接続不要)
VDD3V3
RESET3V3 または 10kΩ でプルアップ
GNDGND
SDA22*
SCL23*
KGND(バックライト不要の場合は接続不要)

* I2C バス1(GPIO2-3)を使用する場合、キャラクタディスプレイにはこちら を使用

圧電サウンダRaspberry Pi GPIO (BCM)
片方20
もう片方GND
タクトスイッチRaspberry Pi GPIO (BCM)
26
19
左右 GNDGND

次回に続く・・・

キャラクタディスプレイに文字を表示してみるわ!

『オコゲ』デスクトップ

2022年6月13日
This post thumbnail

このページで紹介するアプリは、限定的な環境において使用することを前提として素人が趣味で開発しているもので、不特定多数の方々の利用を想定したものではありません。ご了承くださいませ。

ミミィ

要するにちゃんと動かなくても文句言うなってことネ!

タマちー

言い方・・・

ダウンロードとインストール

『オコゲ』ダウンロードページ から最新版(最上部に表示されているもの)をダウンロードしてください。
ターミナルから次のようにインストールします。

$ sudo apt install ./ocoge_x.x.x_arm64.deb
+『オコゲ』デスクトップ | おこげ俱楽部

『オコゲ』デスクトップ

June 13, 2022
This post thumbnail

このページで紹介するアプリは、限定的な環境において使用することを前提として素人が趣味で開発しているもので、不特定多数の方々の利用を想定したものではありません。ご了承くださいませ。

ミミィ

要するにちゃんと動かなくても文句言うなってことネ!

タマちー

言い方・・・

ダウンロードとインストール

『オコゲ』ダウンロードページ から最新版(最上部に表示されているもの)をダウンロードしてください。
ターミナルから次のようにインストールします。

$ sudo apt install ./ocoge_x.x.x_arm64.deb
 # x.x.x はバージョン番号
 

アンインストール

ターミナルから次のように入力してください。

$ sudo apt remove ocoge
 

~/.config/ocoge に設定ファイルが残っていて気になる場合は手動で削除してください。

使い方

GPIO にアクセスするために、PIGPIO デーモンを起動しておきます。

$ sudo pigpiod
diff --git a/htdocs/2022-06-21_aqm0802a/index.html b/htdocs/2022-06-21_aqm0802a/index.html
index 354883e..b6f80dc 100644
--- a/htdocs/2022-06-21_aqm0802a/index.html
+++ b/htdocs/2022-06-21_aqm0802a/index.html
@@ -1,4 +1,4 @@
-AQM0802A に文字を表示してみる | おこげ俱楽部

AQM0802A に文字を表示してみる

2022年6月21日
This post thumbnail

ミミィ

とにかく試しに動かしてみるわよ!
考えてるヒマがあったら手を動かすのよ手を!

タマちー

1行目に「ocoge」、2行目に「club」と表示してみよう・・・

手順説明の下に『オコゲ』のブロックで組み立てたプログラムコードを畳んで置いてあります。クリックすると開きます。

それとこの先の説明では16進数と2進数が何の説明もなく出てくるわ!
気になる人は 16進数 , 2進数 あたりを見てネ!

I2C アドレス

次のコマンドで確認します。

$ i2cdetect -y 6
+AQM0802A に文字を表示してみる | おこげ俱楽部

AQM0802A に文字を表示してみる

June 21, 2022
This post thumbnail

ミミィ

とにかく試しに動かしてみるわよ!
考えてるヒマがあったら手を動かすのよ手を!

タマちー

1行目に「ocoge」、2行目に「club」と表示してみよう・・・

手順説明の下に『オコゲ』のブロックで組み立てたプログラムコードを畳んで置いてあります。クリックすると開きます。
※一部ブロックの形状が現行バージョンと異なります。

それとこの先の説明では16進数と2進数が何の説明もなく出てくるわ!
気になる人は 16進数 , 2進数 あたりを見てネ!

I2C アドレス

次のコマンドで確認します。

$ i2cdetect -y 6
      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 00:                         -- -- -- -- -- -- -- -- 
 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
diff --git a/htdocs/2022-07-26_rp2040/index.html b/htdocs/2022-07-26_rp2040/index.html
index 384e6dd..5014cf4 100644
--- a/htdocs/2022-07-26_rp2040/index.html
+++ b/htdocs/2022-07-26_rp2040/index.html
@@ -1,4 +1,4 @@
-海外からいろいろ届いたよ | おこげ俱楽部

海外からいろいろ届いたよ

2022年7月26日
This post thumbnail

ミミィ

ちょっとRP2040マイクロコントローラユニット (MCU) を色々買ってみたワ!
RP2040 はラズベリーパイ財団が開発したマイクロコントローラで、Raspberry Pi Pico に搭載されているものヨ!

マイクロコントローラとは、CPU(Central Processing Unit:中央処理装置)とメモリ等の周辺機能が1チップに集積された半導体の一つです。日本では、「マイコン」と呼ばれることもありますが、海外では通じない事が多いです。CPUは、ソフトウェアによるプログラムに従い演算や制御を行います。そのためにプログラムを格納するROMや演算データを一時記憶するRAMなどのメモリが周辺機能として内蔵されることが多く、その他にタイマやADコンバータと呼ばれる様々な機能も追加され現在では家電やOA機器、車載など多くのアプリケーションに採用されています。マイクロコントローラ(MCU)とは? - エプソン

NoMCUフラッシュピン数外寸1USB価格
1Raspberry Pi Pico 2MB20x2+351×21mmmicro527円2
2Raspberry Pi Pico W2MB20x2+351×21mmmicro810円2
3Waveshare RP2040-Zero 2MB9x2+523.5x18mmType-C517円3
4PIMORONI Tiny 2040 8MB48x2+321x18mmType-C1,134円2
5RP2040 Black Board New Type4MB520x2+453x23mmType-C405円3

1. 基板部のみの大きさ
2. PIMORONIの日本円表示価格 (送料別 - 小物なので800円くらい)
3. AliExpressの価格 (送料込・当方購入時の最低価格)
4. 2MB版もある
5. 16MB版もある (700円くらい)

タマちー

1,2 はオリジナル、4 はイギリスの有名ベンダーの製品、3,5 は中華製なの・・・

中華製品は基盤の仕上げとか動作のクセとか、些細なところで大きなストレスを与えてくるのよネ! 本質と違うところで苦労したくなければ中華は避けるべきヨ!

ヘンなモジュールで安く遊びたい変態さんには中華製超オススメ・・・

アンタ・・・

ただ、オリジナルの Pico に全く問題がないのかというとそうでもなく、例えばリセットボタンがない、基盤の上面にピン番号が印刷されていない、USB 端子形状が micro USB であるなど、使い勝手の悪い部分があります。まあこの辺りは Raspberry Pi コンピュータも同様なので、そういう思想なのでしょう。
そういうわけで、現在当方では小さいサイズに Tiny 2040 、普通サイズに RP2040 Black Board New Type を使用中。どちらも、リセットボタン、ピン番号のシルク印刷、USB Type-C、大容量のフラッシュメモリ、フルカラーLED搭載。加えて後者は送込み400円のお陰で、やらかしてしまっても怖くないのがイイ。

海外からいろいろ届いたよ

July 26, 2022
This post thumbnail

ミミィ

ちょっとRP2040マイクロコントローラユニット (MCU) を色々買ってみたワ!
RP2040 はラズベリーパイ財団が開発したマイクロコントローラで、Raspberry Pi Pico に搭載されているものヨ!

マイクロコントローラとは、CPU(Central Processing Unit:中央処理装置)とメモリ等の周辺機能が1チップに集積された半導体の一つです。日本では、「マイコン」と呼ばれることもありますが、海外では通じない事が多いです。CPUは、ソフトウェアによるプログラムに従い演算や制御を行います。そのためにプログラムを格納するROMや演算データを一時記憶するRAMなどのメモリが周辺機能として内蔵されることが多く、その他にタイマやADコンバータと呼ばれる様々な機能も追加され現在では家電やOA機器、車載など多くのアプリケーションに採用されています。マイクロコントローラ(MCU)とは? - エプソン

NoMCUフラッシュピン数外寸1USB価格
1Raspberry Pi Pico 2MB20x2+351×21mmmicro527円2
2Raspberry Pi Pico W2MB20x2+351×21mmmicro810円2
3Waveshare RP2040-Zero 2MB9x2+523.5x18mmType-C517円3
4PIMORONI Tiny 2040 8MB48x2+321x18mmType-C1,134円2
5RP2040 Black Board New Type4MB520x2+453x23mmType-C405円3

1. 基板部のみの大きさ
2. PIMORONIの日本円表示価格 (送料別 - 小物なので800円くらい)
3. AliExpressの価格 (送料込・当方購入時の最低価格)
4. 2MB版もある
5. 16MB版もある (700円くらい)

タマちー

1,2 はオリジナル、4 はイギリスの有名ベンダーの製品、3,5 は中華製なの・・・

中華製品は基盤の仕上げとか動作のクセとか、些細なところで大きなストレスを与えてくるのよネ! 本質と違うところで苦労したくなければ中華は避けるべきヨ!

ヘンなモジュールで安く遊びたい変態さんには中華製超オススメ・・・

アンタ・・・

ただ、オリジナルの Pico に全く問題がないのかというとそうでもなく、例えばリセットボタンがない、基盤の上面にピン番号が印刷されていない、USB 端子形状が micro USB であるなど、使い勝手の悪い部分があります。まあこの辺りは Raspberry Pi コンピュータも同様なので、そういう思想なのでしょう。
そういうわけで、現在当方では小さいサイズに Tiny 2040 、普通サイズに RP2040 Black Board New Type を使用中。どちらも、リセットボタン、ピン番号のシルク印刷、USB Type-C、大容量のフラッシュメモリ、フルカラーLED搭載。加えて後者は送込み400円のお陰で、やらかしてしまっても怖くないのがイイ。

ジェスチャーセンサ PAJ7620 を試す

2022年8月3日
This post thumbnail

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

PAJ7620 概要

  • 9種類のジェスチャーを認識(上下左右、前後、時計回り・反時計回り、波)
  • I2C インターフェース
  • 動作電圧:3.3V
  • 検出範囲:5~10cm
  • データシート

配線

クリックで拡大

VIN→3.3V
GND→GND
SDA→GPIO2
SCL→GPIO3
INT→オープン

Raspberry Pi の設定

メニュー→設定→Raspberry Piの設定→「インターフェース」タブで I2C を有効にしておく

『オコゲ』プログラム

クリックで拡大

動画サンプル

PAJ7620を『オコゲ』で使用している動画です。
※ 古い動画なので現在の『オコゲ』とは見た目が色々と異なっています。ご了承ください。

ジェスチャーセンサ PAJ7620 を試す

いろいろ遊べそうな雰囲気。Raspberry Pi Zero をネットラジオ再生専用機にしたりしているので、ジェスチャ対応にしてみたら面白いかもしれない。

昔見たイギリス製SFテレビドラマ「SPACE: 1999」を思い出した。「The Last Enemy(邦題:宇宙戦艦ミサイル発射!)」というエピソードで、その宇宙戦艦「 サタゼウス 」のコントロールパネルがまさにこんな感じの非接触式ジェスチャ操作で、当時その未来的な雰囲気がチョーカッコイイと感じたのを覚えている。今見るとこれはこれで「レトロ未来感」が逆にカッコイイのだが。 関係ないけどサタゼウスの乗組員が全員女性(全員女性の惑星と全員男性の惑星が戦争しているという設定w)で、これまたカッコイイ のだった。リンク先の写真の直後、戦艦が爆破されてみんな死んじゃうけど。敵だったからネ

ジェスチャーセンサ PAJ7620 を試す

August 3, 2022
This post thumbnail

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

PAJ7620 概要

  • 9種類のジェスチャーを認識(上下左右、前後、時計回り・反時計回り、波)
  • I2C インターフェース
  • 動作電圧:3.3V
  • 検出範囲:5~10cm
  • データシート

配線

クリックで拡大

VIN→3.3V
GND→GND
SDA→GPIO2
SCL→GPIO3
INT→オープン

Raspberry Pi の設定

メニュー→設定→Raspberry Piの設定→「インターフェース」タブで I2C を有効にしておく

『オコゲ』プログラム

クリックで拡大

動画サンプル

PAJ7620を『オコゲ』で使用している動画です。
※ 古い動画なので現在の『オコゲ』とは見た目が色々と異なっています。ご了承ください。

ジェスチャーセンサ PAJ7620 を試す

いろいろ遊べそうな雰囲気。Raspberry Pi Zero をネットラジオ再生専用機にしたりしているので、ジェスチャ対応にしてみたら面白いかもしれない。

昔見たイギリス製SFテレビドラマ「SPACE: 1999」を思い出した。「The Last Enemy(邦題:宇宙戦艦ミサイル発射!)」というエピソードで、その宇宙戦艦「 サタゼウス 」のコントロールパネルがまさにこんな感じの非接触式ジェスチャ操作で、当時その未来的な雰囲気がチョーカッコイイと感じたのを覚えている。今見るとこれはこれで「レトロ未来感」が逆にカッコイイのだが。 関係ないけどサタゼウスの乗組員が全員女性(全員女性の惑星と全員男性の惑星が戦争しているという設定w)で、これまたカッコイイ のだった。リンク先の写真の直後、戦艦が爆破されてみんな死んじゃうけど。敵だったからネ

おこげ倶楽部自宅サーバについて

2023年3月22日
This post thumbnail

唐突ですが「押し入れで眠っている RPi を活用しようプロジェクト」の一環として、ocoge.club のウェブサーバマシンは Raspberry Pi 3B+ へ変更となりました。

ocoge.club は Raspberry Pi 自宅サーバ(上写真)にてホスティングされています。現在 Webサーバ、メールサーバが稼働しています。また、別マシン Orange Pi 3 LTS にクラウドサーバを入れてリバースプロキシを通した2台体制で運用しています。数千円で購入できる手のひらサイズのシングルボードコンピュータと3千円程度のSSDを使ってなかなか充実したネットサービスごっこwができます。

タマちー

「おこげ俱楽部」は、軽量多目的 Raspberry Pi サーバーとして絶賛開店中です...。

ミミィ

市場で一時期ラズパイが品薄・価格高騰した関係で、サーバのハードウェアを 4B(4GB) から、一世代古い 3B+ に変更したのよね!軽量化のためにWordPress をやめて Jamstack にするとかの対応をしているワ!

らずぱい高くなった...

在庫はだいぶ回復してきた1ようで一安心ね!価格はもうこのご時世じゃ諦めるしかないわネ!

ハードウェア構成

サーバ1

サーバ2

  • Orange Pi 3 LTS
  • グリーンハウス SSD 120GB (GH-SSDR2SA120)
  • GiGimundo 2.5インチ HDD ケース

ソフトウェア構成

サーバ1

種類名称
OSRaspberry Pi OS (64-bit) Lite
WebサーバNginx
サーバサイドプログラムCGI (FastCGI Wrap ) ※ローカルアクセスのみ
メールサーバ (MTA)Postfix
POP/IMAP サーバDovecot

サーバ2

種類名称
OSArmbian Jammy CLI
Git サーバForgejo
クラウドサーバNextcloud HUB 4
Web メールクライアントSnappyMail (Nextcloud プラグイン)

このほか、証明書取得に Let’s Encrypt (certbot) とか

その他利用しているもの

独自ドメイン (ocoge.club)
MyDNS (無料ダイナミックDNS)
インターネット接続回線(有線LANで接続)
静的サイトジェネレータ 11ty 及びブログテーマ Vredeburg

参考サイト

Sam Hobbs | Raspberry Pi Email Server
英語でメールサーバのみの解説ではあるが、ステップごとにインストールや設定がうまくいっているかどうか確認を行うことができるようになっているため、長い作業の中でどこでミスをしたのか、または不具合が出ているのかがわかりやすい。また、設定をデフォルトから変更する箇所にそれぞれ設定の意味の説明があり、自分が何をしているのかがわかるため、ソフトウェアのアップデートで設定項目やその値に変更があり見本と齟齬が生じていても対処が容易である。わけもわからず言われた通り延々ソフトウェアのインストールと設定ファイルの書き換えを繰り返し、辟易しながら終わらせたものの結局動作せず問題のある個所も見当がつかないまま挫折、などという悲劇を起こしにくい、ナイスなサイト。

サーバの構成を一新した理由は他にもあって...

セキュリティアップデートが面倒だったのヨ!
WordPress(とテーマ) と Nextcloud と RainLoop(ウェブメールクライアント)を手作業でアプデとか!
仕事でもないのにあんなのやってられないワ!!

今入れてる Nextcloud+SnappyMail は Snap 経由のインストールでそのうえ勝手に自分でアップデートしてくれる…楽…

注釈

1. 2023年8月現在

おこげ倶楽部自宅サーバについて

March 22, 2023
This post thumbnail

唐突ですが「押し入れで眠っている RPi を活用しようプロジェクト」の一環として、ocoge.club のウェブサーバマシンは Raspberry Pi 3B+ へ変更となりました。

ocoge.club は Raspberry Pi 自宅サーバ(上写真)にてホスティングされています。現在 Webサーバ、メールサーバが稼働しています。また、別マシン Orange Pi 3 LTS にクラウドサーバを入れてリバースプロキシを通した2台体制で運用しています。数千円で購入できる手のひらサイズのシングルボードコンピュータと3千円程度のSSDを使ってなかなか充実したネットサービスごっこwができます。

タマちー

「おこげ俱楽部」は、軽量多目的 Raspberry Pi サーバーとして絶賛開店中です...。

ミミィ

市場で一時期ラズパイが品薄・価格高騰した関係で、サーバのハードウェアを 4B(4GB) から、一世代古い 3B+ に変更したのよね!軽量化のためにWordPress をやめて Jamstack にするとかの対応をしているワ!

らずぱい高くなった...

在庫はだいぶ回復してきた1ようで一安心ね!価格はもうこのご時世じゃ諦めるしかないわネ!

ハードウェア構成

サーバ1

サーバ2

  • Orange Pi 3 LTS
  • グリーンハウス SSD 120GB (GH-SSDR2SA120)
  • GiGimundo 2.5インチ HDD ケース

ソフトウェア構成

サーバ1

種類名称
OSRaspberry Pi OS (64-bit) Lite
WebサーバNginx
サーバサイドプログラムCGI (FastCGI Wrap ) ※ローカルアクセスのみ
メールサーバ (MTA)Postfix
POP/IMAP サーバDovecot

サーバ2

種類名称
OSArmbian Jammy CLI
Git サーバForgejo
クラウドサーバNextcloud HUB 4
Web メールクライアントSnappyMail (Nextcloud プラグイン)

このほか、証明書取得に Let’s Encrypt (certbot) とか

その他利用しているもの

独自ドメイン (ocoge.club)
MyDNS (無料ダイナミックDNS)
インターネット接続回線(有線LANで接続)
静的サイトジェネレータ 11ty 及びブログテーマ Vredeburg

参考サイト

Sam Hobbs | Raspberry Pi Email Server
英語でメールサーバのみの解説ではあるが、ステップごとにインストールや設定がうまくいっているかどうか確認を行うことができるようになっているため、長い作業の中でどこでミスをしたのか、または不具合が出ているのかがわかりやすい。また、設定をデフォルトから変更する箇所にそれぞれ設定の意味の説明があり、自分が何をしているのかがわかるため、ソフトウェアのアップデートで設定項目やその値に変更があり見本と齟齬が生じていても対処が容易である。わけもわからず言われた通り延々ソフトウェアのインストールと設定ファイルの書き換えを繰り返し、辟易しながら終わらせたものの結局動作せず問題のある個所も見当がつかないまま挫折、などという悲劇を起こしにくい、ナイスなサイト。

注釈

1. 2023年8月現在

『おこげ俱楽部』

2022年4月25日
This post thumbnail

『おこげ倶楽部』は『情報コース』のポータルサイトです。

このサイトでは、『情報コース』のご紹介のほか、独自のブロックプログラミング環境である『オコゲ』、教室で実施または実施予定の実習内容や技術情報の公開等をしています。

クイックリンク

まず目を通していただきたいページをいくつかご紹介いたします。

『情報コース』もっとくわしく編

教室での使用機材やソフトウェアについて、ランディングページより少し具体的にご紹介。

ブロックプログラミング環境『オコゲ』

オコゲってなんぞ?と思った方はこちら。Web体験版を操作できます。

プチレッスン

『オコゲ』Web 体験版を使用してプログラミング学習を体験することができます。

技術情報

初級者向け、Raspberry Pi や ICT について気付いたことや覚えておきたいことなどを記していきます。
「技術情報」タグをご覧ください。

おこげ倶楽部自宅サーバ

『おこげ倶楽部』は、Raspberry Pi 3 Model B+ を使った自宅サーバで稼働しています。ネット回線やハードウェアが専用業者のものに比べて貧弱であるため、表示に多少時間がかかることがありますことをご了承ください。 これは、ちいさな SBC(シングルボードコンピュータ)でミニマルなサーバ運用のデモンストレーションの意味もあります。興味がおありでしたら、以下の記事もどうぞ。

『おこげ俱楽部』

April 25, 2022
This post thumbnail

『おこげ倶楽部』は『情報コース』のポータルサイトです。

このサイトでは、『情報コース』のご紹介のほか、独自のブロックプログラミング環境である『オコゲ』、教室で実施または実施予定の実習内容や技術情報の公開等をしています。

クイックリンク

まず目を通していただきたい記事をいくつかご紹介いたします。

『情報コース』もっとくわしく編

教室での使用機材やソフトウェアについて、ランディングページより少し具体的にご紹介。

ブロックプログラミング環境『オコゲ』

オコゲってなんぞ?と思った方はこちら。Web体験版を操作できます。

プチレッスン

『オコゲ』Web 体験版を使用してプログラミング学習を体験することができます。

おこげ倶楽部自宅サーバ

『おこげ倶楽部』は、Raspberry Pi 3 Model B+ を使った自宅サーバで稼働しています。ネット回線やハードウェアが専用業者のものに比べて貧弱であるため、表示に多少時間がかかることがありますことをご了承ください。 これは、ちいさな SBC(シングルボードコンピュータ)でミニマルなサーバ運用のデモンストレーションの意味もあります。興味がおありでしたら、以下の記事もどうぞ。

Untitled

2023年8月26日

Untitled

September 15, 2023
This post thumbnail

2022年4月25日

『情報コース』ご紹介、独自のブロックプログラミング環境『オコゲ』、教室での実習内容や周辺技術情報等のアウトプット

This post thumbnail

2023年3月22日

ocoge.club は Raspberry Pi 自宅サーバにてホスティングされています。Webサーバ、メールサーバ稼働中。さらに...

This post thumbnail

2022年8月3日

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

2022年7月26日

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

This post thumbnail

2022年6月21日

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

2022年6月14日

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

This post thumbnail

April 25, 2022

『情報コース』ご紹介、独自のブロックプログラミング環境『オコゲ』、教室での実習内容や周辺技術情報等のアウトプット

This post thumbnail

March 22, 2023

ocoge.club は Raspberry Pi 自宅サーバにてホスティングされています。Webサーバ、メールサーバ稼働中。さらに...

This post thumbnail

August 3, 2022

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

July 26, 2022

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

This post thumbnail

June 21, 2022

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

June 14, 2022

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

\ No newline at end of file diff --git a/htdocs/index.json b/htdocs/index.json index b21969a..9d706b6 100644 --- a/htdocs/index.json +++ b/htdocs/index.json @@ -3,105 +3,98 @@ { "url": "/ict-course-portal/", "title": "『おこげ俱楽部』", - "date": "2199年1月1日", + "date": "January 1, 2199", "description": "『情報コース』ご紹介、独自のブロックプログラミング環境『オコゲ』、教室での実習内容や周辺技術情報等のアウトプット" }, { "url": "/2023-03-22_server/", "title": "おこげ倶楽部自宅サーバについて", - "date": "2023年3月22日", + "date": "March 22, 2023", "description": "ocoge.club は Raspberry Pi 自宅サーバにてホスティングされています。Webサーバ、メールサーバ稼働中。さらに..." }, { "url": "/2022-08-03_paj7620/", "title": "ジェスチャーセンサ PAJ7620 を試す", - "date": "2022年8月3日", + "date": "August 3, 2022", "description": "ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。" }, { "url": "/2022-07-26_rp2040/", "title": "海外からいろいろ届いたよ", - "date": "2022年7月26日", + "date": "July 26, 2022", "description": "RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。" }, { "url": "/2022-06-21_aqm0802a/", "title": "AQM0802A に文字を表示してみる", - "date": "2022年6月21日", + "date": "June 21, 2022", "description": "『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる" }, { "url": "/2022-06-10_game-dentak/", "title": "『ゲーム電卓パイ』プロジェクト", - "date": "2022年6月14日", + "date": "June 14, 2022", "description": "Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる" }, - { - "url": "/2022-06-13_ocoge-desktop/", - "title": "『オコゲ』デスクトップ", - "date": "2022年6月13日", - "description": "Raspberry Pi デスクトップアプリ版『オコゲ』について" - }, - { "url": "/2022-05-16_tf-janken/", "title": "『オコゲ』でぐーちょきぱーを機械学習", - "date": "2022年5月16日", + "date": "May 16, 2022", "description": "『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。" }, { "url": "/2022-05-14_petitlesson-01_typewriter-1/", "title": "プチレッスン『タイプライターっぽいもの』その1", - "date": "2022年5月15日", + "date": "May 15, 2022", "description": "サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。" }, { "url": "/petit-lesson/", "title": "プチレッスン目次", - "date": "2022年5月14日", + "date": "May 14, 2022", "description": "各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。" }, { "url": "/2022-05-14_mascots/", "title": "『オコゲ』マスコットのご紹介", - "date": "2022年5月13日", + "date": "May 13, 2022", "description": "『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。" }, { "url": "/2022-05-13_account/", "title": "受講生限定アカウントサービス", - "date": "2022年5月13日", - "description": "『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git アカウントを進呈しております。" + "date": "May 13, 2022", + "description": "『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。" }, { "url": "/2022-05-07_demo/", "title": "『オコゲ』Web 体験版", - "date": "2022年5月7日", + "date": "May 7, 2022", "description": "ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。" }, { "url": "/2022-05-01_ocoge-about/", "title": "ブロックプログラミング環境『オコゲ』", - "date": "2022年5月1日", + "date": "May 1, 2022", "description": "『オコゲ』は、Google Blockly ライブラリを使用して作られた、Raspberry Pi 向けブロックプログラミング環境です。" }, { "url": "/2022-04-27_ict-motto/", "title": "『情報コース』もっとくわしく編", - "date": "2022年4月27日", + "date": "April 27, 2022", "description": "『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。" } diff --git a/htdocs/landing-page/index.html b/htdocs/landing-page/index.html index 2a50ee7..6f41b45 100644 --- a/htdocs/landing-page/index.html +++ b/htdocs/landing-page/index.html @@ -1,4 +1,4 @@ -上野学習塾『情報コース』 | おこげ俱楽部

上野学習塾『情報コース』

2023年8月26日
This post thumbnail

上野学習塾では、来たるべき情報教育時代に向けて、IoT 技術を中心とした「情報」科目を学ぶことのできるクラスを開設いたします。

IoT とは…

Internet of Things、日本語で「モノのインターネット」といい、PCやスマートフォンなどの情報端末だけではなく、身のまわりのあらゆる「モノ」がインターネットに接続され、情報交換することで相互に制御する仕組みのことです。それには「モノ」が何らかの形でコンピュータにつながる必要がありますが、ここにディスプレイやキーボードといった「インターフェース」ではなく「センサー」を使用することで、「モノ」と「ネット」の、人間を介在しない接続が可能になります。IoT の入り口ともいえるこの技術は「フィジカルコンピューティング」と呼ばれています。

IoTのくだらなすぎる例。飲みすぎるとコンピュータに叱られる。LINE Notify と連携して奥様にも叱られることができれば、それはもう立派なIoTだ

学校でプログラミング?

IoT 学習セット:当塾で使用する予定の機材の一例。ご家庭でも導入しやすい構成

2020年度から「新学習指導要領」が小中高校で順次実施されます。その中に「情報活用能力を、言語能力と同様に学習の基盤となる資質・能力と位置付け」、小学校では「プログラミング的思考を育成」し、中学では「ネットワークを利用した双方向性のあるコンテンツのプログラミング」を学び、高校では共通必履修科目「情報I」を新設する、とあります。2024年には大学入学共通テストにこの「情報I」の導入が検討されています。今すぐ対策を!ということではありませんが、コンピュータに実際に触れプログラムを組むという経験が、大きなアドバンテージとなるであろうことは間違いありません。

子供たちの選択肢を広げるために

10~20年後には49%の職業が機械に代替され、2011年にアメリカの小学校に入学した子どもたちの65%は、今はまだ存在していない職業に就くだろうという予測があります(おそらくそのほとんどがコンピュータに深く関係するでしょう)。新指導要領でも「主体的・対話的で深い学び」(アクティブ・ラーニング)が求められており、今後の変化の大きい世界に対応する力を育てようとしていることがわかります。しかし、そうは言っても具体的にどのように学習を進めればよいのでしょうか。

画像上:Raspberry pi Zero WH。小さいけれど、れっきとした Linux コンピュータ。
左:英国で11歳と12歳の小学生全員に配布されているmicor:bit
右:当塾で使用予定のRaspberry Pi 3B+。いずれも小型で安価。※ 4B にアップグレードの予定
下:フリスクブラックミント。からい。

学習は本来楽しいもの

知らなかったことを知る、できなかったことができるようになる、それは本来とても楽しいはずのものです。しかし、親だけではなく本人でさえ、「できるようになった」よりも「できなかった」の方に目が行きがちです。そして「できた」ことは正しく評価されないまま、「勉強はイヤなもの」になっていくのです。 今後プログラミングが学校での学習に取り入れられていく中で、同じことが起こらないとは言えません。

プログラミングを楽しもう

コンピュータプログラミングは成果が「アプリ」という形で残るため「できた」ことが本人にも分かりやすく、自分で作ったアプリで遊んだり、PC操作や生活を便利にしたりすることで大きな充実感を得ることができます。簡単に言うと「楽しい」のです。楽しければ理解も進み、創意工夫をする意欲もわいてきます。それはまさに「アクティブラーニング」そのものです。わたしたちは、プログラミングを通して「学習」の楽しさを取り戻すお手伝いができれば、と考えています。

カリキュラム

基本的に高校の情報の要領に沿ったものを、Raspberry Pi と『オコゲ』を使って進めていきます。また、中学生以上ではプログラミングだけではなく授業形式でコンピュータの基礎からネットリテラシーまで幅広く行います。受講者の年齢や理解度に合わせた内容となりますが、「高校の要領」とは言っても、小学生にも十分理解できるものです。具体的な内容については、『情報コース』「もっとくわしく編」をご覧ください。

『オコゲ』に慣れたら、本格的なプログラム言語にステップアップすることもできます。『オコゲ』内部でも使用されている Javascript から始めて(以下2つはプログラミング言語ではありませんが)HTML 、CSS と進めば、立派な Web アプリ技術者の出来上がり(?)です。

最後に、上野学習塾

プログラミングは総合的な知的活動です。数学的・論理的な思考や国語力などを同時に要求されます。例えばゲームを作るために物体が落下するアニメーションを描画するのに、中学3年で学習する2次関数(数学)や物体の運動(理科)の知識がないと自然な動きを作ることはできません。 また、文科省が目指す「アクティブラーニング」ですが、一見「暗記中心の学習からの脱却」に見えますが、実はそうではなく「基礎はできて当たり前」という前提があってその上で創造的な学習をという内容となっています。大学入試ではその傾向がはっきりしており、「英検準2級を持っていない学生は出願すら受け付けない」という大学が学科を問わず増加しているという話を聞きます。あくまで、基礎学力が基準を満たしていることが前提なのです。 と、いう訳で、『情報コース』と共に上野学習塾『学習コース』をオススメしております。是非、合わせてご検討くださいませ。

講師について…東京学芸大学特別教科教員養成課程卒業後、東電ソフトウェア炉心管理システム部に在籍、ウラン濃縮シミュレーション作成チームに所属したりした。

『おこげ俱楽部』について

『おこげ俱楽部』は、「情報コース」ポータルサイトです。『オコゲ』や Raspberry Pi をはじめとする SBC(シングルボードコンピュータ)の情報を発信しています。

上野学習塾『情報コース』

September 15, 2023
This post thumbnail

上野学習塾では、来たるべき情報教育時代に向けて、IoT 技術を中心とした「情報」科目を学ぶことのできるクラスを開設いたします。

IoT とは…

Internet of Things、日本語で「モノのインターネット」といい、PCやスマートフォンなどの情報端末だけではなく、身のまわりのあらゆる「モノ」がインターネットに接続され、情報交換することで相互に制御する仕組みのことです。それには「モノ」が何らかの形でコンピュータにつながる必要がありますが、ここにディスプレイやキーボードといった「インターフェース」ではなく「センサー」を使用することで、「モノ」と「ネット」の、人間を介在しない接続が可能になります。IoT の入り口ともいえるこの技術は「フィジカルコンピューティング」と呼ばれています。

IoTのくだらなすぎる例。飲みすぎるとコンピュータに叱られる。LINE Notify と連携して奥様にも叱られることができれば、それはもう立派なIoTだ

学校でプログラミング?

IoT 学習セット:当塾で使用する予定の機材の一例。ご家庭でも導入しやすい構成

2020年度から「新学習指導要領」が小中高校で順次実施されます。その中に「情報活用能力を、言語能力と同様に学習の基盤となる資質・能力と位置付け」、小学校では「プログラミング的思考を育成」し、中学では「ネットワークを利用した双方向性のあるコンテンツのプログラミング」を学び、高校では共通必履修科目「情報I」を新設する、とあります。2024年には大学入学共通テストにこの「情報I」の導入が検討されています。今すぐ対策を!ということではありませんが、コンピュータに実際に触れプログラムを組むという経験が、大きなアドバンテージとなるであろうことは間違いありません。

子供たちの選択肢を広げるために

10~20年後には49%の職業が機械に代替され、2011年にアメリカの小学校に入学した子どもたちの65%は、今はまだ存在していない職業に就くだろうという予測があります(おそらくそのほとんどがコンピュータに深く関係するでしょう)。新指導要領でも「主体的・対話的で深い学び」(アクティブ・ラーニング)が求められており、今後の変化の大きい世界に対応する力を育てようとしていることがわかります。しかし、そうは言っても具体的にどのように学習を進めればよいのでしょうか。

画像上:Raspberry pi Zero WH。小さいけれど、れっきとした Linux コンピュータ。
左:英国で11歳と12歳の小学生全員に配布されているmicor:bit
右:当塾で使用予定のRaspberry Pi 3B+。いずれも小型で安価。※ 4B にアップグレードの予定
下:フリスクブラックミント。からい。

学習は本来楽しいもの

知らなかったことを知る、できなかったことができるようになる、それは本来とても楽しいはずのものです。しかし、親だけではなく本人でさえ、「できるようになった」よりも「できなかった」の方に目が行きがちです。そして「できた」ことは正しく評価されないまま、「勉強はイヤなもの」になっていくのです。 今後プログラミングが学校での学習に取り入れられていく中で、同じことが起こらないとは言えません。

プログラミングを楽しもう

コンピュータプログラミングは成果が「アプリ」という形で残るため「できた」ことが本人にも分かりやすく、自分で作ったアプリで遊んだり、PC操作や生活を便利にしたりすることで大きな充実感を得ることができます。簡単に言うと「楽しい」のです。楽しければ理解も進み、創意工夫をする意欲もわいてきます。それはまさに「アクティブラーニング」そのものです。わたしたちは、プログラミングを通して「学習」の楽しさを取り戻すお手伝いができれば、と考えています。

カリキュラム

基本的に高校の情報の要領に沿ったものを、Raspberry Pi と『オコゲ』を使って進めていきます。また、中学生以上ではプログラミングだけではなく授業形式でコンピュータの基礎からネットリテラシーまで幅広く行います。受講者の年齢や理解度に合わせた内容となりますが、「高校の要領」とは言っても、小学生にも十分理解できるものです。具体的な内容については、『情報コース』「もっとくわしく編」をご覧ください。

『オコゲ』に慣れたら、本格的なプログラム言語にステップアップすることもできます。『オコゲ』内部でも使用されている Javascript から始めて(以下2つはプログラミング言語ではありませんが)HTML 、CSS と進めば、立派な Web アプリ技術者の出来上がり(?)です。

最後に、上野学習塾

プログラミングは総合的な知的活動です。数学的・論理的な思考や国語力などを同時に要求されます。例えばゲームを作るために物体が落下するアニメーションを描画するのに、中学3年で学習する2次関数(数学)や物体の運動(理科)の知識がないと自然な動きを作ることはできません。 また、文科省が目指す「アクティブラーニング」ですが、一見「暗記中心の学習からの脱却」に見えますが、実はそうではなく「基礎はできて当たり前」という前提があってその上で創造的な学習をという内容となっています。大学入試ではその傾向がはっきりしており、「英検準2級を持っていない学生は出願すら受け付けない」という大学が学科を問わず増加しているという話を聞きます。あくまで、基礎学力が基準を満たしていることが前提なのです。 と、いう訳で、『情報コース』と共に上野学習塾『学習コース』をオススメしております。是非、合わせてご検討くださいませ。

講師について…東京学芸大学特別教科教員養成課程卒業後、東電ソフトウェア炉心管理システム部に在籍、ウラン濃縮シミュレーション作成チームに所属したりした。

『おこげ俱楽部』について

『おこげ俱楽部』は、「情報コース」ポータルサイトです。『オコゲ』や Raspberry Pi をはじめとする SBC(シングルボードコンピュータ)の情報を発信しています。

This post thumbnail

2022年6月13日

Raspberry Pi デスクトップアプリ版『オコゲ』について

This post thumbnail

2022年5月16日

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

2022年5月15日

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

2022年5月14日

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

This post thumbnail

2022年5月13日

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

This post thumbnail

2022年5月13日

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git アカウントを進呈しております。

This post thumbnail

May 16, 2022

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

May 15, 2022

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

May 14, 2022

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

This post thumbnail

May 13, 2022

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

This post thumbnail

May 13, 2022

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。

This post thumbnail

May 7, 2022

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

\ No newline at end of file diff --git a/htdocs/page/3/index.html b/htdocs/page/3/index.html index 05bbf3b..2421c58 100644 --- a/htdocs/page/3/index.html +++ b/htdocs/page/3/index.html @@ -1,3 +1,3 @@ -おこげ俱楽部 - Ohiwa Code Generator - Portal
This post thumbnail

2022年5月7日

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

2022年5月1日

『オコゲ』は、Google Blockly ライブラリを使用して作られた、Raspberry Pi 向けブロックプログラミング環境です。

This post thumbnail

2022年4月27日

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

This post thumbnail

May 1, 2022

『オコゲ』は、Google Blockly ライブラリを使用して作られた、Raspberry Pi 向けブロックプログラミング環境です。

This post thumbnail

April 27, 2022

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

\ No newline at end of file diff --git a/htdocs/petit-lesson/index.html b/htdocs/petit-lesson/index.html index 276cee0..cc2e5fa 100644 --- a/htdocs/petit-lesson/index.html +++ b/htdocs/petit-lesson/index.html @@ -1,4 +1,4 @@ -プチレッスン目次 | おこげ俱楽部

プチレッスン目次

2022年5月14日
This post thumbnail

ミミィ

よく来たわね!ここでは問題形式で『オコゲ』でのプログラミング学習を体験することができるわ!どんどん挑戦してってちょうだい!

タマちー

どきどき…

レッスンの進め方

問題部分は以下のようなブロックです。

レッスン:生命と宇宙と万物についての究極の疑問の答えは?
42です。

クリックすると答えが開きます。なるべくすぐには答えを見ずに、自分で考えてプログラムを作成して実行してみてください。プログラミングは基本的にトライアンドエラーです。まずは手を動かし、うまく動くまでいろいろ試してみましょう。

42?

『銀河ヒッチハイク・ガイド』ね!
気になる人は Google で「生命、宇宙、そして万物についての究極の疑問の答え 」を検索するといいわ!ディープ・ソート電卓が750万年の叡智が導き出す答えを計算してくれるわよ!レッスンの内容とは何の関係もないけどね!

注意事項

ブラウザは Chrome (Chromium) 推奨です

『オコゲ』Web 体験版は Google Chrome (Chromium) 推奨です。それ以外のブラウザをご使用の場合、表示が乱れたり、機能の一部が使用できないことがあります。
※ レンダリングエンジンに Blink (Chromium) を使用しているブラウザ(Microsoft Edge、Yandex Browserなど)は使用可能です。
※ 使用できないブラウザの例:Firefox(「CODE」ツールボタン動作せず)、Internet Explorer(画面すらまともに表示されず:D~~)など。

1-Wire 設定は「無効」にしましょう

アプリケーションメニュー→メニューRaspberry Pi の設定→インターフェイスタブの「1-Wire」を有効にすると、 デバイスとの接続に 1-Wire 通信という規格が使用できるようになります。使用するピンはデフォルトで GPIO4 で、「1-Wire」有効時にこのピンを他の目的で使用すると予期せぬ動作をすることがあります。当教室で確認した具体的な例としては LED をつないで点灯させると数秒(一瞬のことも)で勝手に消灯してしまう、PWMを使ってLEDの明るさを変更すると意図しない点滅をするなどです。
GPIO4 は隣が GND で使いやすいためか多くのサンプルで使用されています。1-Wire デバイス機器を使用しないのであれば、「1-Wire」は無効にしておく方が無難です。

目次

レッスンでは基本的にアタシが教師役よ!
イマドキの言葉で言えばメンターね!

ミミィメンター…うさんくさい…

プチレッスン目次

May 14, 2022
This post thumbnail

ミミィ

よく来たわね!ここでは問題形式で『オコゲ』でのプログラミング学習を体験することができるわ!どんどん挑戦してってちょうだい!

タマちー

どきどき…

レッスンの進め方

問題部分は以下のようなブロックです。

レッスン:生命と宇宙と万物についての究極の疑問の答えは?
42です。

クリックすると答えが開きます。なるべくすぐには答えを見ずに、自分で考えてプログラムを作成して実行してみてください。プログラミングは基本的にトライアンドエラーです。まずは手を動かし、うまく動くまでいろいろ試してみましょう。

42?

『銀河ヒッチハイク・ガイド』ね!
気になる人は Google で「生命、宇宙、そして万物についての究極の疑問の答え 」を検索するといいわ!ディープ・ソート電卓が750万年の叡智が導き出す答えを計算してくれるわよ!レッスンの内容とは何の関係もないけどね!

注意事項

ブラウザは Chrome (Chromium) 推奨です

『オコゲ』Web 体験版は Google Chrome (Chromium) 推奨です。それ以外のブラウザをご使用の場合、表示が乱れたり、機能の一部が使用できないことがあります。
※ レンダリングエンジンに Blink (Chromium) を使用しているブラウザ(Microsoft Edge、Yandex Browserなど)は使用可能です。
※ 使用できないブラウザの例:Firefox(「CODE」ツールボタン動作せず)、Internet Explorer(画面すらまともに表示されず:D~~)など。

目次

レッスンでは基本的にアタシが教師役よ!
イマドキの言葉で言えばメンターね!

ミミィメンター…うさんくさい…

『オコゲ』Pico (MicroPython) 対応について

2023年8月26日
This post thumbnail

一部のブロックで Raspberry Pi Pico (MicroPython) コードの出力に対応しました。

ミミィ

始めたばっかりなのでほんのちょっぴりだけヨ!
具体的には「ゲーム電卓パイ」のページにあるブロックプログラムに対応しているワ!

『オコゲ』Pico (MicroPython) 対応について

September 15, 2023
This post thumbnail

一部のブロックで Raspberry Pi Pico (MicroPython) コードの出力に対応しました。

ミミィ

始めたばっかりなのでほんのちょっぴりだけヨ!
具体的には「ゲーム電卓パイ」のページにあるブロックプログラムに対応しているワ!

Tagged with

Ict-course

This post thumbnail

2022年4月25日

『情報コース』ご紹介、独自のブロックプログラミング環境『オコゲ』、教室での実習内容や周辺技術情報等のアウトプット

This post thumbnail

2022年5月16日

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

2022年5月13日

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git アカウントを進呈しております。

This post thumbnail

2022年5月7日

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

2022年4月27日

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

Tagged with

Ict-course

This post thumbnail

April 25, 2022

『情報コース』ご紹介、独自のブロックプログラミング環境『オコゲ』、教室での実習内容や周辺技術情報等のアウトプット

This post thumbnail

May 16, 2022

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

May 13, 2022

『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。

This post thumbnail

May 7, 2022

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

April 27, 2022

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

\ No newline at end of file diff --git a/htdocs/tags/Pico/index.html b/htdocs/tags/Pico/index.html index cefeeeb..17a8528 100644 --- a/htdocs/tags/Pico/index.html +++ b/htdocs/tags/Pico/index.html @@ -1,3 +1,3 @@ -Tagged with "Pico" | おこげ俱楽部

Tagged with

Pico

This post thumbnail

2022年7月26日

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

Tagged with

Pico

This post thumbnail

July 26, 2022

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

\ No newline at end of file diff --git a/htdocs/tags/RP2040/index.html b/htdocs/tags/RP2040/index.html index b958146..ddcbe02 100644 --- a/htdocs/tags/RP2040/index.html +++ b/htdocs/tags/RP2040/index.html @@ -1,3 +1,3 @@ -Tagged with "Rp2040" | おこげ俱楽部

Tagged with

Rp2040

This post thumbnail

2022年7月26日

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

Tagged with

Rp2040

This post thumbnail

July 26, 2022

RP2040 ベースのマイクロコントローラユニットをいくつか買ってみました。

\ No newline at end of file diff --git a/htdocs/tags/index.html b/htdocs/tags/index.html index 05f65b8..bc48362 100644 --- a/htdocs/tags/index.html +++ b/htdocs/tags/index.html @@ -1,3 +1,3 @@ -Tag List | おこげ俱楽部
\ No newline at end of file diff --git a/htdocs/tags/オコゲ/2/index.html b/htdocs/tags/オコゲ/2/index.html index eae5ebc..2287cc7 100644 --- a/htdocs/tags/オコゲ/2/index.html +++ b/htdocs/tags/オコゲ/2/index.html @@ -1,3 +1,3 @@ -Tagged with "オコゲ" | おこげ俱楽部

Tagged with

オコゲ

This post thumbnail

2022年5月14日

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

This post thumbnail

2022年5月13日

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

This post thumbnail

2022年5月7日

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

2022年5月1日

『オコゲ』は、Google Blockly ライブラリを使用して作られた、Raspberry Pi 向けブロックプログラミング環境です。

Tagged with

オコゲ

This post thumbnail

May 13, 2022

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

This post thumbnail

May 7, 2022

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

May 1, 2022

『オコゲ』は、Google Blockly ライブラリを使用して作られた、Raspberry Pi 向けブロックプログラミング環境です。

\ No newline at end of file diff --git a/htdocs/tags/オコゲ/index.html b/htdocs/tags/オコゲ/index.html index 48e1ebe..7949199 100644 --- a/htdocs/tags/オコゲ/index.html +++ b/htdocs/tags/オコゲ/index.html @@ -1,3 +1,3 @@ -Tagged with "オコゲ" | おこげ俱楽部

Tagged with

オコゲ

This post thumbnail

2022年8月3日

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

2022年6月21日

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

2022年6月14日

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

This post thumbnail

2022年6月13日

Raspberry Pi デスクトップアプリ版『オコゲ』について

This post thumbnail

2022年5月16日

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

2022年5月15日

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

Tagged with

オコゲ

This post thumbnail

August 3, 2022

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

June 21, 2022

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

June 14, 2022

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

This post thumbnail

May 16, 2022

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

May 15, 2022

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

May 14, 2022

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

\ No newline at end of file diff --git a/htdocs/tags/センサー/index.html b/htdocs/tags/センサー/index.html index f9dcf93..3da55ad 100644 --- a/htdocs/tags/センサー/index.html +++ b/htdocs/tags/センサー/index.html @@ -1,3 +1,3 @@ -Tagged with "センサー" | おこげ俱楽部

Tagged with

センサー

This post thumbnail

2022年8月3日

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

Tagged with

センサー

This post thumbnail

August 3, 2022

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

\ No newline at end of file diff --git a/htdocs/tags/タマちー&ミミィ/index.html b/htdocs/tags/タマちー&ミミィ/index.html index e2c39c2..027ecae 100644 --- a/htdocs/tags/タマちー&ミミィ/index.html +++ b/htdocs/tags/タマちー&ミミィ/index.html @@ -1,3 +1,3 @@ -Tagged with "タマちー&ミミィ" | おこげ俱楽部

Tagged with

タマちー&ミミィ

This post thumbnail

2022年5月15日

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

2022年5月14日

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

This post thumbnail

2022年5月13日

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

Tagged with

タマちー&ミミィ

This post thumbnail

May 15, 2022

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

May 14, 2022

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

This post thumbnail

May 13, 2022

『オコゲ』のキャンバスにデフォルトで表示されるマスコットキャラクターをご紹介。

\ No newline at end of file diff --git a/htdocs/tags/デスクトップアプリ版/index.html b/htdocs/tags/デスクトップアプリ版/index.html index 769d1b4..bc98099 100644 --- a/htdocs/tags/デスクトップアプリ版/index.html +++ b/htdocs/tags/デスクトップアプリ版/index.html @@ -1,3 +1,3 @@ -Tagged with "デスクトップアプリ版" | おこげ俱楽部

Tagged with

デスクトップアプリ版

This post thumbnail

2022年8月3日

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

2022年6月21日

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

2022年6月14日

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

This post thumbnail

2022年6月13日

Raspberry Pi デスクトップアプリ版『オコゲ』について

Tagged with

デスクトップアプリ版

This post thumbnail

August 3, 2022

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

June 21, 2022

『ゲーム電卓パイ』プロジェクト~その2:LCD キャラクタディスプレイモジュール AQM0802A を試してみる

This post thumbnail

June 14, 2022

Raspberry Pi と LCD キャラクタディスプレイモジュールで「ゲーム電卓」を再現してみる

\ No newline at end of file diff --git a/htdocs/tags/プチレッスン/index.html b/htdocs/tags/プチレッスン/index.html index a8737f1..6daa871 100644 --- a/htdocs/tags/プチレッスン/index.html +++ b/htdocs/tags/プチレッスン/index.html @@ -1,3 +1,3 @@ -Tagged with "プチレッスン" | おこげ俱楽部

Tagged with

プチレッスン

This post thumbnail

2022年5月15日

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

2022年5月14日

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

Tagged with

プチレッスン

This post thumbnail

May 15, 2022

サンプルプログラム「タイプライターもどき」をもうちょっとだけタイプライターっぽくしてみましょう。

This post thumbnail

May 14, 2022

各レッスンに進む前にお読みください。問題形式で『オコゲ』でのプログラミング学習を体験することができます。

\ No newline at end of file diff --git a/htdocs/tags/動画/index.html b/htdocs/tags/動画/index.html index 4115e3a..2ab83be 100644 --- a/htdocs/tags/動画/index.html +++ b/htdocs/tags/動画/index.html @@ -1,3 +1,3 @@ -Tagged with "動画" | おこげ俱楽部

Tagged with

動画

This post thumbnail

2022年8月3日

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

2022年5月16日

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

2022年5月7日

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

2022年4月27日

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

Tagged with

動画

This post thumbnail

August 3, 2022

ちょっと楽しそうなハンドジェスチャセンサモジュール PAJ7620 を入手したので、『オコゲ』を使って遊んでみました。

This post thumbnail

May 16, 2022

『オコゲ』デスクトップ版の機能を動画でご紹介。サーマルカメラと TensorFlow を使ったインタラクティブでリアルタイムな機械学習。

This post thumbnail

May 7, 2022

ブロックプログラミングを体験してみましょう。ハードウェアなどの制限から、Web体験版ではできないこともありますが、感触を確かめることはできます。

This post thumbnail

April 27, 2022

『情報コース』では Raspberry Pi やブロックプログラム開発環境『オコゲ』、センサやモータなどを使用して、楽しみながら ICT や IoT などの情報技術を学習します。

\ No newline at end of file diff --git a/htdocs/tags/技術情報/index.html b/htdocs/tags/技術情報/index.html index ae48d44..db40286 100644 --- a/htdocs/tags/技術情報/index.html +++ b/htdocs/tags/技術情報/index.html @@ -1,3 +1,3 @@ -Tagged with "技術情報" | おこげ俱楽部

Tagged with

技術情報

This post thumbnail

2023年3月22日

ocoge.club は Raspberry Pi 自宅サーバにてホスティングされています。Webサーバ、メールサーバ稼働中。さらに...

Tagged with

技術情報

This post thumbnail

March 22, 2023

ocoge.club は Raspberry Pi 自宅サーバにてホスティングされています。Webサーバ、メールサーバ稼働中。さらに...

\ No newline at end of file diff --git a/src/posts/2022-05-13_account.md b/src/posts/2022-05-13_account.md index 46fe386..6535ec7 100644 --- a/src/posts/2022-05-13_account.md +++ b/src/posts/2022-05-13_account.md @@ -1,45 +1,45 @@ --- title: "受講生限定アカウントサービス" -description: "『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git アカウントを進呈しております。" +description: "『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。" date: 2022-05-13 thumb: "ogp_ocogeclub-duck.webp" tags: - - ICT-Course + - ICT-Course --- -『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスと Git サーバアカウントを進呈しております。 +『情報コース』受講者でご希望の方に、『おこげ倶楽部』オリジナルのメールアドレスとクラウドストレージを進呈しております。 ## 『おこげ倶楽部』メールアドレス {% floatbox { - img: 'rainloop.webp', - title: 'RainLoop', + img: 'snappymail.webp', + title: 'SnappyMail', width: '400px', colortheme: 'silver' } %} クリックで拡大 {% endfloatbox %} -お好きな名前@ocoge.club というメールアドレスを取得できます(※名前が使用済みでない場合に限ります)。また、画像のようなウェブメールクライアントをご用意していますので、特別なソフトウェアや設定をすることなしに、ウェブブラウザですぐにご利用になれます。 +お好きな名前@ocoge.club というメールアドレスを取得できます(※名前が使用済みでない場合に限ります)。また、画像のようなウェブメールクライアント(下記 Nextcloud プラグイン)をご用意していますので、特別なソフトウェアや設定をすることなしに、ウェブブラウザですぐにご利用になれます。 -## Git サーバ +## クラウドストレージ(Nextcloud) {% floatbox { - img: 'ocogit.webp', - title: 'ocogIt', + img: 'nextcloud-hub.webp', + title: 'Nextcloud Hub', width: '400px', colortheme: 'silver' } %} クリックで拡大 {% endfloatbox %} -> Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。( {% link_new {uri: 'https://ja.wikipedia.org/wiki/Git',title: 'Git | Wikipedia'} %}Wikipedia{% endlink_new %} ) +> Nextcloud は、オンラインストレージの作成と使用のためのクライアント・サーバ型のソフトウェアである。機能的には Dropbox に似ている(略)。Nextcloud はフリーかつオープンソースなので、誰でも自分のプライベートサーバにインストールして利用することができる。( {% link_new {uri: 'https://ja.wikipedia.org/wiki/Nextcloud',title: 'Nextcloud | Wikipedia'} %}Wikipedia{% endlink_new %} ) -コースで作成したプログラムソースなどの管理をすることができます。(Git についての緩い感じの解説は{% link_new {uri: 'https://wa3.i-3-i.info/word12778.html',title: ''} %}こちら{% endlink_new %}) +コースで作成したプログラムソースなどをご家庭からも閲覧・利用できるよう、独自のクラウドストレージをご用意いたしました。 ## セキュリティ対策 -常時SLL対応済み、不要ポート閉鎖など +常時 SLL 対応済み、不要ポート閉鎖など 以下は、セキュリティチェックサイトでのスコア。 ### メール @@ -53,5 +53,5 @@ tags: クリックで拡大 {% endfloatbox %} -POP3などはポートを閉じているため No Info となっているようです。 -安心してご利用いただける範囲内である…と、思われます。 \ No newline at end of file +POP3 などはポートを閉じているため No Info となっているようです。 +安心してご利用いただける範囲内である…と、思われます。 diff --git a/src/posts/2022-05-16_tf-janken.md b/src/posts/2022-05-16_tf-janken.md index 9070246..f9fb70d 100644 --- a/src/posts/2022-05-16_tf-janken.md +++ b/src/posts/2022-05-16_tf-janken.md @@ -151,8 +151,7 @@ Google で「機械学習」を検索してトップに表示される野村総 しかし、機械学習を一からやろうとすると、大量(画像何千枚とかのレベル)のサンプルデータとそれを学習するための高い処理能力を持つコンピュータ、そして膨大な学習時間が必要です。Raspberry Pi のような非力な子はお呼びではありません。理論も難解で({% link_new {uri: 'https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3%E3%82%BD%E3%83%AB',title: ''} %}テンソル{% endlink_new %}って何さ?)、「ばあさんや、なんか流行りらしいからちょっと齧ってみようかね」というわけにはなかなかいきません。先人が作った機械学習のデータ(モデルと呼びます)を利用するという手もありますが、応用がききません。犬種を分類する学習済みモデルを猫に使うことはできないからです。 -そこで考案されたのが「転移学習 (Transfer Learning)」です。ある分野ですでに学習済みのモデルを別の分野での推論に転用して、少ないサンプルデータと学習時間で成果を出そうという手法です。言ってみれば成績の良い先輩からノートを借りてテスト勉強をするようなイメージです。 -『オコゲ』の機械学習ブロックは、この転移学習を利用して簡単お手軽に機械学習を行うことができるようになっています。 +そこで考案されたのが「転移学習 (Transfer Learning)」です。ある分野ですでに学習済みのモデルを別の分野での推論に転用して、少ないサンプルデータと学習時間で成果を出そうという手法です。『オコゲ』の機械学習ブロックは、この転移学習を利用して簡単お手軽に機械学習を行うことができるようになっています。 今回のような「手のポーズの認識」であれば、そのまま使える学習済みモデルとして、Webカメラを使った {% link_new {uri: 'https://github.com/tensorflow/tfjs-models/tree/master/handpose',title: ''} %}MediaPipe Handpose{% endlink_new %}(または{% link_new {uri: 'https://github.com/tensorflow/tfjs-models/tree/master/hand-pose-detection',title: ''} %}こっち{% endlink_new %})も利用できるだろうと思いますが、当たり前だけど手にしか反応しない(前述の「応用がきかない」)のと、Webカメラなので Raspberry Pi である必要がない、なにより「学習をさせる」という面白みがないのでここでは扱うのをやめました。サーマルカメラを使ったここで紹介したやり方なら、ちょっと離れたところから上半身が映るようにして例えば {% link_new {uri: 'https://www.google.com/search?q=%E3%83%A4%E3%83%B3%E3%82%B0%E3%83%9E%E3%83%B3&client=firefox-b-d&channel=crow5&sxsrf=ALiCzsYBHeiV-1OPBaViMgeSnhYAEcV5sg:1652690019938&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjqqb-MzuP3AhUCad4KHUdKDN0Q_AUoAnoECAEQBA&biw=1006&bih=960&dpr=1',title: ''} %}「ヤングマン」のポーズ{% endlink_new %}の認識などもできるかもしれません。 diff --git a/src/posts/2022-06-10_game-dentak.md b/src/posts/2022-06-10_game-dentak.md index 4b6530a..75f45dd 100644 --- a/src/posts/2022-06-10_game-dentak.md +++ b/src/posts/2022-06-10_game-dentak.md @@ -8,7 +8,7 @@ tags: - デスクトップアプリ版 --- -{% simplebox 'box_stripe' %}CASIO のレトロガジェット「ゲーム電卓」を、『オコゲ』と LCD キャラクタディスプレイモジュールで作成します。 +{% simplebox 'box_stripe' %}CASIO のレトロガジェット「ゲーム電卓」を、デスクトップ版『オコゲ』と LCD キャラクタディスプレイモジュールで作成します。 ※ コード開発と記事は同時進行ですので、まったり更新&内容変更有です。{% endsimplebox %} ## 「ゲーム電卓」とは @@ -29,12 +29,6 @@ tags: ミミィって歳いくつなんだろ・・・ {% endthink_l %} -## 準備 - -以下の記事に従ってデスクトップアプリ『オコゲ』の導入と設定を行ってください。 - -{% blogcard {link:'http://localhost/2022-06-13_ocoge-desktop/'} %} - ## ハードウェア - Raspberry Pi 4B (8GB) diff --git a/src/posts/2022-06-13_ocoge-desktop.md b/src/posts/2022-06-13_ocoge-desktop.md index 001f087..e7d03f4 100644 --- a/src/posts/2022-06-13_ocoge-desktop.md +++ b/src/posts/2022-06-13_ocoge-desktop.md @@ -1,4 +1,5 @@ --- +eleventyExcludeFromCollections: true title: "『オコゲ』デスクトップ" description: "Raspberry Pi デスクトップアプリ版『オコゲ』について" date: 2022-06-13 diff --git a/src/posts/2022-06-21_aqm0802a.md b/src/posts/2022-06-21_aqm0802a.md index f5e7238..da205dd 100644 --- a/src/posts/2022-06-21_aqm0802a.md +++ b/src/posts/2022-06-21_aqm0802a.md @@ -17,7 +17,8 @@ tags: 1行目に「ocoge」、2行目に「club」と表示してみよう・・・ {% endsays_l %} -{% simplebox 'box_stripe' %}手順説明の下に『オコゲ』のブロックで組み立てたプログラムコードを畳んで置いてあります。クリックすると開きます。{% endsimplebox %} +{% simplebox 'box_stripe' %}手順説明の下に『オコゲ』のブロックで組み立てたプログラムコードを畳んで置いてあります。クリックすると開きます。 +※一部ブロックの形状が現行バージョンと異なります。{% endsimplebox %} {% talkicon_r {img: 'mimmy.webp', name: ''} %}{% says_r %} それとこの先の説明では16進数と2進数が何の説明もなく出てくるわ! diff --git a/src/posts/2023-03-22_server.md b/src/posts/2023-03-22_server.md index 422721e..106020a 100644 --- a/src/posts/2023-03-22_server.md +++ b/src/posts/2023-03-22_server.md @@ -73,18 +73,6 @@ ocoge.club は Raspberry Pi 自宅サーバ(上写真)にてホスティン {% link_new {uri: 'https://samhobbs.co.uk/raspberry-pi-email-server',title: ''} %}Sam Hobbs | Raspberry Pi Email Server{% endlink_new %} 英語でメールサーバのみの解説ではあるが、ステップごとにインストールや設定がうまくいっているかどうか確認を行うことができるようになっているため、長い作業の中でどこでミスをしたのか、または不具合が出ているのかがわかりやすい。また、設定をデフォルトから変更する箇所にそれぞれ設定の意味の説明があり、自分が何をしているのかがわかるため、ソフトウェアのアップデートで設定項目やその値に変更があり見本と齟齬が生じていても対処が容易である。わけもわからず言われた通り延々ソフトウェアのインストールと設定ファイルの書き換えを繰り返し、辟易しながら終わらせたものの結局動作せず問題のある個所も見当がつかないまま挫折、などという悲劇を起こしにくい、ナイスなサイト。 -{% talkicon_l {img: 'tama.webp', name: ''} %}{% says_l %} -サーバの構成を一新した理由は他にもあって... -{% endsays_l %} -{% talkicon_r {img: 'mimmy.webp', name: ''} %}{% says_r %} -セキュリティアップデートが面倒だったのヨ! -WordPress(とテーマ) と Nextcloud と RainLoop(ウェブメールクライアント)を手作業でアプデとか! -仕事でもないのにあんなのやってられないワ!! -{% endsays_r %} -{% talkicon_l {img: 'tama.webp', name: ''} %}{% think_l %} -今入れてる Nextcloud+SnappyMail は Snap 経由のインストールでそのうえ勝手に自分でアップデートしてくれる…楽… -{% endthink_l %} - ## 注釈 {% small 1 %}2023年8月現在{% endsmall %} \ No newline at end of file diff --git a/src/posts/ict-course-portal.md b/src/posts/ict-course-portal.md index cc672bb..1470910 100644 --- a/src/posts/ict-course-portal.md +++ b/src/posts/ict-course-portal.md @@ -13,7 +13,7 @@ tags: ICT-Course ## クイックリンク -まず目を通していただきたいページをいくつかご紹介いたします。 +まず目を通していただきたい記事をいくつかご紹介いたします。 ### 『情報コース』もっとくわしく編 @@ -33,10 +33,6 @@ tags: ICT-Course {% blogcard {link:'http://localhost/petit-lesson/'} %} -### 技術情報 - -初級者向け、Raspberry Pi や ICT について気付いたことや覚えておきたいことなどを記していきます。 -「技術情報」タグをご覧ください。 ## おこげ倶楽部自宅サーバ diff --git a/src/posts/img/nextcloud-hub.webp b/src/posts/img/nextcloud-hub.webp new file mode 100644 index 0000000..ff2e15a Binary files /dev/null and b/src/posts/img/nextcloud-hub.webp differ diff --git a/src/posts/img/snappymail.webp b/src/posts/img/snappymail.webp new file mode 100644 index 0000000..2fd52c1 Binary files /dev/null and b/src/posts/img/snappymail.webp differ diff --git a/src/posts/petit-lesson.md b/src/posts/petit-lesson.md index 89df003..850c30d 100644 --- a/src/posts/petit-lesson.md +++ b/src/posts/petit-lesson.md @@ -46,11 +46,6 @@ tags: ※ レンダリングエンジンに Blink (Chromium) を使用しているブラウザ(Microsoft Edge、Yandex Browserなど)は使用可能です。 ※ 使用できないブラウザの例:Firefox(「CODE」ツールボタン動作せず)、Internet Explorer(画面すらまともに表示されず:D~~)など。 -### 1-Wire 設定は「無効」にしましょう - -アプリケーションメニュー→メニューRaspberry Pi の設定→インターフェイスタブの「1-Wire」を有効にすると、 デバイスとの接続に 1-Wire 通信という規格が使用できるようになります。使用するピンはデフォルトで GPIO4 で、「1-Wire」有効時にこのピンを他の目的で使用すると予期せぬ動作をすることがあります。当教室で確認した具体的な例としては LED をつないで点灯させると数秒(一瞬のことも)で勝手に消灯してしまう、PWMを使ってLEDの明るさを変更すると意図しない点滅をするなどです。 -GPIO4 は隣が GND で使いやすいためか多くのサンプルで使用されています。{% span "mfr" %}1-Wire デバイス機器を使用しないのであれば、「1-Wire」は無効にしておく方が無難です。{% endspan %} - ## 目次 {% blogcard {link:'http://localhost/2022-05-14_petitlesson-01_typewriter-1/'} %}