20190526のMacに関する記事は3件です。

micro:bitとMacをシリアル通信するまで

はじめに

micro:bitは教育用にも使われる安価なマイコンです。ウェブブラウザー上のブロックエディター、Javascript、Python、Scratchなどを使ってプログラムすることができます。
今回、micro:bitを初めて使うのと、Macでシリアル通信をするのが初めてだったので、記録を残しておきます。

micro:bitとMacをUSBでつなぐ

はじめに、micro:bitとMacをUSBで接続します。

image.png

接続すると、Finder上にMICROBITドライブが現れます。

プログラムの作成

ウェブブラウザ上のブロックエディターを使ってmicro:bitに書き込むプログラムを作成します。ブロックを組み合わせて以下のようなプログラムを作成しました。

スクリーンショット 2019-05-26 19.19.29.png

内容としては、シリアル通信で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

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【コピペ用】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

きちんとテーブルも作成されていますね。
スクリーンショット 2019-05-26 13.00.21.png

タイムゾーンの変更

ついでにデフォルトのタイムゾーンを変更しておきましょう
「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',

終わりに

毎回環境構築を調べなおすのが面倒なので自分用にまとめてみました。
「ここが間違ってるよ〜!」とか「ここはもっとこうしたらいいんじゃない?」って
などがありましたら、コメントください。お待ちしております。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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.bin
000001FF: 0A0A
00000200: F0F0
00000201: 43E6
00000202: 0200
00000203: 40C0
00000204: 0000

ちゃんと動作していますね!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む