- 投稿日:2019-05-26T19:40:07+09:00
micro:bitとMacをシリアル通信するまで
はじめに
micro:bitは教育用にも使われる安価なマイコンです。ウェブブラウザー上のブロックエディター、Javascript、Python、Scratchなどを使ってプログラムすることができます。
今回、micro:bitを初めて使うのと、Macでシリアル通信をするのが初めてだったので、記録を残しておきます。micro:bitとMacをUSBでつなぐ
はじめに、micro:bitとMacをUSBで接続します。
接続すると、Finder上にMICROBITドライブが現れます。
プログラムの作成
ウェブブラウザ上のブロックエディターを使ってmicro:bitに書き込むプログラムを作成します。ブロックを組み合わせて以下のようなプログラムを作成しました。
内容としては、シリアル通信で1秒毎に、ピッチ角、ロール角、温度を書き出すものです。
作成したものをダウンロードボタンを押してダウンロードし、ダウンロードした.hexファイルをMICROBITドライブにコピーしたら、プログラムの書き込みは終了です。ターミナルでシリアル通信
Macとつないだmicro:bitのデバイス名を調べます。
bash$ ls -l /dev/tty.* crw-rw-rw- 1 root wheel 18, 0 5 26 11:14 /dev/tty.Bluetooth-Incoming-Port crw-rw-rw- 1 root wheel 18, 6 5 26 18:48 /dev/tty.usbmodem141102私の場合、usbmodem141102という名前のようです。
シリアル通信を始める。
bash$ cu -s 115200 -l /dev/tty.usbmodem141102 Connected. pitch: 176 roll: -94 temp: 29 pitch: 177 roll: -94 temp: 29 pitch: 176 roll: -94 temp: 29無事、1秒間隔でpitch, roll, tempが出力されました。
Permissionのエラーが出る場合はsudoを付けて実行しましょう。シリアル通信をやめるときは、
$ ~.
です。
参考文献/URL
- 投稿日:2019-05-26T13:30:38+09:00
【コピペ用】Laravel環境構築【MAMP】
はじめに
こまけぇことはいいんだよ! ってことで、コピペで
MAMPを使用してのLaravelのローカル開発環境を構築します。前提条件
MacにMAMPをインスール済みでPHPの環境構築が済んでいること
あらかじめ、phpMyAdminで新しくデータベースを作っておく。
今回は「myapp」というDB名で作成手順1 Laravelをインストールするまで
ターミナルを起動して以下のように順番にコマンドを打っていきます。
// homebrewをインストール $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" // composerをインストール $ brew install composer // composerのバージョンを確認 $ composer -V // 以下のような感じに表示されたらインストールおっけー! Composer version 1.8.5 2019-04-09 17:46:47 // MAMPのhtdocsフォルダに移動する $ cd /Applications/MAMP/htdocs // composerを使ってLaravelをインストール(バージョンは5.5LTS版を使用) // 「myapp」の部分はプロジェクト名になるのでお好きな名前を $ composer create-project laravel/laravel=5.5.* myapp --prefer-dist // プロジェクトフォルダに移動する $ cd myapp // Laravelのバージョンを確認 $ php artisan -V //以下のように表示されたらインストールおっけー! Laravel Framework 5.5.45手順2 .envファイルの修正する
作成したプロジェクトフォルダ内に「.env」という名前のファイルがあるのでエディタで開いて修正する。
デフォルト設定なら以下の部分を書き換える。.envファイル一部DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=8889 //DBのポート番号 デフォルトは8889 DB_DATABASE=myapp //phpMyadminで新規作成したDB名 DB_USERNAME=root //DBのユーザー名 デフォルトは root DB_PASSWORD=root //DBのログオンパスワード デフォルトは root手順3 DBに接続されてるかどうかを確認する
マイグレーションを実行して、DBと接続できているか確認します。
//マイグレーション実行 $ php artisan migration //以下のような感じに表示されたら接続おっけ〜! Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_tableタイムゾーンの変更
ついでにデフォルトのタイムゾーンを変更しておきましょう
「cofig」フォルダの中の「app.php」をエディタで開いてtimezoneの項目を以下のように変更する。
元は 'timezone' => 'UTC', になっています。app.php/* |-------------------------------------------------------------------------- | Application Timezone |-------------------------------------------------------------------------- | | Here you may specify the default timezone for your application, which | will be used by the PHP date and date-time functions. We have gone | ahead and set this to a sensible default for you out of the box. | */ 'timezone' => 'Asia/Tokyo',終わりに
毎回環境構築を調べなおすのが面倒なので自分用にまとめてみました。
「ここが間違ってるよ〜!」とか「ここはもっとこうしたらいいんじゃない?」って
などがありましたら、コメントください。お待ちしております。
- 投稿日:2019-05-26T05:41:46+09:00
LinuxのオリジナルコマンドをMacに移植した話
経緯
僕の大学では入学時にPCを買うとVirtualBoxを入れさせられ、学校の授業用に何やら設定を施されたubuntuが配布されます。
1、2年生の間は特に配布されたubuntuにありがたみは感じないものの、3年生になると「sep3asm」というオリジナルプログラムを授業内で使うことになります。
これは我が校の教授が教育用に作ったオリジナルCPU、「SEP-3」(モデルは過去の名機PDP-11らしい)で用いるアセンブラのプログラムをアセンブルするもので、いうまでもなく学校で配布されたubuntuにしか入っていません。ここまでの話は正直どうでも良いという人がほとんどだと思いますが、僕はこの「sep3asm」をMacでどうにか使えないかと考えました。
言い忘れていましたがこの「sep3asm」はコマンドで動くものでLinux用バイナリでした。
したがってMacで動かすには少々工夫が必要でしたが、今回の設定は他の場面でも使えると感じたので方法をシェアしたいと思います。作業の流れ
コマンドの場所を確認(Linux上)
↓
コマンドのファイルをMacへ移動
↓
実行権限を加える(Mac上)
↓
noahをインストール
↓
コマンドのファイルを所定の位置に移動
↓
rootでnoahを起動
↓
コマンド実行コマンドの場所を確認
コマンドをMacに移すにはまずコマンドのファイルの場所を特定しなければいけません。
$ where sep3asm /usr/local/bin/sep3asm上記のコマンドで探すことができます。
コマンドのファイルを移動
方法はお任せします。
僕の場合はubuntuがVirtualBoxに入っているので共有フォルダでWindowsに移してからLineでMacに送りました。実行権限を加える。
$ chmod a+x sep3asm
chmod
コマンドは、ファイルやディレクトリのアクセス権を変更するコマンドです。引数のa+x
の意味を一応解説しておきます。
自分なりの認識なので間違っていたらすみません。
chmod
の引数は
<誰に> - <何の> 権限を与える、という構造になっているようです。<誰に>の部分は4種類
記号 意味 u 所有者(user) g グループ(group) o その他(other) a 上の三つ全て(all) <何の>の部分は3種類
記号 意味 r 読み込み権限 w 書き込み権限 x 実行権限 今回の場合は<全ての者に> - <実行権限>を与えているわけです。
noahをインストール
Macでは、Linux用バイナリを実行できません。したがってこれに関しては何らかの対策を講じる必要があるのですが、色々調べてみるとすごく便利なものを見つけてしまいました。
Noahというアプリケーションは、MacOS上でLinuxOS用アプリケーションを動かすことのできる優れものです。
apt-getやLinux向けgcc、自作のLinuxアプリケーションが、そのままMacOSで動作します。ということで、早速インストールします。
$ brew install linux-noah/noah/noah初めて起動するとこんな感じ
$ noah Noah is installing the initial filesystem in ~/.noah/tree. Proceed? [Y/n] Y Password: (中略) Noah is still under development, so please enable it at your own risk! [y/N] y (中略) I have no name!@username:~$適当にyを押しておきます。
コマンドを所定の位置に移動させる
sep3asmを所定のいちに移動させます。
$ sudo cp sep3asm /bin/sep3asmコマンドのファイルを
/bin
に入れる動作はrootでしかできないのでsudo
でやります。一応、移動させたら確認してみてください。
$ which sep3asm /bin/sep3asmこんな感じになっていたらOK。
rootでnoahを起動
$ sudo noah Password: groups: cannot find name for group ID 61 groups: cannot find name for group ID 80 groups: cannot find name for group ID 701 groups: cannot find name for group ID 98 root@username:~#起動画面はこんな感じです。
もうこのままコマンドが打てる状態です。
試しにプログラムをアセンブルしてみましょう。今回アセンブルするプログラム
sample.s. = 0x1FF . WORD 0x0A0A, 0xF0F0 MOV #0x200, R6 MOV R6, R0 HLTアセンブルします。
$ sep3asm sample.sアセンブル結果がこちら
sample.bin000001FF: 0A0A 00000200: F0F0 00000201: 43E6 00000202: 0200 00000203: 40C0 00000204: 0000ちゃんと動作していますね!