RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
話は今日の昼に遡ります。
今日は実験がありまして、htmlタグの情報抽出を行うという内容でした。
内容が内容で非常に面倒で、C言語でやるのが非常につらい、そういう内容でした。
この内容じゃ時間かかるなぁ・・・そう思っていたときふと思いつきました。
そういえば環境インストールしてマスターした気になっていたRubyって言語があったぞ・・・?
もちろん、どんな言語かなんて知りませんし、触ったこともなかったのですが、
せっかくなのでRubyでプログラムを書くことにしました。
どうやらRubyはオブジェクト指向言語らしく、知らん概念だったので非常に大変でした。
やっぱりたったの数時間で覚えようとする言語じゃないね。しかも文字列処理のシステムなんて・・・
文法もC言語に近いものでしたが、若干異なっているようで
「if文がコンパイル通らないぞ!?なに?ifの後にthen!?Haskellか?」
なんて愚痴りながらプログラムを書いてました。※Rubyはインタプリタなので、コンパイラはありません。
なーにがエレガントで自然な読み書きができるプログラミング言語じゃwww
なんて言いながら愚直なプログラムを書くだけの一日でしたね。※ただ単に文法を知らないだけ
ただ、書いていて洗脳言語といわれる所以はなんとなくわかった気がします。
若干ですが、なんでこれ使えないの?と思う場面がありました。あと標準メソッド多すぎ
まぁあまりRubyの悪口を言うと産技にまで足を運んでいただいたまつもとゆきひろ氏にも悪いので
ここまでとさせて頂きます。産技での公演は非常に参考になりましたありがとうございます。
因みにこの課題、ほとんどの学生はCで頑張って書いていたようですが、
編入組はC、Java、C++,QtC++、Python、Perl、そしてRubyと様々な言語で記述しだして
あぁ、一貫性というか、統率というか・・・取れてないなぁと実感しました。10人で7言語って・・・
8つ目に、Haskellという案も出ましたが、担当教員が読めないということで没になりました。
因みにRubyの2人とPerlの人は今日初めて触る言語に挑戦した組です。
Javaで何百行も書いていたプログラムをたったの20行でかけるRubyは素晴らしいと思いました。
それでも実験は殆どの人が最初の課題が解けず、必修課題を終わらせた人が0という悲惨な状態でした。
それでは今日はこの辺で。
尚簿記の課題は終わってない模様
(^・ω・)ノ RadiumProduction at curonet
今日は実験がありまして、htmlタグの情報抽出を行うという内容でした。
内容が内容で非常に面倒で、C言語でやるのが非常につらい、そういう内容でした。
この内容じゃ時間かかるなぁ・・・そう思っていたときふと思いつきました。
そういえば環境インストールしてマスターした気になっていたRubyって言語があったぞ・・・?
もちろん、どんな言語かなんて知りませんし、触ったこともなかったのですが、
せっかくなのでRubyでプログラムを書くことにしました。
どうやらRubyはオブジェクト指向言語らしく、知らん概念だったので非常に大変でした。
やっぱりたったの数時間で覚えようとする言語じゃないね。しかも文字列処理のシステムなんて・・・
文法もC言語に近いものでしたが、若干異なっているようで
「if文がコンパイル通らないぞ!?なに?ifの後にthen!?Haskellか?」
なんて愚痴りながらプログラムを書いてました。※Rubyはインタプリタなので、コンパイラはありません。
なーにがエレガントで自然な読み書きができるプログラミング言語じゃwww
なんて言いながら愚直なプログラムを書くだけの一日でしたね。※ただ単に文法を知らないだけ
ただ、書いていて洗脳言語といわれる所以はなんとなくわかった気がします。
若干ですが、なんでこれ使えないの?と思う場面がありました。あと標準メソッド多すぎ
まぁあまりRubyの悪口を言うと産技にまで足を運んでいただいたまつもとゆきひろ氏にも悪いので
ここまでとさせて頂きます。産技での公演は非常に参考になりましたありがとうございます。
因みにこの課題、ほとんどの学生はCで頑張って書いていたようですが、
編入組はC、Java、C++,QtC++、Python、Perl、そしてRubyと様々な言語で記述しだして
あぁ、一貫性というか、統率というか・・・取れてないなぁと実感しました。10人で7言語って・・・
8つ目に、Haskellという案も出ましたが、担当教員が読めないということで没になりました。
因みにRubyの2人とPerlの人は今日初めて触る言語に挑戦した組です。
Javaで何百行も書いていたプログラムをたったの20行でかけるRubyは素晴らしいと思いました。
それでも実験は殆どの人が最初の課題が解けず、必修課題を終わらせた人が0という悲惨な状態でした。
それでは今日はこの辺で。
尚簿記の課題は終わってない模様
(^・ω・)ノ RadiumProduction at curonet
前回の続きです。
今回は、ubuntuOSの初期設定とかとかを行っていきます。
まず、ネットワークの設定を行っていきます。
まずはSSHを用いてBBBに接続します。IPアドレスがわかりませんが、
BBBは初期設定でDHCPが効いてますので、ルータのDHCPリストを確認してIPアドレスを調べて接続しましょう。
次にユーザー名やパスワードですが、Ubuntuはインストール時にubutnuというアカウントが自動で作成されます。
この時パスワードは初期でtemppwdとなっています。これは今のところ全ubuntuで共通となっています。
という訳でユーザー名にubuntu、パスワードにtemmppwdと入力してログインします。
まずはapt-getのupdateを行います。
このようにしてアップデートします。次に aptitudeをインストールします、
aptitudeはapt-getと同じアプリケーションのインストールとかに使われるアプリケーションです。
apt-getを用いてインストールします。
次にファイアーウォールの設定を行います。
賛否両論ありますが、今回は設定簡単でおなじみのufwを使っていきます。
まずはインストール。apt-getを使います。
次にポートの開放を行っていきます。
今回はホワイトリストを用いてやるので以下のように打ってきます。
まず、全てのポートを塞いでから、21,22,80番を開放します。
最後にufw enableでufwを有効にします。
以上でufwの設定が完了しました。
次の記事ではIPアドレスの設定を行います。
(^・ω・)ノ RadiumProduction at curonet
今回は、ubuntuOSの初期設定とかとかを行っていきます。
まず、ネットワークの設定を行っていきます。
まずはSSHを用いてBBBに接続します。IPアドレスがわかりませんが、
BBBは初期設定でDHCPが効いてますので、ルータのDHCPリストを確認してIPアドレスを調べて接続しましょう。
次にユーザー名やパスワードですが、Ubuntuはインストール時にubutnuというアカウントが自動で作成されます。
この時パスワードは初期でtemppwdとなっています。これは今のところ全ubuntuで共通となっています。
という訳でユーザー名にubuntu、パスワードにtemmppwdと入力してログインします。
まずはapt-getのupdateを行います。
sudo apt-get update
このようにしてアップデートします。次に aptitudeをインストールします、
aptitudeはapt-getと同じアプリケーションのインストールとかに使われるアプリケーションです。
sudo apt-get install aptitude
apt-getを用いてインストールします。
次にファイアーウォールの設定を行います。
賛否両論ありますが、今回は設定簡単でおなじみのufwを使っていきます。
まずはインストール。apt-getを使います。
sudo apt-get install ufw
次にポートの開放を行っていきます。
今回はホワイトリストを用いてやるので以下のように打ってきます。
sudo ufw default deny
sudo ufw allow 21
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 21
sudo ufw allow 22
sudo ufw allow 80
まず、全てのポートを塞いでから、21,22,80番を開放します。
最後にufw enableでufwを有効にします。
sudo ufw enable
以上でufwの設定が完了しました。
次の記事ではIPアドレスの設定を行います。
(^・ω・)ノ RadiumProduction at curonet
サーバー構築日誌も第8回まで来ました。
ちょっと諸事情で現在家のサーバーの電源は落ちていますが気にせず記事を続けましょう。
今回の内容は前回告知したようにセキュリティについてです。
といっても後ろに()がつきそうな感じでは有りますけどね。
というのも、やることはアンチウィルスソフトをインストールするのと、ファイヤーウォールの設定だけです。
ファイル改竄防止ソフトとかrootkitの検知ソフトとか、ものすごく必要な気がしますが、
今回は見られて困るものを入れておく訳ではありませんので省略します。
ちゃんとしたサーバーを作るのであれば、絶対に入れておくべきだと思います。
バックドアとか食らったら溜まったもんじゃないからね!
という訳でまずはアンチウィルスソフトから。
今回は割りとメジャーらしいClam AntiVirusというソフトを入れてみようと思います。
あっちこっちに参考サイトがありますので、もうここを見る必要も無いんじゃないかな(´・ω・`)
まずはインストール。wgetとかしなくてもそのままyumでインストールできるはずです。
このコマンドでインストールができます。
次に起動させます。
rootに入って起動させてください。
次に自動起動の設定をします。これがないと、サーバー起動時に自動起動されないので
毎回起動コマンドを打たないといけません。
自動起動コマンドはよく使うので覚えておいて損はないかと思います。因みに自分は覚えていません。
次にウイルス定義の更新の設定を行います。
これをしないと最新のウィルスをウィルスとして認識してくれません、
この2つのコマンドで設定を行います。
一度この設定を行えば、後は自動でウィルス定義は最新のものに更新してくれます。
それで肝心のウィルススキャンなのですが、起動しただけでは自動で行ってくれず、
シェルスクリプトを組む必要があります。
こちらのサイトに上がっていたものを丸っとコピらせて頂いたのですが、
まず、プロンプト上で、ルート権限で
と打ち込んで、viエディタを開きます。
viを開いたら一旦terateamから離れて以下のシェルスクリプトを全てコピーします。
んでもってこれをviに貼り付けるわけなのですが、viはなれないと操作が面倒です。
まず、terateam上のviをクリックしてカーソルを持ってきます。
次にキーボードでiを押します。これで挿入モードになります。
そしたら右クリックすると、コピー内容が全部ペーストされます。
全部ペーストされていることを確認したらEscキーで挿入モードを抜けて:wqと入力します。
w=保存
q=終了
です。そのままviが終了すればちゃんと上書きができています。
終了しなければrootでログインしてないとかの理由で書き込み禁止になっているか
コマンドが上手く打ててないか、あるいは全角になっている可能性とか考えられます。
どうしてもでられなくなったら:q!で強制終了しましょう。
詳しくviのコマンドについてはこちらのサイトに書かれています。
と、正しく保存ができたら最後にこのシェルに実行権限を与えて自動起動させます。
これでアンチウィルスソフトに関する設定は完了です。
さて、記事が長くなってきたので一旦ここで切ります。
次はファイヤーウォールの設定を行いたいと思います。
最近忙しいのにちゃんと記事更新してる!偉い!
(^・ω・)ノ RadiumProduction at curonet
ちょっと諸事情で現在家のサーバーの電源は落ちていますが気にせず記事を続けましょう。
今回の内容は前回告知したようにセキュリティについてです。
といっても後ろに()がつきそうな感じでは有りますけどね。
というのも、やることはアンチウィルスソフトをインストールするのと、ファイヤーウォールの設定だけです。
ファイル改竄防止ソフトとかrootkitの検知ソフトとか、ものすごく必要な気がしますが、
今回は見られて困るものを入れておく訳ではありませんので省略します。
ちゃんとしたサーバーを作るのであれば、絶対に入れておくべきだと思います。
バックドアとか食らったら溜まったもんじゃないからね!
という訳でまずはアンチウィルスソフトから。
今回は割りとメジャーらしいClam AntiVirusというソフトを入れてみようと思います。
あっちこっちに参考サイトがありますので、もうここを見る必要も無いんじゃないかな(´・ω・`)
まずはインストール。wgetとかしなくてもそのままyumでインストールできるはずです。
yum -y install clamd
このコマンドでインストールができます。
次に起動させます。
/etc/rc.d/init.d/clamd start
rootに入って起動させてください。
次に自動起動の設定をします。これがないと、サーバー起動時に自動起動されないので
毎回起動コマンドを打たないといけません。
chkconfig clamd on
自動起動コマンドはよく使うので覚えておいて損はないかと思います。因みに自分は覚えていません。
次にウイルス定義の更新の設定を行います。
これをしないと最新のウィルスをウィルスとして認識してくれません、
sed -i 's/^Example/#Example/g' /etc/freshclam.conf
freshclam
freshclam
この2つのコマンドで設定を行います。
一度この設定を行えば、後は自動でウィルス定義は最新のものに更新してくれます。
それで肝心のウィルススキャンなのですが、起動しただけでは自動で行ってくれず、
シェルスクリプトを組む必要があります。
こちらのサイトに上がっていたものを丸っとコピらせて頂いたのですが、
まず、プロンプト上で、ルート権限で
vi virusscan
と打ち込んで、viエディタを開きます。
viを開いたら一旦terateamから離れて以下のシェルスクリプトを全てコピーします。
#!/bin/bash
PATH=/usr/bin:/bin
# clamd update
yum --enablerepo=epel -y update clamd > /dev/null 2>&1
# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove / > $CLAMSCANTMP 2>&1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
# when detect virus, send mail
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
んでもってこれをviに貼り付けるわけなのですが、viはなれないと操作が面倒です。
まず、terateam上のviをクリックしてカーソルを持ってきます。
次にキーボードでiを押します。これで挿入モードになります。
そしたら右クリックすると、コピー内容が全部ペーストされます。
全部ペーストされていることを確認したらEscキーで挿入モードを抜けて:wqと入力します。
w=保存
q=終了
です。そのままviが終了すればちゃんと上書きができています。
終了しなければrootでログインしてないとかの理由で書き込み禁止になっているか
コマンドが上手く打ててないか、あるいは全角になっている可能性とか考えられます。
どうしてもでられなくなったら:q!で強制終了しましょう。
詳しくviのコマンドについてはこちらのサイトに書かれています。
と、正しく保存ができたら最後にこのシェルに実行権限を与えて自動起動させます。
# chmod +x virusscan
# mv virusscan /etc/cron.daily/
これでアンチウィルスソフトに関する設定は完了です。
さて、記事が長くなってきたので一旦ここで切ります。
次はファイヤーウォールの設定を行いたいと思います。
最近忙しいのにちゃんと記事更新してる!偉い!
(^・ω・)ノ RadiumProduction at curonet
所用があれやこれやとあったので今週は産技高専に行ってきました。
前回行ったのがALLJAの時だったので今から3週間前・・・あれ?結構な頻度で行ってる?
案外大学からそんなに時間もお金もかからず行けるっぽいですね。
今回の目的は5つ。
1.卒業前に忙しくて出来なかった部活顧問等、世話になった先生方への御礼参り
2.進学関連の情報提供
3.Yカップ視察
4.某昆布からマウスをもらう
5.産技のネットワークの情報収集
研究室の先生は前期はずっといないと聞いていたのでそれはまた後回しということで。
まず1.ですが、割と来ていない先生方が多く、ほどんと達成できずでした。
これについては再度トライする必要がありそうですね。
2.に関しては完璧です。どうやら今年も産技からうちへの推薦がでそうなんだなとか。
推薦で入れないと厳しいと思いますのでがんばってください(他人事
3.は火曜日に延期になったようなので、達成できずです。残念(´・ω・`)
有望な一年生とやらの実力を見てみたかったのに残念です。
4.は忙しい昆布が研究室までパシってくれたので達成です。使い勝手が割といいです。
5.は必要がなくなったのと、担当の先生が忙しそうだったのでスルーです。
また暇そうだったら聞いてみよう。
あとプラスアルファでやったことといえば、
専攻科に行った同期の研究室に潜り込んで研究の邪魔しようと思ったら課題手伝っちゃったり
Den2で部活に参加したことですかね。
「メ○ドがハイ○ラ完成させたぞ!潰sッいや逃げろーーーー!!」
こんな感じでしたね。
あとはOpera氏が「稼働中の」ブラウン管Tvをジグソーで解体するという恐ろしいことをやっていました。
やっぱり高専怖いです。普通の人いない・・・
というのが今回の高専訪問録。
高専は恐ろしいところだと再認識させられましたまる
(^・ω・)ノ RadiumProduction at curonet
前回行ったのがALLJAの時だったので今から3週間前・・・あれ?結構な頻度で行ってる?
案外大学からそんなに時間もお金もかからず行けるっぽいですね。
今回の目的は5つ。
1.卒業前に忙しくて出来なかった部活顧問等、世話になった先生方への御礼参り
2.進学関連の情報提供
3.Yカップ視察
4.某昆布からマウスをもらう
5.産技のネットワークの情報収集
研究室の先生は前期はずっといないと聞いていたのでそれはまた後回しということで。
まず1.ですが、割と来ていない先生方が多く、ほどんと達成できずでした。
これについては再度トライする必要がありそうですね。
2.に関しては完璧です。どうやら今年も産技からうちへの推薦がでそうなんだなとか。
推薦で入れないと厳しいと思いますのでがんばってください(他人事
3.は火曜日に延期になったようなので、達成できずです。残念(´・ω・`)
有望な一年生とやらの実力を見てみたかったのに残念です。
4.は忙しい昆布が研究室までパシってくれたので達成です。使い勝手が割といいです。
5.は必要がなくなったのと、担当の先生が忙しそうだったのでスルーです。
また暇そうだったら聞いてみよう。
あとプラスアルファでやったことといえば、
専攻科に行った同期の研究室に潜り込んで研究の邪魔しようと思ったら課題手伝っちゃったり
Den2で部活に参加したことですかね。
「メ○ドがハイ○ラ完成させたぞ!潰sッいや逃げろーーーー!!」
こんな感じでしたね。
あとはOpera氏が「稼働中の」ブラウン管Tvをジグソーで解体するという恐ろしいことをやっていました。
やっぱり高専怖いです。普通の人いない・・・
というのが今回の高専訪問録。
高専は恐ろしいところだと再認識させられましたまる
(^・ω・)ノ RadiumProduction at curonet
最後にまともにロボットの記事を書いてから、
なんと2年以上経過していることが最近発覚しました。
未だにこのサイトはロボカップと検索して訪問される方が大半を占める中、
これでは、殆どロボカップ詐欺のような状態なのではないかと。そう思ったので。
極一部から公開を散々要求されて結局放置したネタを今のうちにやっておこうと思います。
というのは、Lα+のライントレースプログラムです。
まず、Lα+って何?という話ですが、
Lα+というのは現在のレスキューAセカンダリで活躍している、ケルベロスGの2階担当が
まだ1年生だった頃、ロボカップを初めてやった時のチーム名です。
その時に「ライントレース担当のプログラムがちょっと気になる」と言う意見が何件が寄せられていました。
という訳で、意見が来てから2年以上経ってるような気もしますが、
今回、ライントレース担当の方にプログラム掲載の許可がとれたので、プログラムを一部公開することになりました。
ライントレースやってた人はそんなプログラム得意な人ではないらしいので
参考になるかどうかは微妙ですが、まぁ一応ということで。
まず、Lα+のロボットってどんなの?という話ですが、
こんなのです。因みに2年前に解体された模様
下から見るとこんな感じ
NXTのロボットですね。ラインセンサーはRCX用の光センサーが3つついてます。
交差点は存在しない時代ですので、これでライントレースを行ってました。
それで、本題のライントレースプログラムですが、こんな感じになってます。
元々150行近くあったのですが、分かりやすくするために、色々ややこしい箇所を削った結果こうなりました。
基本的にはこんなアルゴリズム。真ん中のセンサーが黒の間ずっと前進して、
真ん中が白になるか、タッチセンサーが押されると前進を中断して旋回などを行うという感じです。
あとは長いので切りましたが、左右に回転した量を常に保持しておいて、
そのデータを元にカーブしている部分のラインの曲線の角度を検出しているっぽいです。
ジャイロセンサーやコンパスセンサーを使わずとも
カーブ後のギャップやら坂やらで進行方向に正しく向くようになっているようでした。
ジャイロもコンパスも搭載しているけど細かいことは気にしない
プログラムの紹介はこんな感じです。原本のプログラム上げておこうかとも思ったけど
たくさんある過去のプログラムの中で、どれが角度検出がうまくいっているプログラムなのか判断できなかったので
とりあえず今回は紹介だけということで。
そんな感じで、今日の記事はこの辺で。
今日は久しぶりにロボット関連の記事でした。次はいつやるのかな。
2012年かぁ。僕は神奈川西東京のスタッフとかやってたなぁ・・・()
(^・ω・)ノ RadiumProduction at curonet
なんと2年以上経過していることが最近発覚しました。
未だにこのサイトはロボカップと検索して訪問される方が大半を占める中、
これでは、殆どロボカップ詐欺のような状態なのではないかと。そう思ったので。
極一部から公開を散々要求されて結局放置したネタを今のうちにやっておこうと思います。
というのは、Lα+のライントレースプログラムです。
まず、Lα+って何?という話ですが、
Lα+というのは現在のレスキューAセカンダリで活躍している、ケルベロスGの2階担当が
まだ1年生だった頃、ロボカップを初めてやった時のチーム名です。
その時に「ライントレース担当のプログラムがちょっと気になる」と言う意見が何件が寄せられていました。
という訳で、意見が来てから2年以上経ってるような気もしますが、
今回、ライントレース担当の方にプログラム掲載の許可がとれたので、プログラムを一部公開することになりました。
ライントレースやってた人はそんなプログラム得意な人ではないらしいので
参考になるかどうかは微妙ですが、まぁ一応ということで。
まず、Lα+のロボットってどんなの?という話ですが、
こんなのです。因みに2年前に解体された模様
下から見るとこんな感じ
NXTのロボットですね。ラインセンサーはRCX用の光センサーが3つついてます。
交差点は存在しない時代ですので、これでライントレースを行ってました。
それで、本題のライントレースプログラムですが、こんな感じになってます。
while(1)
{
if(中央センサーが黒)
{
前進
while((中央センサーが黒) && (!左タッチ) && (!右タッチ));
}
if(左センサーが白)
{
if(右センサーが白)
{
ギャップ;
}
else
{
右旋回
}
}
else
{
左旋回
}
}//while(1)
{
if(中央センサーが黒)
{
前進
while((中央センサーが黒) && (!左タッチ) && (!右タッチ));
}
if(左センサーが白)
{
if(右センサーが白)
{
ギャップ;
}
else
{
右旋回
}
}
else
{
左旋回
}
}//while(1)
元々150行近くあったのですが、分かりやすくするために、色々ややこしい箇所を削った結果こうなりました。
基本的にはこんなアルゴリズム。真ん中のセンサーが黒の間ずっと前進して、
真ん中が白になるか、タッチセンサーが押されると前進を中断して旋回などを行うという感じです。
あとは長いので切りましたが、左右に回転した量を常に保持しておいて、
そのデータを元にカーブしている部分のラインの曲線の角度を検出しているっぽいです。
ジャイロセンサーやコンパスセンサーを使わずとも
カーブ後のギャップやら坂やらで進行方向に正しく向くようになっているようでした。
ジャイロもコンパスも搭載しているけど細かいことは気にしない
プログラムの紹介はこんな感じです。原本のプログラム上げておこうかとも思ったけど
たくさんある過去のプログラムの中で、どれが角度検出がうまくいっているプログラムなのか判断できなかったので
とりあえず今回は紹介だけということで。
そんな感じで、今日の記事はこの辺で。
今日は久しぶりにロボット関連の記事でした。次はいつやるのかな。
2012年かぁ。僕は神奈川西東京のスタッフとかやってたなぁ・・・()
(^・ω・)ノ RadiumProduction at curonet
投げっぱなしのコーナーを増やし続けるのもどうかと思ったので2ヶ月ぶりの更新です。
このコーナーはサーバー構築日誌に先行してもらわないと困るので何かと更新が遅くなります。
まず、beagle bone blackってなんだっけ?という方はこちらの記事をご参照ください。
まぁこれはいつものことなのですが、「使ってみる」という記事タイトルではありますが、
実時間上では「使ってみる」のフェーズはとっくのとうに終了しています。
既にBBBの設定は終了しては運用している状態ですね。やりながら書いていこうと思ってたのに・・・
まぁ事後録として見ていっていただければと思います。
という訳でBBBですが、今回はこの子をサーバーにしようという話でした。
まず、サーバーにもOSはあるんだよ!という話を以前サーバー構築日誌で行いました。
じゃあBBBのOSは・・・というと、標準でAngstromというOSが入っています。
標準入出力を使って何かする場合はこのOSが便利なのですが、
普通にサーバーとして機能させようとすると、色々と困った点が多すぎてちょっと厄介です。
という訳で今回はLinuxOSとしてはメジャーなUbuntuをインストールしたいと思います。
最初の記事はOSの入手から・・・といってもここの時点で既に面倒です。
まず、ubuntu(PC)を立ち上げます。
多分Debian系のOSならLinuxじゃなくても大丈夫だし、
コマンドの互換さえわかれば他Linuxでも大丈夫なのかな?
自分この辺あんまり詳しくないので不安ならubuntuを使ってください。
次にMicroSDカードを用意します。
BBBに直接OSを焼いてもいいのですが、そうするとAngstromが消えてしまうし、
何よりストレージが2Gしかないので何かと不便です。
今回はこのMicroSDカードにubuntuを焼いていきます。
まず、PCにgitをインストールします。デフォルトで入ってたり入ってなかったりしますが一応。
因みに自分は入ってませんでした。
とコマンドを打ってインストールします。これがないとMicroSDに書き込めないようです。
次に、SDカードのマウント先を確認します。最近のLinuxは指すだけで勝手にマウントしてくれるからいいですね。
MicroSDをPCにつないで、
と入力します。
そしたらあれやこれやのマウント先が出てくるのでMicroSDのマウント先を探します。
自分の場合は/dev/sdcだったかな。あんまり記憶無いですが多分こんな感じ。
次に、OSを入手します。BBBのubuntuはPC用のubuntuとは異なりますのでご注意ください。
コンソールに上のコマンドで以上のように打ちます。
といっても上のコマンドで出来る保証もありませんよね。
最新バージョンなんて日々刻々と変わりますから。
本家サイトにて最新バージョンをご確認ください。つい最近2014-05-06がでてますね。
このようにしてDLしたら(結構時間かかるよ!)、次にOSを焼きます。
1行目はtarファイルの解凍、2行目がcd、つまりディレクトリの遷移ですね。
3行目でインストールしています。
日付についてはDLしたバージョンごとに、
3行目の/dev/sdcの部分は各自のMicroSDのマウント先にしてください。
ここを間違えると変なところにOSを焼いてしまうので注意しましょう。
これでOSのばーんは終了です。美味しく焼けましたか?
これでBBBにMicroSDを挿せばOSが起動するはずです。
次回、OS版の後編ではSSHを使ってubuntuの初期設定を行います。
それでは今日はのこのへんで。
因みに参考はこちらから。こんなの自前でできるわけないじゃない。
(^・ω・)ノ RadiumProduction at curonet
このコーナーはサーバー構築日誌に先行してもらわないと困るので何かと更新が遅くなります。
まず、beagle bone blackってなんだっけ?という方はこちらの記事をご参照ください。
まぁこれはいつものことなのですが、「使ってみる」という記事タイトルではありますが、
実時間上では「使ってみる」のフェーズはとっくのとうに終了しています。
既にBBBの設定は終了しては運用している状態ですね。やりながら書いていこうと思ってたのに・・・
まぁ事後録として見ていっていただければと思います。
という訳でBBBですが、今回はこの子をサーバーにしようという話でした。
まず、サーバーにもOSはあるんだよ!という話を以前サーバー構築日誌で行いました。
じゃあBBBのOSは・・・というと、標準でAngstromというOSが入っています。
標準入出力を使って何かする場合はこのOSが便利なのですが、
普通にサーバーとして機能させようとすると、色々と困った点が多すぎてちょっと厄介です。
という訳で今回はLinuxOSとしてはメジャーなUbuntuをインストールしたいと思います。
最初の記事はOSの入手から・・・といってもここの時点で既に面倒です。
まず、ubuntu(PC)を立ち上げます。
多分Debian系のOSならLinuxじゃなくても大丈夫だし、
コマンドの互換さえわかれば他Linuxでも大丈夫なのかな?
自分この辺あんまり詳しくないので不安ならubuntuを使ってください。
次にMicroSDカードを用意します。
BBBに直接OSを焼いてもいいのですが、そうするとAngstromが消えてしまうし、
何よりストレージが2Gしかないので何かと不便です。
今回はこのMicroSDカードにubuntuを焼いていきます。
まず、PCにgitをインストールします。デフォルトで入ってたり入ってなかったりしますが一応。
因みに自分は入ってませんでした。
sudo apt-get install git-core |
とコマンドを打ってインストールします。これがないとMicroSDに書き込めないようです。
次に、SDカードのマウント先を確認します。最近のLinuxは指すだけで勝手にマウントしてくれるからいいですね。
MicroSDをPCにつないで、
dmesg | tail |
と入力します。
そしたらあれやこれやのマウント先が出てくるのでMicroSDのマウント先を探します。
自分の場合は/dev/sdcだったかな。あんまり記憶無いですが多分こんな感じ。
次に、OSを入手します。BBBのubuntuはPC用のubuntuとは異なりますのでご注意ください。
wget http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-10-25.tar.xz |
コンソールに上のコマンドで以上のように打ちます。
といっても上のコマンドで出来る保証もありませんよね。
最新バージョンなんて日々刻々と変わりますから。
本家サイトにて最新バージョンをご確認ください。つい最近2014-05-06がでてますね。
このようにしてDLしたら(結構時間かかるよ!)、次にOSを焼きます。
tar xJf ubuntu-13.04-console-armhf-2013-10-25.tar.xz cd ubuntu-13.04-console-armhf-2013-10-25 sudo LANG=C ./setup_sdcard.sh --mmc /dev/sdc --uboot bone_dtb --swap_file 512 |
1行目はtarファイルの解凍、2行目がcd、つまりディレクトリの遷移ですね。
3行目でインストールしています。
日付についてはDLしたバージョンごとに、
3行目の/dev/sdcの部分は各自のMicroSDのマウント先にしてください。
ここを間違えると変なところにOSを焼いてしまうので注意しましょう。
これでOSのばーんは終了です。美味しく焼けましたか?
これでBBBにMicroSDを挿せばOSが起動するはずです。
次回、OS版の後編ではSSHを使ってubuntuの初期設定を行います。
それでは今日はのこのへんで。
因みに参考はこちらから。こんなの自前でできるわけないじゃない。
(^・ω・)ノ RadiumProduction at curonet
七回目です。8月の終わりから初めてもうかれこれ半年以上やってる気がしますが、
一向にサーバーが出来る気配がありませんね。
いや、ホントは8月中に稼働させてるんだよ?
今日はポートについてのお話。なんでこの話をすることにしたのかはよく覚えてないですが、
何故か前回の記事でやるって書いちゃってるんでやります。
まず、現在のネットワークって色々な通信がありますよね。
インターネットで例を上げても、WEBページを見たり、メールをしたり、
webサイトやってる人とかだとFTP使ってることもあるでしょう。
ポート番号とは、簡単にいえば、そのそれぞれの通信に対して割り当てられている番号のことです。
さっきの例で言えば
Webページを見る(HTTP)は80番だったり、
メール(SMTP)は25番だったり、
FTPであれば21番だったり・・・。
前回の記事で紹介したSSHは22番でしたね。
こんな感じで通信ごとに番号が割り当てられているんです。
基本的にネットワークにつなげる端末・・・パソコンとか、携帯とかスマホとか、
まぁ色々ありますけどそれらには全てIPアドレスという番号が振ってあって、
そのIPアドレスによってネットワークは端末の個体識別をしています。
WEBページを見る場合ですと。WEBページはサーバー上にあるものですから、
WEBページを見る際にはそのWEBページが有るサーバーのIPアドレスを指定することによって
パソコン側は見たいWEBペーシのあるサーバーを特定して接続してくれるようになってます。
だけど、IPアドレスだけでは、サーバー側は接続した時に接続元、
つまりこちらのパソコンが何をしたくて接続しにきたのかがわかりません。
そこで先ほどのポート番号によってどういう作業をサーバーに求めているかを判別している訳です。
因みにIPアドレスの指定なんて普段やってないように思うかもしれませんが、
実はURLがその代わりになっています。
これについてはどっかのタイミングでDNSの話が出てくるのでその時にでも・・・。
というのが今日のお話。ポートだか、IPアドレスだかよくわからない話になってしまいましたが
なんかそんな感じです。
因みにポート番号についてはさっきの数字はあくまでデフォルトの値で、
サーバーの設定で制限はありますが、ある程度好きに変えることができます。
という訳でサーバー構築日誌、次の記事はセキュリティについてです。
といっても最低限のレベルでご紹介する程度になるかと思います。
(^・ω・)ノ RadiumProduction at curonet
一向にサーバーが出来る気配がありませんね。
いや、ホントは8月中に稼働させてるんだよ?
今日はポートについてのお話。なんでこの話をすることにしたのかはよく覚えてないですが、
何故か前回の記事でやるって書いちゃってるんでやります。
まず、現在のネットワークって色々な通信がありますよね。
インターネットで例を上げても、WEBページを見たり、メールをしたり、
webサイトやってる人とかだとFTP使ってることもあるでしょう。
ポート番号とは、簡単にいえば、そのそれぞれの通信に対して割り当てられている番号のことです。
さっきの例で言えば
Webページを見る(HTTP)は80番だったり、
メール(SMTP)は25番だったり、
FTPであれば21番だったり・・・。
前回の記事で紹介したSSHは22番でしたね。
こんな感じで通信ごとに番号が割り当てられているんです。
基本的にネットワークにつなげる端末・・・パソコンとか、携帯とかスマホとか、
まぁ色々ありますけどそれらには全てIPアドレスという番号が振ってあって、
そのIPアドレスによってネットワークは端末の個体識別をしています。
WEBページを見る場合ですと。WEBページはサーバー上にあるものですから、
WEBページを見る際にはそのWEBページが有るサーバーのIPアドレスを指定することによって
パソコン側は見たいWEBペーシのあるサーバーを特定して接続してくれるようになってます。
だけど、IPアドレスだけでは、サーバー側は接続した時に接続元、
つまりこちらのパソコンが何をしたくて接続しにきたのかがわかりません。
そこで先ほどのポート番号によってどういう作業をサーバーに求めているかを判別している訳です。
因みにIPアドレスの指定なんて普段やってないように思うかもしれませんが、
実はURLがその代わりになっています。
これについてはどっかのタイミングでDNSの話が出てくるのでその時にでも・・・。
というのが今日のお話。ポートだか、IPアドレスだかよくわからない話になってしまいましたが
なんかそんな感じです。
因みにポート番号についてはさっきの数字はあくまでデフォルトの値で、
サーバーの設定で制限はありますが、ある程度好きに変えることができます。
という訳でサーバー構築日誌、次の記事はセキュリティについてです。
といっても最低限のレベルでご紹介する程度になるかと思います。
(^・ω・)ノ RadiumProduction at curonet
という訳で今日はTeXの話。
TeXというと、ちょっと前に紹介した「てっくす」と読むと消されるアレのことです。
今日はそのTeXにプログラムのソースコードをのっけようという話です。
TeXにソースコードを乗っける時、実は専用のライブラリがあることをご存知ですか?
テキストをそのまま出力するコマンドである
実はTeXにはソースコードをソースコードらしく表示してくれる専用のライブラリが存在します。
その名は「listings」。
今日はこのライブラリの解説をしていこうと思います。
まずは入手。ここのサイトに転がってますので、とりあえずDLしましょう。
DLしたら解凍してlistingsというフォルダをTeXのソースのあるフォルダに入れ、
そしたらコマンドプロンプトを開き、
cdでlistingフォルダに移動、pdfplatex *.insと打ち込んでください。なんか色々ファイルが出来ます。
そしたらTeXのコードの上の方に
\usepackage{listings, jlisting}
TeXというと、ちょっと前に紹介した「てっくす」と読むと消されるアレのことです。
今日はそのTeXにプログラムのソースコードをのっけようという話です。
TeXにソースコードを乗っける時、実は専用のライブラリがあることをご存知ですか?
テキストをそのまま出力するコマンドである
\begin{verbatim} ... \end{verbatim}を使う方法は割りと有名ですが、アレ結構汚いですよね。
実はTeXにはソースコードをソースコードらしく表示してくれる専用のライブラリが存在します。
その名は「listings」。
今日はこのライブラリの解説をしていこうと思います。
まずは入手。ここのサイトに転がってますので、とりあえずDLしましょう。
DLしたら解凍してlistingsというフォルダをTeXのソースのあるフォルダに入れ、
そしたらコマンドプロンプトを開き、
cdでlistingフォルダに移動、pdfplatex *.insと打ち込んでください。なんか色々ファイルが出来ます。
そしたらTeXのコードの上の方に
\usepackage{listings, jlisting}
\usepackage{color}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{colFunc}{rgb}{1,0.07,0.54}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{colID}{rgb}{0.63,0.44,0}
\lstset{
language=c,
basicstyle={\ttfamily\small},
keywordstyle={\color{OliveGreen}},
%keywordstyle={\small\bfseries \color[rgb]{0,0,1}},このような設定も可能
%keywordstyle={\small\bfseries \color[rgb]{0,0,1}},このような設定も可能
keywordstyle={[2]\color{Red}},
keywordstyle={[3]\color{Blue}},
commentstyle={\color{Brown}},
%identifierstyle={\color{colID}},
stringstyle=\color{blue},
tabsize=2,
frame=trBL,
numbers=left,
numberstyle={\ttfamily\small},
breaklines=true,
backgroundcolor={\color[gray]{.95}},
captionpos=b
}
このように設定を貼り付けます。
上はC言語での1例ですが、C以外でもC++,Java,Ruby,PHPなど様々な言語に対応しています。
このへんの設定の詳細は、DLした中に入っているlistings.pdfをご確認下さい。
ソースコードを載せる方法は2パターン有り、
1.ファイルを読み込む方法
2.直接書く方法
このように設定を貼り付けます。
上はC言語での1例ですが、C以外でもC++,Java,Ruby,PHPなど様々な言語に対応しています。
このへんの設定の詳細は、DLした中に入っているlistings.pdfをご確認下さい。
ソースコードを載せる方法は2パターン有り、
1.ファイルを読み込む方法
\lstinputlisting[label=prm1, caption=test.c]{test.c}
2.直接書く方法
\begin{lstlisting}[label=prm1, caption=test.c]
#include
main()
{
printf("helloworld");
}
\end{lstlisting}
とできます。まぁよっぽどの理由がなければ1.でいんじゃないでしょうか。
何れの場合も表示したい場所にこのコマンドを入れれば表示されます。
また日本語対応ですが、このままでも表示してくれないこともないですが、
コメントなどは改行がうまく表示してくれません。
一応、jlistingという日本語に対応させるパッチがでていますが、
自分の環境ではファイルそのものを認識してくれませんでした。
ファイルはここからダウンロードできるようですので使ってみたい場合はどうぞ。
bz2形式でしたのでWindowsの場合は解凍の際ご注意ください。
自分は特に日本語使うことはないのでまぁこれでいいかな。
そんな感じで今日はTeXの話でした。
(^・ω・)ノ RadiumProduction at curonet
とできます。まぁよっぽどの理由がなければ1.でいんじゃないでしょうか。
何れの場合も表示したい場所にこのコマンドを入れれば表示されます。
また日本語対応ですが、このままでも表示してくれないこともないですが、
コメントなどは改行がうまく表示してくれません。
一応、jlistingという日本語に対応させるパッチがでていますが、
自分の環境ではファイルそのものを認識してくれませんでした。
ファイルはここからダウンロードできるようですので使ってみたい場合はどうぞ。
bz2形式でしたのでWindowsの場合は解凍の際ご注意ください。
自分は特に日本語使うことはないのでまぁこれでいいかな。
そんな感じで今日はTeXの話でした。
(^・ω・)ノ RadiumProduction at curonet
先ほどRRCの公式ブログで確認しましたが
どうやらサッカーBオープンのGcraudが世界大会の切符を手に入れていたようで、
今年度RRCからは
レスキューAセカンダリ優勝のAcro
cospaceレスキュー優勝のUNIfy
サッカーBオープン4位のGcraud
計3チームの世界大会出場が決定しているようです。
大学の方が予定外に忙しいので
殆ど産技高専及びロボカップ関連の情報収集ができてない状態なのですが、
今日確認したらGcraudも出場できているようで一安心ですね。
今年の世界大会はブラジルとのことですので、
得るものより失うものを多くすることのないように気をつけて頑張ってきてください!!!
という訳で今日はこのへんで。3回ぐらい記事書いてる気がする(´・ω・`)
(^・ω・)ノ RadiumProduction at curonet
どうやらサッカーBオープンのGcraudが世界大会の切符を手に入れていたようで、
今年度RRCからは
レスキューAセカンダリ優勝のAcro
cospaceレスキュー優勝のUNIfy
サッカーBオープン4位のGcraud
計3チームの世界大会出場が決定しているようです。
大学の方が予定外に忙しいので
殆ど産技高専及びロボカップ関連の情報収集ができてない状態なのですが、
今日確認したらGcraudも出場できているようで一安心ですね。
今年の世界大会はブラジルとのことですので、
得るものより失うものを多くすることのないように気をつけて頑張ってきてください!!!
という訳で今日はこのへんで。3回ぐらい記事書いてる気がする(´・ω・`)
(^・ω・)ノ RadiumProduction at curonet
おひさです。
今日はアキバにて,なぞのオフ会もどきがありました。
メンバーは,
・れすか
・こんぶ
・おぺら
・メヰド
・ざっついR
・ざっついK
・M.C
あとは知らない人いっぱい。
正直,ざっついの2名のキチっぷりにはついていけず,大変なことになり,早々分離しました。
置いていきました,無理ですアレ。久々すさまじい人間を見たと思います,ハイ。
その後は, こんぶとおぺら,3名でアキバ巡り。
割と真面目に普通でした。ラジ館いったりaitendoいったり。
自分はaitendoでちょっと買い物はしてません。
昨日アキバで色々買ったので流石に2日連続で買い物はアカン。
ということでした。
あ、因みにおぺらに進学の話をするのをまた忘れました。
というか、正確にはしようとはしたけど
何故かするたびに高専の話に持って行かれたというのが正しいですね。僕は悪くない。
という訳で今日はこのへんで。記事前半は丸パクリしました。
(^・ω・)ノ RadiumProduction at curonet
今日は産技高専で電気通信部 の大会があるから来いと某OperaLegend氏に呼びつけられたので
約一ヶ月ぶりに産技高専に行ってきました。
連投です。さっきの記事でW700にしか触れてないことに気がついたので・・・。
という訳で今日の本来の目的を果たしに、あの秋葉の後で産技高専に行きました。
今日は麻雀部ではALL JAという無線の大会を・・・
大会を・・・。
!?
この部活はいつも安定していますね。今日も何やってるんだか・・・。
ここでは書くことのできないような様々なブツを大量に持ち込んで、
部員それぞれが思い思いのALLJAを楽しんでいるようでした。
それで、今日の目的は4つ。
1.賞味期限が今日のカステラを処理してもらう。
2.麻雀(大事)
3.Operalegendに進学の話をする
4.W700のセットアップ
1.と2.に関してはオールクリアです。何の問題もなかった。うん。
3.は・・・うん。明日やろう。明日もおぺらとは会うことになっているようなので・・・。
4.ははだゃん氏がdropboxを入れてくれました。
しかし、windows8.1へのアップデートにも挑戦してくれましたが失敗した模様。
うん。自分何もしてないです。という訳で達成率は50%というところでしょうか。赤点ですね。
という訳で3回目のALLJAも無線には触ることなく(そもそも免許ない)離脱しました。
今回はOBとして煽りに来ただけなので泊まりはせずに22時頃離脱しました。
部室では今でもスマブラ無線通信が行われているはずです。
部員の皆さんレベル9のCPUに負けないように頑張ってください。
それでは今日はこのへんで。今日はこの後アキバに行くらしいので誰かに会うかもね。
あ。今日アレを買ったのは基本的にK氏のせいです。慰謝料請求したい(´・ω・`)
(^・ω・)ノ RadiumProduction at curonet
約一ヶ月ぶりに産技高専に行ってきました。
連投です。さっきの記事でW700にしか触れてないことに気がついたので・・・。
という訳で今日の本来の目的を果たしに、あの秋葉の後で産技高専に行きました。
今日は麻雀部ではALL JAという無線の大会を・・・
大会を・・・。
!?
この部活はいつも安定していますね。今日も何やってるんだか・・・。
ここでは書くことのできないような様々なブツを大量に持ち込んで、
部員それぞれが思い思いのALLJAを楽しんでいるようでした。
それで、今日の目的は4つ。
1.賞味期限が今日のカステラを処理してもらう。
2.麻雀(大事)
3.Operalegendに進学の話をする
4.W700のセットアップ
1.と2.に関してはオールクリアです。何の問題もなかった。うん。
3.は・・・うん。明日やろう。明日もおぺらとは会うことになっているようなので・・・。
4.ははだゃん氏がdropboxを入れてくれました。
しかし、windows8.1へのアップデートにも挑戦してくれましたが失敗した模様。
うん。自分何もしてないです。という訳で達成率は50%というところでしょうか。赤点ですね。
という訳で3回目のALLJAも無線には触ることなく(そもそも免許ない)離脱しました。
今回はOBとして煽りに来ただけなので泊まりはせずに22時頃離脱しました。
部室では今でもスマブラ無線通信が行われているはずです。
部員の皆さんレベル9のCPUに負けないように頑張ってください。
それでは今日はこのへんで。今日はこの後アキバに行くらしいので誰かに会うかもね。
あ。今日アレを買ったのは基本的にK氏のせいです。慰謝料請求したい(´・ω・`)
(^・ω・)ノ RadiumProduction at curonet
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(01/03)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
プロフィール
HN:
Luz
性別:
男性
アーカイブ