Raspberry Pi 入門-カメラホルダーの組み立て方法-
Raspberry Piのカメラとカメラホルダーを購入しました。
ただ、台座の組み立て手順が記載されていなかったので、簡単な手順書を記載します。
まず、購入サイトはAmazonの以下のページです。
他にもカメラモジュールは販売されていますが、
Raspberry Pi Zero用のケーブル付きで最安は上記のページでした。
続きを読む
raspberry Pi 入門②
今回はLEDを光らせるとこまで、やってみます。
【部品】
・抵抗(220Ω)
・ジャンプワイヤー(オス×メス)×2
・5mm赤色LED
・ブレットボード
なお、Amazonさんでスターターキット的なやつが販売しているので、これを買うのもアリ。(私みたいな素人が調子に乗ってバラで買うより、断然いいと思います。)
では、下準備をしていきましょう。
【ハード】
以下のように回路をつなぎます。
上記は「Fritzing」というツールを使って作成しました。直感的に操作ができるので、初心者の私でも楽勝でした。
以下のサイトからベータ版をダウンロードして使用しました。
https://www.malavida.com/jp/soft/fritzing/
なお、必ず抵抗器をつけるようにしてください!抵抗器を付けないと、LEDがショートして煙がでます。。。マジです。(下の画像の左側がショートしたLEDです。)
【ソフト】
ソフトはC言語を使用します。
適当なディレクトリに「ledControl.c」というファイルを作成し、以下のコードをコピペします。
#include <wiringPi.h>
#define GPIO17 17
#define LED_ON 1
#define LED_OFF 0
int main(void) {
int i;
if(wiringPiSetupGpio() == -1) return 1;
pinMode(GPIO17, OUTPUT);
for(i=0; i<10; i++){
digitalWrite(GPIO17, LED_ON);
delay(950);
digitalWrite(GPIO17, LED_OFF);
delay(800);
}
digitalWrite(GPIO17, 0);
return 0;
}
以下のコマンドで、コンパイルをしてください。
コンパイルが成功したら、「ledControl」ファイルが作成されているはずです。
$gcc -Wall -o ledControl ledControl.c -lwiringPi
そして、コンパイルしたファイルを実行したら、10回ほどLEDがチカチカ光ります。
$sudo ./ledControl
成功動画
これで、スタートラインに少し立てた気がしますね!
・・・気のせいか汗
参考サイト
raspberry Pi 入門①
今月、会社でやることがなくなってしまったため、業務時間中にrasbpberry Piの勉強をすることになりました。
Javaのお勉強を改めてしようかなと思った矢先だったので、記事の内容が点でバラバラになってしまっていますが。。。
用意した機材
・Raspberry Pi Zero WH
・USB-microUSB変換ケーブル(microUSB-typeB(オス)-USB(メス))
・モニター
・HDMI変換アダプタ(HDMI(オス) -HDMI(メス))
・microSDCHカード(TOSHIBA製 MU-J016GX)
基本的な手順は以下のサイト通り
【ラズパイ初心者向け】Raspberry Pi Zero W セットアップ方法(2018年9月版)
1.OSインストール
1-1.SDカードのフォーマット
以下のサイトより、フォーマット用ソフトをインストールし、フォーマットをする。
1-2.OSのダウンロード
以下のサイトより、OSをダウンロードします。
私は「raspbian-2020-02-14」リリースの「2020-02-13-raspbian-buster.zip」をダウンロードし、解凍しました。
解凍すると、「2020-02-13-raspbian-buster.img」というディスクイメージファイルがあります。
上記のサイトは日本のミラーサイトのようです。このサイトを使用すると、wi-fiの設定ができませんでした。
そのため、公式サイトからダウンロードしなおしてOSを入れたら、wi-fiの認識ができました。
1-3.OSのインストール
ディスクイメージファイルを、1-1のツールでSDカードにインストール。
EtcherでディスクイメージファイルをSDカードにインストールすると、以下のように展開されます。
2.OS初期設定(ここからは、スマホで撮った写真になります。)
2-1.ラズパイの接続
以下のように、SDカード、モニター、キーボード、電源ケーブルを挿します。
成功すると、電源ケーブル脇のランプが緑色に光ります。
2-2.初期設定
起動させてしばらくすると、welcom画面が表示されるので初期設定をしていきます。
国・言語設定
パスワード設定
スクリーン設定
(デフォルトのチェックなしで進めました。)
wi-fi設定
(wi-fiを見つけてくれなかったので、次に進めました。)
⇒後日、OSを公式サイトからダウンロードしたら、wi-fiが認識されました。
アップデート
アップデートして、初期設定が完了します。
ただ、私の場合はwi-fiに接続できず、アップデートに失敗しました。。。
失敗しても再起動すれば、とりあえずは使用できます。
実行可能なjarファイルとは
本日、Mavenのお勉強中に「実行可能なjarファイル」という単語と遭遇したので、jarファイルについてまとめようと思う。
まず、Jarファイルの実行方法について、順を追ってみていきたい。
①以下のようなテストクラスを作成する。
package test;
public class TestJar{ public static void main(String args[]){
System.out.println("HelloWorld");
}}
②クラスファイルを実行すると、HelloWorldが出力される。
$javac test/TestJar.java
→TestJar.classファイル作成
$java test.TestJar
→HelloWorldが出力される。
③で、同様にjarにして実行してみるとどうなるだろうか。
$jar cf TestJar.jar test/
→TestJar.jarファイル作成
$java -jar TestJar.jar
→jarファイルの実行
「TestJar.jarにメイン・マニフェスト属性がありません」が出力される。
原因としては、jar自体には複数のMainClassを持たせることができるが、どのMainClassを実行するのか定義されていない、ことが原因。
そこで、MANIFEST.MFファイルにメイン・マニフェスト属性を追加することが必要。
④マニュフェストファイルの追加
ファイル名:test.txt(jarと同じ階層)
Main-Class: test.TestJar
※マニュフェストファイルの拡張子はなんでもいいっぽい。
⑤マニュフェストの更新
$jar uvfm TestJar.jar test.txt
test.txtファイルのマニュフェストをJarに更新する。
⑥Jarの実行
$java -jar test.TestJar.jar
→「HelloWorld」が出力される。
なお、フォルダ階層は以下の感じ。
D://
│ test.txt (マニュフェストファイル)
│ TestJar.jar (testフォルダをjarに変換したアーカイブ)
│
└─test
TestJar.class
TestJar.java
このように、jarファイルを単に作るだけでは、jarファイルの実行は不可。
つまり、実行可能なjarファイルとは、マニュフェストを更新して「javaコマンドで実行できる状態にしたjarファイル」のことである。(と思う)
jarファイルって、今までjavaのファイルをまとめただけ、程度の認識だったんだけど、こうしてみると、ちょっと違うんですね。
続きを読む
jarとwarとearのまとめ
javaを勉強する上でしばしば登場するjar/war/earについて、いつもどれがどれだったのか忘れるので、一度まとめてみます。
①jar
Java ARchiveの略。
コンパイルされた複数のjavaファイルと、それらが使用する画像などのリソースを、1つにまとめてzip形式で圧縮したもの。
②war
Web application ARchiveの略。
jarを含み、HTMLファイル、設定ファイルなどを1つにまとめて、zip形式で圧縮したもの。
③ear
Enterprise ARchiveの略
Java EE※アプリーケーションのパッケージ形式。
jar/warファイルを含み、それらの構成を管理するapplication.xmlを含んだ、zip形式のファイル
※Java EEとは、(Java Platform, Enterprise Edition)の略で、企業向けのjavaのフレームワーク。なお、Enterpiseについて調べたところ大企業のシステム・会社全体のシステムといった意味らしい。
つまり、
jar<war<ear
というようなファイルの大きさのようだ。
ただ、earファイルってあまり扱ったことがないので、ちょっと認識がずれているかも。