横井さんのロビー/専門ゼミ
の編集
Top
/
横井さんのロビー
/
専門ゼミ
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
島部/menu/template
[[横井]] #contents ** 11月9日 raspberry piの初期設定 [#u5fc6976] +必要なもの~ ・USBキーボード(任意)~ ・USBマウス(任意)~ ・新品またはフォーマット済のmicroSDカード8GB以上(必須)~ ・HDMIケーブル(任意)~ ・LCDモニタ(HDMI入力があるもの)(任意)~ ・ACアダプタ(必須)~ ・PC(必須)~ ・Raspberry pi 3 Model B(必須)~ ・LANケーブル(任意) +Raspbianのダウンロード~ ・下記のリンクからOS(RASBIAN)をダウンロード~ ・[[OS(RASPBIAN)の配布元:https://www.raspberrypi.org/downloads/raspbian/]]~ ・Raspbian Stretch with desktopの欄にあるDownload ZIPをクリックするとダウンロードが始まる。~ ・ダウンロード後解凍すると、Raspbianのディスクイメージファイルが入手できる。~ +RaspbianをmicroSDに焼く~ ・今回は、DD for Windows を使う。下記のリンクから最新バージョンを選んでダウンロード&解凍~ ・[[DD for Windows の配布元:http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows]]~ ・DL&解凍後、DDWin.exeを右クリックより管理者権限で起動。~ ・ディスクの選択 → OSを焼くSDカードを選択。~ ・ファイルの選択 → OSイメージを選択(ファイルの種類をddi→ALL Filesに)~ ・<<書き込み<< をクリック~ ・しばらく待つと完了~ +SSHの設定(他のパソコンから操作しないのであれば不要であるが、ディスプレイ無いなら必須)~ ・SDカードを開いて一番上の階層にsshという名前のファイルを作るだけ。(メモ帳などをリネームして拡張子を削る)~ ~ここまでやって、raspberry piにmicroSDをいれると、起動できるようになる。 +raspberry piの起動方法~ ・最初に、OSを入れたmicroSDをraspberry piに入れる。~ ・次に、raspberry piとモニタをHDMIケーブルで繋げる。~ ・次に、USBマウス、キーボードを持っているならraspberry piに繋げる。~ ・最後に、ACアダプタをraspberry piに繋げると起動する。 +各種設定変更~ ・raspberry piにてターミナルを起動する。~ ・raspberry piのターミナルで下記のコマンドを入力すると設定画面が開く~ ・sudo raspi-config~ ・Piユーザーのパスワードの変更~ ・・Chagen User Password より行う~ ・タイムゾーン&Wifiの設定~ ・・Localisation Options → Change Timezone からタイムゾーンの変更をする Asia → Tokyo~ ・・Localisation Options → Change Wi-fi Country から Wifiを使う国の選択 Japan~ ・SDカードの拡張~ ・・Advanced Options → Expand Filesystem~ ・・大容量のSDカードを使用しても、初期設定のままでは先頭の 2GB 程度のみの利用しかできなくなっているため、 Expand Filesystemを使い容量を拡張する。~ ・上記の設定を終えたらFinishを押し再起動する。 +Wifi接続方法~ -注意 富山県立大学のwifiを使うときは、物理アドレス登録が必要です。 -ターミナルで下記のコマンドを入力する。SSIDとPASSPHRASEはそれぞれの環境に合わせて変更して実行する。 --sudo sh -c 'wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf' -お節介でパスワードが生で記述されているので下記のコマンドを入力して削除する。 --vi /etc/wpa_supplicant/wpa_supplicant.conf -再起動後 ip addr コマンド等で無線LANのIPアドレスを確認する~ IPアドレスを確認することでTera Term等を用いて、他のパソコンからSSH接続することができる。~ Tera termを用いたSSH接続については、12月6日の欄で説明する。 +パッケージ情報を最新にする -ターミナルで下記のコマンドを入力 --sudo apt-get update -次に、下記のコマンドを入力 --sudo apt-get upgrade -続行しますか?[Y/n] と表示されます。「Y」を入力し、しばらく待ちましょう。~ -その後下記のコマンドを入力し再起動 --sudo reboot -ほかにノートパソコンにダウンロードしたもの --[[窓の杜|Tera Term:https://forest.watch.impress.co.jp/library/software/utf8teraterm/]] --[[iTuens:https://www.apple.com/jp/itunes/download/]](これをダウンロードするとPCと直接LANケーブルでつなげることでSSH接続可能) -参考サイト --[[モニターキーボードなしでRaspberry Pi 3のセットアップ:http://teihengrammer.net/raspberry-pi-3-setup]] --[[Raspberry Pi 3を買ってMacを使ってWiFi接続とSSHの接続するまで:https://qiita.com/toshihirock/items/8e7f0887b565defe7989]] --[[Raspberry Pi 3のセットアップ→日本語入力まで(MacOS、NOOBS使用):http://xayataka.hatenablog.com/entry/2017/02/25/225418]] ** 11月16日 温湿度センサ [#t1f94cbd] -下記にraspberry piと温湿度センサDHT11の接続方法を載せる。 #ref(wiki1.png,,50%) -raspberry piのターミナルにて下記のコマンドを入力するとgithubからデータをダウンロードできるようになる。 --sudo apt-get install git -次に、プログラムを入れたいフォルダに移動して、下記のコマンドを入力するとDHT11を動作させるプログラムを入手できる。 --git clone https://github.com/szazo/DHT11_Python.git -最後に、プログラムの入っているフォルダに移動して、ターミナルから下記のコマンドを入力する。 --sudo python dht11_example.py -下の画像のように温度と湿度の値が表示されれば完成。 #ref(wiki2.png,,50%) -参考サイト --[[Raspberry Pi3(ラズベリーパイ3)とDHT11の温湿度センサーを使って室温を測定してみよう:https://yuki-no-yabo.com/measure-temp-usingdht11/]] ** 11月30日 KY-038 KY-039 [#l631f5fd] -未完成 -以下、参考リンク -http://bitwave.showcase-tv.com/raspberry-pi%e3%81%a8%e3%82%bb%e3%83%b3%e3%82%b5%e3%83%bc%e3%81%a7%e3%83%98%e3%83%ab%e3%82%b9%e6%83%85%e5%a0%b1%e3%81%ae%e5%8f%96%e5%be%97%ef%bc%88%e5%bf%83%e6%8b%8d%e6%95%b0%e7%b7%a8%ef%bc%89/ -https://developer.cybozu.io/hc/ja/articles/205642634-%E5%BF%83%E6%8B%8D%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6kintone-Hospital ** 12月6日 Tera termから得られるデータを用いてPCから何かを制御(PC側はC++を使用) [#ic9e6695] +Tera termの使い方~ ・Tera termのダウンロード方法については、下記のサイトを参考にしてほしい。~ ・[[【ゼロからわかる】Teratermのインストールと使い方:https://eng-entrance.com/teraterm-install]]~ ・ダウンロードしたTera termを起動すると、下記のような画面が表示される。 #ref(wiki3.png,,50%) ・上の画像の、ホスト(T):の所にraspberry piのIPアドレスを入力し、OKをクリックする。~ ・すると、下記のような画面が表示されるので続行をクリックする。 #ref(wiki4.png,,50%) ・次に、下記のような画面が表示されるので、raspberry piのユーザー名とパスワードを入力する。~ ・初期設定であれば、ユーザー名はpi、パスワードはraspberryである。 #ref(wiki5.png,,50%) ・その後、OKをクリックするとraspberry piとSSH接続できる。 +Tera term マクロの作成と使用~ ・先ほど、ログイン方法を説明したばかりだが、自動でログインしてraspberry piのログをテキストファイルに書き込むマクロを作成する。~ ・まず下記のコードを入力した拡張子が.ttlのファイルを作る。~ ;接続先ホスト HOSTADDR = '133.55.174.76' ;ユーザ名 USERNAME = 'pi' ;パスワード設定 PASSWORD = 'raspberry' ;接続コマンド作成 COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;接続 connect COMMAND ;================================================ ;ログファイル保存 wait '$' logopen "C:\raspberry\Project1\Debug\command.txt" 0 1 sendln "" wait '$' sendln "cd DHT11_Python" wait '$' sendln "python dht11_example.py" wait '$' logclose ;================================================ ;マクロ終了 end ・133.55.174.76は、自分のraspberry piのIPアドレスに変える。~ ・piは、ユーザー名を変えたならそのユーザー名にする。~ ・raspberryは、パスワードを変えたならそのパスワードにする。~ ・C:\raspberry\Project1\Debug\command.txtの部分はログの保存場所なので、自分の保存したいところに変更する。~ ・cd DHT11_Pythonの部分は、raspberry pi内のdht11_example.pyが入っているフォルダに変更する。~ ・その後、Tera termを起動し上のコントロールをクリックしマクロをクリックする。~ ・すると、ファイルを選択する画面になるのでttlファイルを選択する。~ ・今回は、先程作成したttlファイルを選択する。~ ・すると、マクロが起動し、PC上に温湿度が取得できる。上のコードの場合は、command.txtにログが入力される。 +C++を用いて入力されたログの最終行を読み取る方法~ ・あまり理解していないがC++の下記のコードで読み取ることができる。~ #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <windows.h> #define STR_MAX 256 int main(void) { FILE *fp; int str_max = STR_MAX; char buf[STR_MAX]; int step, kk, n_line; while (1) { Sleep(3000); fp = fopen("command.txt", "r"); if (fp == NULL) { printf("can't open file\n"); return -1; /*abort();*/ } n_line = 0; while (fgets(buf, str_max, fp) != NULL) { n_line++; } //行数のカウント fclose(fp); fp = fopen("command.txt", "r"); for (kk = 0; kk < n_line - 1; kk++)//上からn_line-1行は読み飛ばす { fgets(buf, str_max, fp); } fscanf(fp, "%d\n", &step); //printf("%d\n", step); fclose(fp); if (step >= 25) { } } } ・このコードは、raspberry pi内のdht11_example.pyを温度の数字のみを表示するように変更すると使える。~ ・if文の中に、何か制御を入れると温度が25℃以上の時に実行される。~ ・上記のコードを用いたパソコンのカメラを制御するC++のプロジェクト作成方法を次項から述べる。(環境はVisual Studio2015)~ +Visual Studio 2015でOpenCVを動かすための環境設定 Windows編~ ・OpenCVを[[こちら:https://opencv.org/]]から下記の図のようにダウンロードする。 #ref(wiki7.png,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki8.png,,50%) ・ダウンロードしたファイルを起動するとOpenCVの解凍処理に進みます。Cドライブの任意の場所に解凍してください。~ ・解凍が完了すると「opencv」といるフォルダが生成されています。~ ・次は、ソースコード上で静的リンクライブラリの指定が可能にするために「opencv_lib.hpp」を作成しましょう。~ ・作成場所は「C:\任意の場所\opencv\build\include\opencv2\opencv_lib.hpp」となります。~ ・opencv_lib.hppの中身は次のように記述してください。~ #if _DEBUG #pragma comment(lib, "opencv_calib3d2411d.lib") #pragma comment(lib, "opencv_contrib2411d.lib") #pragma comment(lib, "opencv_core2411d.lib") #pragma comment(lib, "opencv_features2d2411d.lib") #pragma comment(lib, "opencv_flann2411d.lib") #pragma comment(lib, "opencv_gpu2411d.lib") #pragma comment(lib, "opencv_highgui2411d.lib") #pragma comment(lib, "opencv_imgproc2411d.lib") #pragma comment(lib, "opencv_legacy2411d.lib") #pragma comment(lib, "opencv_ml2411d.lib") #pragma comment(lib, "opencv_nonfree2411d.lib") #pragma comment(lib, "opencv_objdetect2411d.lib") #pragma comment(lib, "opencv_ocl2411d.lib") #pragma comment(lib, "opencv_photo2411d.lib") #pragma comment(lib, "opencv_stitching2411d.lib") #pragma comment(lib, "opencv_superres2411d.lib") #pragma comment(lib, "opencv_ts2411d.lib") #pragma comment(lib, "opencv_video2411d.lib") #pragma comment(lib, "opencv_videostab2411d.lib") #else #pragma comment(lib, "opencv_calib3d2411.lib") #pragma comment(lib, "opencv_contrib2411.lib") #pragma comment(lib, "opencv_core2411.lib") #pragma comment(lib, "opencv_features2d2411.lib") #pragma comment(lib, "opencv_flann2411.lib") #pragma comment(lib, "opencv_gpu2411.lib") #pragma comment(lib, "opencv_highgui2411.lib") #pragma comment(lib, "opencv_imgproc2411.lib") #pragma comment(lib, "opencv_legacy2411.lib") #pragma comment(lib, "opencv_ml2411.lib") #pragma comment(lib, "opencv_nonfree2411.lib") #pragma comment(lib, "opencv_objdetect2411.lib") #pragma comment(lib, "opencv_ocl2411.lib") #pragma comment(lib, "opencv_photo2411.lib") #pragma comment(lib, "opencv_stitching2411.lib") #pragma comment(lib, "opencv_superres2411.lib") #pragma comment(lib, "opencv_ts2411.lib") #pragma comment(lib, "opencv_video2411.lib") #pragma comment(lib, "opencv_videostab2411.lib") #endif ・opencv_lib.hpp作成が終わったら、Windowsの環境変数のpathにOpenCVの動的ライブラリを登録しましょう。~ ・動的ライブラリが配置されてる場所は「C:\任意の場所\opencv\build\x64\vc12\bin」ですので、それを以下の図の所に入力してください。~ ・;C:\任意の場所\opencv\build\x64\vc12\binの最初の;を忘れないでください。 #ref(wiki9.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki10.jpg,,50%) +Visual Studio 2015でOpenCVを動かすための環境設定 Visual Studio2015編~ ・Visual Studio 2015では、プロジェクトがOpenCVを認識できるようにOpenCVの「includeフォルダ」と「ライブラリフォルダ」を設定します。~ ・まず、「ファイル>新規作成>プロジェクト」をクリックして、Win32コンソールアプリケーションの新しいプロジェクトを生成しましょう。~ ・プロジェクト名は「opencvsample」にします。 #ref(wiki11.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki12.jpg,,50%) ・プロジェクトが生成されたら、x64用アプリケーションを作成するように構成を変更しましょう。~ ・「ビルド>構成マネージャー」をクリックして、アクティブソリューションプラットフォームを「x86」から「x64」に変更します。~ #ref(wiki13.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki14.jpg,,50%) ・これからOpenCVの「includeフォルダ」を指定します。~ ・ソリューションエクスプローラーのプロジェクト名を選択し、マウスを右クリックすると、メニューが表示されます。~ ・メニューから「プロパティ」を選択するとプロジェクトのプロパティページが表示されます。~ ・プロジェクトのプロパティページの左側のツリーで「構成プロパティ>C/C++>全般」を選択します。右側の設定画面に「追加のインクルドディレクトリ」が見えますね?そこに「C:\任意の場所\opencv\build\include」を設定します。~ #ref(wiki15.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki16.jpg,,50%) ・次は、「ライブラリフォルダ」を指定します。~ ・プロジェクトのプロパティページの左側のツリーで「構成プロパティ>リンカ―>全般」を選択します。~ ・右側の設定画面に「追加のライブラリディレクトリ」が見えますね?そこに「C:\任意の場所\opencv\build\x64\vc12\lib」を設定します。 #ref(wiki17.jpg,,50%) ・これで、環境設定は終わりです。~ ・最後に、温度が25℃以上になったらカメラからの画像を保存するコードを載せる。~ ・↓opencvsample.cppのコード~ // opencvsample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include "stdafx.h" #include <opencv2/opencv.hpp> // インクルードファイル指定 #include <opencv2/opencv_lib.hpp> // 静的リンクライブラリの指定 using namespace cv; // 名前空間の指定 int main(int argh, char* argv[]) { FILE *fp; int str_max = 256; char buf[256]; int step, kk, n_line; cv::VideoCapture cap(0);//デバイスのオープン //cap.open(0);//こっちでも良い. if (!cap.isOpened())//カメラデバイスが正常にオープンしたか確認. { //読み込みに失敗したときの処理 return -1; } while (1) { //Sleep(3000); cv::Mat frame; cap >> frame; // get a new frame from camera // //取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む. // cv::imshow("window", frame);//画像を表示. fp = fopen("command.txt", "r"); if (fp == NULL) { printf("can't open file\n"); return -1; /*abort();*/ } n_line = 0; while (fgets(buf, str_max, fp) != NULL) { n_line++; } //行数のカウント fclose(fp); fp = fopen("command.txt", "r"); for (kk = 0; kk < n_line - 1; kk++)//上からn_line-1行は読み飛ばす { fgets(buf, str_max, fp); } fscanf(fp, "%d\n", &step); //printf("%d\n", step); fclose(fp); if (step >= 25) { //cv::Mat frame; //cap >> frame; // get a new frame from camera // //取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む. // //cv::imshow("window", frame);//画像を表示. cv::imwrite("img.png", frame); } int key = cv::waitKey(1); if (key == 113)//qボタンが押されたとき { break;//whileループから抜ける. } } cv::destroyAllWindows(); return 0; } ・stdafx.hのコード~ #pragma once #include "targetver.h" #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <tchar.h> #include <windows.h> -参考サイト~ --[[ファイルの最終行のみ読み込みたい。:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1298165382]] --[[TeraTerm マクロ入門:http://www.illinternet.com/2017/06/18/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%82%92%E3%83%AD%E3%82%B0%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B/]] --[[【ゼロからわかる】Teratermのインストールと使い方:https://eng-entrance.com/teraterm-install]]~ --https://qiita.com/vs4sh/items/4a9ce178f1b2fd26ea30 --
タイムスタンプを変更しない
[[横井]] #contents ** 11月9日 raspberry piの初期設定 [#u5fc6976] +必要なもの~ ・USBキーボード(任意)~ ・USBマウス(任意)~ ・新品またはフォーマット済のmicroSDカード8GB以上(必須)~ ・HDMIケーブル(任意)~ ・LCDモニタ(HDMI入力があるもの)(任意)~ ・ACアダプタ(必須)~ ・PC(必須)~ ・Raspberry pi 3 Model B(必須)~ ・LANケーブル(任意) +Raspbianのダウンロード~ ・下記のリンクからOS(RASBIAN)をダウンロード~ ・[[OS(RASPBIAN)の配布元:https://www.raspberrypi.org/downloads/raspbian/]]~ ・Raspbian Stretch with desktopの欄にあるDownload ZIPをクリックするとダウンロードが始まる。~ ・ダウンロード後解凍すると、Raspbianのディスクイメージファイルが入手できる。~ +RaspbianをmicroSDに焼く~ ・今回は、DD for Windows を使う。下記のリンクから最新バージョンを選んでダウンロード&解凍~ ・[[DD for Windows の配布元:http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows]]~ ・DL&解凍後、DDWin.exeを右クリックより管理者権限で起動。~ ・ディスクの選択 → OSを焼くSDカードを選択。~ ・ファイルの選択 → OSイメージを選択(ファイルの種類をddi→ALL Filesに)~ ・<<書き込み<< をクリック~ ・しばらく待つと完了~ +SSHの設定(他のパソコンから操作しないのであれば不要であるが、ディスプレイ無いなら必須)~ ・SDカードを開いて一番上の階層にsshという名前のファイルを作るだけ。(メモ帳などをリネームして拡張子を削る)~ ~ここまでやって、raspberry piにmicroSDをいれると、起動できるようになる。 +raspberry piの起動方法~ ・最初に、OSを入れたmicroSDをraspberry piに入れる。~ ・次に、raspberry piとモニタをHDMIケーブルで繋げる。~ ・次に、USBマウス、キーボードを持っているならraspberry piに繋げる。~ ・最後に、ACアダプタをraspberry piに繋げると起動する。 +各種設定変更~ ・raspberry piにてターミナルを起動する。~ ・raspberry piのターミナルで下記のコマンドを入力すると設定画面が開く~ ・sudo raspi-config~ ・Piユーザーのパスワードの変更~ ・・Chagen User Password より行う~ ・タイムゾーン&Wifiの設定~ ・・Localisation Options → Change Timezone からタイムゾーンの変更をする Asia → Tokyo~ ・・Localisation Options → Change Wi-fi Country から Wifiを使う国の選択 Japan~ ・SDカードの拡張~ ・・Advanced Options → Expand Filesystem~ ・・大容量のSDカードを使用しても、初期設定のままでは先頭の 2GB 程度のみの利用しかできなくなっているため、 Expand Filesystemを使い容量を拡張する。~ ・上記の設定を終えたらFinishを押し再起動する。 +Wifi接続方法~ -注意 富山県立大学のwifiを使うときは、物理アドレス登録が必要です。 -ターミナルで下記のコマンドを入力する。SSIDとPASSPHRASEはそれぞれの環境に合わせて変更して実行する。 --sudo sh -c 'wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf' -お節介でパスワードが生で記述されているので下記のコマンドを入力して削除する。 --vi /etc/wpa_supplicant/wpa_supplicant.conf -再起動後 ip addr コマンド等で無線LANのIPアドレスを確認する~ IPアドレスを確認することでTera Term等を用いて、他のパソコンからSSH接続することができる。~ Tera termを用いたSSH接続については、12月6日の欄で説明する。 +パッケージ情報を最新にする -ターミナルで下記のコマンドを入力 --sudo apt-get update -次に、下記のコマンドを入力 --sudo apt-get upgrade -続行しますか?[Y/n] と表示されます。「Y」を入力し、しばらく待ちましょう。~ -その後下記のコマンドを入力し再起動 --sudo reboot -ほかにノートパソコンにダウンロードしたもの --[[窓の杜|Tera Term:https://forest.watch.impress.co.jp/library/software/utf8teraterm/]] --[[iTuens:https://www.apple.com/jp/itunes/download/]](これをダウンロードするとPCと直接LANケーブルでつなげることでSSH接続可能) -参考サイト --[[モニターキーボードなしでRaspberry Pi 3のセットアップ:http://teihengrammer.net/raspberry-pi-3-setup]] --[[Raspberry Pi 3を買ってMacを使ってWiFi接続とSSHの接続するまで:https://qiita.com/toshihirock/items/8e7f0887b565defe7989]] --[[Raspberry Pi 3のセットアップ→日本語入力まで(MacOS、NOOBS使用):http://xayataka.hatenablog.com/entry/2017/02/25/225418]] ** 11月16日 温湿度センサ [#t1f94cbd] -下記にraspberry piと温湿度センサDHT11の接続方法を載せる。 #ref(wiki1.png,,50%) -raspberry piのターミナルにて下記のコマンドを入力するとgithubからデータをダウンロードできるようになる。 --sudo apt-get install git -次に、プログラムを入れたいフォルダに移動して、下記のコマンドを入力するとDHT11を動作させるプログラムを入手できる。 --git clone https://github.com/szazo/DHT11_Python.git -最後に、プログラムの入っているフォルダに移動して、ターミナルから下記のコマンドを入力する。 --sudo python dht11_example.py -下の画像のように温度と湿度の値が表示されれば完成。 #ref(wiki2.png,,50%) -参考サイト --[[Raspberry Pi3(ラズベリーパイ3)とDHT11の温湿度センサーを使って室温を測定してみよう:https://yuki-no-yabo.com/measure-temp-usingdht11/]] ** 11月30日 KY-038 KY-039 [#l631f5fd] -未完成 -以下、参考リンク -http://bitwave.showcase-tv.com/raspberry-pi%e3%81%a8%e3%82%bb%e3%83%b3%e3%82%b5%e3%83%bc%e3%81%a7%e3%83%98%e3%83%ab%e3%82%b9%e6%83%85%e5%a0%b1%e3%81%ae%e5%8f%96%e5%be%97%ef%bc%88%e5%bf%83%e6%8b%8d%e6%95%b0%e7%b7%a8%ef%bc%89/ -https://developer.cybozu.io/hc/ja/articles/205642634-%E5%BF%83%E6%8B%8D%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6kintone-Hospital ** 12月6日 Tera termから得られるデータを用いてPCから何かを制御(PC側はC++を使用) [#ic9e6695] +Tera termの使い方~ ・Tera termのダウンロード方法については、下記のサイトを参考にしてほしい。~ ・[[【ゼロからわかる】Teratermのインストールと使い方:https://eng-entrance.com/teraterm-install]]~ ・ダウンロードしたTera termを起動すると、下記のような画面が表示される。 #ref(wiki3.png,,50%) ・上の画像の、ホスト(T):の所にraspberry piのIPアドレスを入力し、OKをクリックする。~ ・すると、下記のような画面が表示されるので続行をクリックする。 #ref(wiki4.png,,50%) ・次に、下記のような画面が表示されるので、raspberry piのユーザー名とパスワードを入力する。~ ・初期設定であれば、ユーザー名はpi、パスワードはraspberryである。 #ref(wiki5.png,,50%) ・その後、OKをクリックするとraspberry piとSSH接続できる。 +Tera term マクロの作成と使用~ ・先ほど、ログイン方法を説明したばかりだが、自動でログインしてraspberry piのログをテキストファイルに書き込むマクロを作成する。~ ・まず下記のコードを入力した拡張子が.ttlのファイルを作る。~ ;接続先ホスト HOSTADDR = '133.55.174.76' ;ユーザ名 USERNAME = 'pi' ;パスワード設定 PASSWORD = 'raspberry' ;接続コマンド作成 COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=password /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;接続 connect COMMAND ;================================================ ;ログファイル保存 wait '$' logopen "C:\raspberry\Project1\Debug\command.txt" 0 1 sendln "" wait '$' sendln "cd DHT11_Python" wait '$' sendln "python dht11_example.py" wait '$' logclose ;================================================ ;マクロ終了 end ・133.55.174.76は、自分のraspberry piのIPアドレスに変える。~ ・piは、ユーザー名を変えたならそのユーザー名にする。~ ・raspberryは、パスワードを変えたならそのパスワードにする。~ ・C:\raspberry\Project1\Debug\command.txtの部分はログの保存場所なので、自分の保存したいところに変更する。~ ・cd DHT11_Pythonの部分は、raspberry pi内のdht11_example.pyが入っているフォルダに変更する。~ ・その後、Tera termを起動し上のコントロールをクリックしマクロをクリックする。~ ・すると、ファイルを選択する画面になるのでttlファイルを選択する。~ ・今回は、先程作成したttlファイルを選択する。~ ・すると、マクロが起動し、PC上に温湿度が取得できる。上のコードの場合は、command.txtにログが入力される。 +C++を用いて入力されたログの最終行を読み取る方法~ ・あまり理解していないがC++の下記のコードで読み取ることができる。~ #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <windows.h> #define STR_MAX 256 int main(void) { FILE *fp; int str_max = STR_MAX; char buf[STR_MAX]; int step, kk, n_line; while (1) { Sleep(3000); fp = fopen("command.txt", "r"); if (fp == NULL) { printf("can't open file\n"); return -1; /*abort();*/ } n_line = 0; while (fgets(buf, str_max, fp) != NULL) { n_line++; } //行数のカウント fclose(fp); fp = fopen("command.txt", "r"); for (kk = 0; kk < n_line - 1; kk++)//上からn_line-1行は読み飛ばす { fgets(buf, str_max, fp); } fscanf(fp, "%d\n", &step); //printf("%d\n", step); fclose(fp); if (step >= 25) { } } } ・このコードは、raspberry pi内のdht11_example.pyを温度の数字のみを表示するように変更すると使える。~ ・if文の中に、何か制御を入れると温度が25℃以上の時に実行される。~ ・上記のコードを用いたパソコンのカメラを制御するC++のプロジェクト作成方法を次項から述べる。(環境はVisual Studio2015)~ +Visual Studio 2015でOpenCVを動かすための環境設定 Windows編~ ・OpenCVを[[こちら:https://opencv.org/]]から下記の図のようにダウンロードする。 #ref(wiki7.png,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki8.png,,50%) ・ダウンロードしたファイルを起動するとOpenCVの解凍処理に進みます。Cドライブの任意の場所に解凍してください。~ ・解凍が完了すると「opencv」といるフォルダが生成されています。~ ・次は、ソースコード上で静的リンクライブラリの指定が可能にするために「opencv_lib.hpp」を作成しましょう。~ ・作成場所は「C:\任意の場所\opencv\build\include\opencv2\opencv_lib.hpp」となります。~ ・opencv_lib.hppの中身は次のように記述してください。~ #if _DEBUG #pragma comment(lib, "opencv_calib3d2411d.lib") #pragma comment(lib, "opencv_contrib2411d.lib") #pragma comment(lib, "opencv_core2411d.lib") #pragma comment(lib, "opencv_features2d2411d.lib") #pragma comment(lib, "opencv_flann2411d.lib") #pragma comment(lib, "opencv_gpu2411d.lib") #pragma comment(lib, "opencv_highgui2411d.lib") #pragma comment(lib, "opencv_imgproc2411d.lib") #pragma comment(lib, "opencv_legacy2411d.lib") #pragma comment(lib, "opencv_ml2411d.lib") #pragma comment(lib, "opencv_nonfree2411d.lib") #pragma comment(lib, "opencv_objdetect2411d.lib") #pragma comment(lib, "opencv_ocl2411d.lib") #pragma comment(lib, "opencv_photo2411d.lib") #pragma comment(lib, "opencv_stitching2411d.lib") #pragma comment(lib, "opencv_superres2411d.lib") #pragma comment(lib, "opencv_ts2411d.lib") #pragma comment(lib, "opencv_video2411d.lib") #pragma comment(lib, "opencv_videostab2411d.lib") #else #pragma comment(lib, "opencv_calib3d2411.lib") #pragma comment(lib, "opencv_contrib2411.lib") #pragma comment(lib, "opencv_core2411.lib") #pragma comment(lib, "opencv_features2d2411.lib") #pragma comment(lib, "opencv_flann2411.lib") #pragma comment(lib, "opencv_gpu2411.lib") #pragma comment(lib, "opencv_highgui2411.lib") #pragma comment(lib, "opencv_imgproc2411.lib") #pragma comment(lib, "opencv_legacy2411.lib") #pragma comment(lib, "opencv_ml2411.lib") #pragma comment(lib, "opencv_nonfree2411.lib") #pragma comment(lib, "opencv_objdetect2411.lib") #pragma comment(lib, "opencv_ocl2411.lib") #pragma comment(lib, "opencv_photo2411.lib") #pragma comment(lib, "opencv_stitching2411.lib") #pragma comment(lib, "opencv_superres2411.lib") #pragma comment(lib, "opencv_ts2411.lib") #pragma comment(lib, "opencv_video2411.lib") #pragma comment(lib, "opencv_videostab2411.lib") #endif ・opencv_lib.hpp作成が終わったら、Windowsの環境変数のpathにOpenCVの動的ライブラリを登録しましょう。~ ・動的ライブラリが配置されてる場所は「C:\任意の場所\opencv\build\x64\vc12\bin」ですので、それを以下の図の所に入力してください。~ ・;C:\任意の場所\opencv\build\x64\vc12\binの最初の;を忘れないでください。 #ref(wiki9.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki10.jpg,,50%) +Visual Studio 2015でOpenCVを動かすための環境設定 Visual Studio2015編~ ・Visual Studio 2015では、プロジェクトがOpenCVを認識できるようにOpenCVの「includeフォルダ」と「ライブラリフォルダ」を設定します。~ ・まず、「ファイル>新規作成>プロジェクト」をクリックして、Win32コンソールアプリケーションの新しいプロジェクトを生成しましょう。~ ・プロジェクト名は「opencvsample」にします。 #ref(wiki11.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki12.jpg,,50%) ・プロジェクトが生成されたら、x64用アプリケーションを作成するように構成を変更しましょう。~ ・「ビルド>構成マネージャー」をクリックして、アクティブソリューションプラットフォームを「x86」から「x64」に変更します。~ #ref(wiki13.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki14.jpg,,50%) ・これからOpenCVの「includeフォルダ」を指定します。~ ・ソリューションエクスプローラーのプロジェクト名を選択し、マウスを右クリックすると、メニューが表示されます。~ ・メニューから「プロパティ」を選択するとプロジェクトのプロパティページが表示されます。~ ・プロジェクトのプロパティページの左側のツリーで「構成プロパティ>C/C++>全般」を選択します。右側の設定画面に「追加のインクルドディレクトリ」が見えますね?そこに「C:\任意の場所\opencv\build\include」を設定します。~ #ref(wiki15.jpg,,50%) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ #ref(wiki16.jpg,,50%) ・次は、「ライブラリフォルダ」を指定します。~ ・プロジェクトのプロパティページの左側のツリーで「構成プロパティ>リンカ―>全般」を選択します。~ ・右側の設定画面に「追加のライブラリディレクトリ」が見えますね?そこに「C:\任意の場所\opencv\build\x64\vc12\lib」を設定します。 #ref(wiki17.jpg,,50%) ・これで、環境設定は終わりです。~ ・最後に、温度が25℃以上になったらカメラからの画像を保存するコードを載せる。~ ・↓opencvsample.cppのコード~ // opencvsample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include "stdafx.h" #include <opencv2/opencv.hpp> // インクルードファイル指定 #include <opencv2/opencv_lib.hpp> // 静的リンクライブラリの指定 using namespace cv; // 名前空間の指定 int main(int argh, char* argv[]) { FILE *fp; int str_max = 256; char buf[256]; int step, kk, n_line; cv::VideoCapture cap(0);//デバイスのオープン //cap.open(0);//こっちでも良い. if (!cap.isOpened())//カメラデバイスが正常にオープンしたか確認. { //読み込みに失敗したときの処理 return -1; } while (1) { //Sleep(3000); cv::Mat frame; cap >> frame; // get a new frame from camera // //取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む. // cv::imshow("window", frame);//画像を表示. fp = fopen("command.txt", "r"); if (fp == NULL) { printf("can't open file\n"); return -1; /*abort();*/ } n_line = 0; while (fgets(buf, str_max, fp) != NULL) { n_line++; } //行数のカウント fclose(fp); fp = fopen("command.txt", "r"); for (kk = 0; kk < n_line - 1; kk++)//上からn_line-1行は読み飛ばす { fgets(buf, str_max, fp); } fscanf(fp, "%d\n", &step); //printf("%d\n", step); fclose(fp); if (step >= 25) { //cv::Mat frame; //cap >> frame; // get a new frame from camera // //取得したフレーム画像に対して,クレースケール変換や2値化などの処理を書き込む. // //cv::imshow("window", frame);//画像を表示. cv::imwrite("img.png", frame); } int key = cv::waitKey(1); if (key == 113)//qボタンが押されたとき { break;//whileループから抜ける. } } cv::destroyAllWindows(); return 0; } ・stdafx.hのコード~ #pragma once #include "targetver.h" #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <tchar.h> #include <windows.h> -参考サイト~ --[[ファイルの最終行のみ読み込みたい。:https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1298165382]] --[[TeraTerm マクロ入門:http://www.illinternet.com/2017/06/18/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%82%92%E3%83%AD%E3%82%B0%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B/]] --[[【ゼロからわかる】Teratermのインストールと使い方:https://eng-entrance.com/teraterm-install]]~ --https://qiita.com/vs4sh/items/4a9ce178f1b2fd26ea30 --
テキスト整形のルールを表示する