ラズパイをホスト名でリモート接続

ラズパイを使用する際に、いちいち画面やらマウスやら持ち歩くのは不便なのでリモート化しようかと思ったが

公共LAN等だとIPを指定した形のリモートは少々使い勝手が悪い

SSHのようにホストでリモート接続ができそうなので、その方法をメモ代わりに書置きしてみる

 

やったこと

OSインストール(raspbian 2018-06-27版)

SDに書き込み

 1. SD Card Formatterを使って完全フォーマット

 2. Win32DiskImagerを使ってimgファイルを書き込み

書き込み時間が大体15分くらい?

準備ができたからここからはラズパイを起動しながら並列で作業していく

 

まずは初回起動をしたら色々設定が聞かれたので、言語や時間はjapan、パスワードは適当なものに変更し自宅のwifiへ接続する。

 

リモート用の設定やインストールを参考サイトをみながらやっていく

qiita.com

f:id:jasmine_t_pudding:20180710020218p:plainカーネルを開いてxrdpパッケージをインストール

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xrdp

この三行を打ち込んでインストール。Y/N形式でインストールについて聞かれるが全部Yでおk

キーボードの設定等もあるらしいが、UNキーボード使いなので今回はしなかった。

 

この時点で一応IPを使った接続は可能になっているのでマウスとキーボードさんはお役御免。

windowsリモートデスクトップにIPを打ち込んで接続テスト

ここまでは難なくできた。

 

試しにこの状態でraspberrypi.localに接続を試みるも接続できず。無念

 

 

 

 

sin cos tanめも

座標を求めたりするときにsinやらcosやらどれでどれを求めるのか、正直いまいちよく覚えてないのでメモ

 

参考: 
三角関数の公式一覧
keisan.casio.jp



この辺見ながら使いそうなところとかをまとめていこうと思う

 

使いそうなところとしては、相手の距離と角度で相手の座標を求める時なんかに使いそう

計算用に角度θ、距離、座標を定義しておく

角度 => θ,  距離 => r,  座標 => x y また,角度はラジアン表記とする。

三角関数の定義によると

sinθ   =  y  /  r

cosθ  =  x  /  r

tanθ   =  y  /  x

これを使って計算していく

 

相手の距離と角度で相手の座標を求める方法

数学的に書くと直角三角形の角度と斜辺から底辺と高さを求めるとも言う

分かっているのはθとrなので, rを含む式のsinとcosを使う

xはcosθに,yならsinθにrをかけてやればxとyが求められる。

式にすると x=r*cosθ,  y=r*sinθとなる。c言語で書くなら

x = cos(theta) * r;

y = sin(theta) * r;

こんな感じになる。

適当にCで書いてみた。

#include <stdio.h>			/*標準入出力*/
#include <math.h>			/*三角関数*/
#define _PI (3.141592653589793238)	/*円周率*/

class triangle {
public:
	double theta = 0;	/* 角度(ラジアン) */
	double r     = 0;	/* 斜辺 */
	double x     = 0;	/* 底辺 */
	double y     = 0;	/* 高さ */
	
	/* 斜辺と角度から底辺と高さを計算 */
	void cal_xy() {
		x = cos(theta) * r;
		y = sin(theta) * r;
	}
	/* 角度と高さから底辺と斜辺を計算 */
	void cal_rx() {
		r = y / sin(theta);
		x = y / tan(theta);
	}
	/* 底辺と角度から斜辺と高さを計算 */
	void cal_ry() {
		r = x / cos(theta);
		y = x * tan(theta);
	}
	/* 底辺と斜辺から角度を計算 */
	void xr_theta() {
		theta = acos(x / r);
	}
	/* 高さと斜辺から角度を計算 */
	void yr_theta() {
		theta = asin(y / r);
	}
	/* 底辺と高さから角度を計算 */
	void xy_theta() {
		theta = atan(y / x);
	}
	/* 度数からラジアン角 */
	void torad() {
		theta = (theta * _PI) / 180;
	}
	/*ラジアン角から度数*/
	void todeg() {
		theta = (theta * 180) / _PI;
	}
};

void main()
{
	triangle T;			/* Tを宣言*/
	T.x = 1;			/* x座標をセット*/
	T.theta = 45;			/* 角度をセット(度数)*/
	T.torad();			/* 度数をラジアンへ*/
	T.cal_ry();			/* 角度とX座標から残りを求める*/
	printf("θ=%f,x=%f,y=%f,r=%f\n",T.theta,T.x,T.y,T.r);
}

 

 

 

php+scssを使うために

Webページ作成時、pingyを使用して動的にhtmlを見ていたが

それだとphpがどうも動かない。(´・ω・`)

 

ということでそれ用の開発環境を整備してみた。

まず用意したのがXAMPP

XAMPP内にあるApacheでサーバーを立ち上げればphpは動くらしい。

….........実際にやってみたところ、どうやら初期だと開く場所は"./xampp/htdocs/dashboard"のindexが開いている様子

設定変更をしたいが英語は読めないので気合で探してみると、htdocs内のindex.phpにどうもそれっぽい文章発見。変更してみる

header('Location: '.$uri.'/dashboard');

だったところを任意のディレクトリに変更することで動いたからとりあえずおk

 

これで書いていけると思ったらどうもscss記述だとだめっぽい?

仕方ないからpingyでエクスポートしていたがいかんせん面倒くさい。

ということでscssを自動でコンパイルしてくれる奴を探してみる。

scssを自動化するにはどうやらsassというのを使うらしい。

Sass/Compass のインストールと基本的な環境設定 | Web Design Leaves

ここを参考にしながらインストールしてみた。これでできると楽なんだが…

 

とりあえずscssを入れているフォルダにコマンドプロンプトで移動し

sass --watch .  

と入力してみる。

 

結果・・・動的コンパイルできた(/・ω・)/やったぜ。