2018年12月1日土曜日

ESP-IDFでESP32を開発するときにハマったこといろいろ

さて、エスプリのESP32がM5Stackの登場もありMaker界隈で大人気ですね
メーカーが作っているというArduino Coreもあり、お手軽に始めることはできるのですが、Arduino Coreを使うとメモリが足りなくなったり、細かいことをいじろうとすると
IDFの関数を直叩きしたりするので、じゃあ最初からIDFで作ろうよということで、
基本のSDKとして配布されている、ESP-IDFをぼちぼち使っていくことにしました。

正直まだ全然よくわかっていないのですが、とりあえず導入から。
自分が使っているマシンが基本Windows 10なので、Windowsに直に導入してもいいのですが、Windows Subsystem for LinuxにUbuntuがいるので、そこから使おうということで、
WSLから、↑のUbuntuの手順で導入しました。

導入したらとりあえずビルド。
サンプルを読んでもどこで何をしてるかさっぱりだったので一行ずつコメントつけたLチカのデモをgithubにおいておきました。

git clone して、プロジェクトルートでmake menuconfigコマンドを入れると、コンパイルの設定や、コード内で#define CONFIG_VALUE とかやってる設定を簡単に変えられるやーつが出ます。


書き込み設定は、Serial flasher Configで変更できます。
WSLでWindowsのCOMポートを使いたいときは、例えばWindowsでCOM5として認識してる場合は、"/dev/ttyS5"とかやるとそのまま使えます。
Flash sizeは使ってるモジュールに合わせて変更します。
あとおすすめは、Default baud rateを921600くらいに上げたほうがいいと思います。
どうでもいいことしかやってなくても結構ファームのサイズが大きくアップロードに時間がかかりますが、ここで書き込みスピードを上げるとArduino UNOなんかを使うときと遜色ないくらいの速さにできます。

設定が終わったらSave→Exitで終了。ここで作ったコンフィグはプロジェクトルートのsdkconfigに書かれています。


ビルドはmake allでできます。

そしてとりあえず書き込みしたいということで、
make flashすると書き込めます。esptool.pyを呼んで作ったビルドしたファイルを書き込んでくれるのですね。
書き込み時、RSTとIO0を、シリアルポートのRTS/CTSピンで自動的に切り替えて書き込みモードにしてくれてます。当然ESP32、USB-UARTが乗ってるボードにその仕組みがないとできません。うまく書き込まれないときはIO0をLOWにし続けながら、一旦リセットを掛けると手動で同じ状態にできます。

いろいろ作っていくと、Arduinoみたいにライブラリをもらってきて入れて使いたいですね。
そんなときは、プロジェクトルートに”components”ディレクトリを作ってそこへ入れるもののようです。
というわけで、
mkdir components
cd components
で、そこに入れたいコンポーネントをクローンしたりする。
仮にtestcmpntとかいう名前だとしますが
とりあえずその中身を見るとだいたいこんな感じだと思います
$ ls testcmpnt/
component.mk  include  testcmpnt.c  

この中身のcomponent.mkを見ると、こんな感じになっていると思います。
COMPONENT_ADD_INCLUDEDIRS = /include/.
COMPONENT_SRCDIRS := .

これが、SRCDIRSがtestcmpntのルート、INCLUDEDIRSが/include
も見てねって指示のようです。
これがちゃんと書いてあるとmake allしたときに一緒にコンパイルしてくれます
たまにcomponentを借りて持ってくるとこの中身が空だったりして、メインファイルでインクルードしたヘッダーファイルが見つからないよとエラーになったりします。
ここでプチハマりしました。ここに何も書いてなければ知らんがなってことなのですね
プロジェクトルート/mainに全部入れるといろいろ入れたときにゴチャゴチャしてしまいますし、わかってしまえば便利ですね。

とりあえずまだまだ使いこなしてないので一旦ここまでです。
なにか間違えてたら教えてください。

ほかにもぼちぼちわかったことやハマったことがあったら追記していきたいと思います

2018年11月12日月曜日

電子ピアノを買ったらなんでピアノが身につかなかったのかわかった

ここ数年、幼少期、とりわけたくさんの挫折をしてきた小中学生のころに挫折したことを、大人になってやってみるっていうのをいろいろ試しています。
といっても、たいていは必要になって覚えたり少しはできるようになったりというパターンが多いのですが。

タイトルの、ピアノもその一つで、話すと長くなるのですが、
母の知り合いがヤマハとかカワイ音楽教室みたいなものではなく特にピアノ講師みたいな資格があるのかもよくわからない人が勝手に知り合い同士でやってるインチキピアノ教室にどういう経緯か忘れましたが2,3年通っていたのです。
先生は楽器屋さんの家庭で育ったそうで、めちゃくちゃピアノがうまかったのであまりインチキインチキ言わなくてもいいのですが。。

ピアノ教室というといわゆる「バイエル」の練習曲を弾きまくって
だんだん難しい曲をやろうという流れが観測範囲では標準のようですが、
僕が通っていたところはインチキピアノ教室なので、なんとなくピアノや音楽が好きになればいいんじゃないのくらいのノリで、自分が好きな曲の楽譜を持っていって一曲弾けるようになろうみたいな感じでやっていました。

僕は、練習してなかったのもあるのですが、一曲弾けるようになるまでのペースがとても遅く、一年に1曲か2曲くらいのペースで進んでいました。もうほとんどなんの曲をやったのか覚えてないのですが。

今も当時も、楽譜読むのも5線譜をミファソラシ…って数えて読まないと読めないし、全然上達もせずに辞めました。最後のほうは全く練習せずに授業に出て怒られていましたね。

でもなんとなく楽器が趣味って高尚な感じがしていいじゃないですか。
1年に一度くらいまたやってみようかなと思うわけです。
そこで、ヤフオクでUSB MIDI入出力デバイスにもなるっていうヤマハの電子ピアノがあったのでぽちってみました。MIDIをいじってみたいってのもあったので。

それで届いたら、シーケンサーアプリのDominoとつないでみてなるほどーとかやりつつ、
ここで積んだら終わりだ…と思って、最後に教えてもらっていた、「G線上のアリア」の楽譜をネットでダウンロードして練習しはじめてみました。


結婚式場のCMなんかで流れてるような感じの曲ですね。
選曲は、当時中二病だったので曲名だけで決めたみたいなことだったのかもしれません。

はじめの音は…ふむふむ、ファのシャープ、なんとなくノリで右手だけやってみるか。
あーこんな感じだったっけなぁ。
とかやりつつ、今度は左手の楽譜を解読して、意外と覚えてるもんだな。
片手ずつならまあいけるじゃんと思い、両手で弾き始めようと思ったら全然進まない。
回数を重ねていくと体が覚えるので、なんとなくスムーズになっていく。
ああ、この感じ。ゴリ押しで回数を弾いて体で覚えさせる方式だったなぁ。と。

体が覚え始めると、脳を全然使ってないので、手を動かしてるのになんか暇だなと思ってしまって、別のことを考えはじめてしまい、間違える。やり直し。あ、最初から間違えた。

お前、集中力なさすぎだろ!!!

挫折して10数年、わかりました。集中力がないと楽器ってやれないんですね。
買って数日で挫折するの苦しいのでもうちょっと頑張りたいと思います。
一曲弾けるようにになりたい。。

2018年2月11日日曜日

一人暮らしをするときにいるもの、いらないもの

どうも。一人暮らしを初めてもうすぐ早4年、当初はどうなるものかと思いましたが、
まあなんとかやってきました。炊事はそもそもあまりしてませんが、飯を自動的に出してほしければ松屋や閉店前のスーパーに行けば作るより安かったりするし、
洗濯なんかは一人分で量もそんなにないし、ボタンを押せばすぐできるので、
面倒なことってあまりないもんですよね。

さて、4年前の自分を振り返ると、一人暮らしには何が必要なのかなぁと心配していました。そこで、振り返ってこれ買わなくてもよかったなぁみたいなものや、逆にこれ買ってよかったというものをメモにしました。社会人だとまた違うものなのかもしれませんが、工学部の学生的な視点です。

まずはいらないものから。

各種辞書
    色々意見があるとは思いますが、たぶん一度も開きません。ググったほうが早い。
テレビ
    ドラマやバラエティ番組とか好きな人もいると思うんですが、
    今だとTVerで見られます。NHKが見られないのは仕方がないです。
    TVerは各種ドラマや、マツコの知らない世界、カンブリア宮殿なんかも見られます。
    https://tver.jp/
    どうしてもNHKが見たい場合のみテレビを買って、受信料を支払うべきだと思います。
    また、ラジオを聞く習慣がつくと結構ローカルな話題を仕入れられて楽しいです。
    Radikoを使うとスマホやPCでチューナ不要で聞く事ができて、
    最近だとタイムシフトも使えるようになったので便利です。
    課金すればエリア外の局も聞けます。
    http://radiko.jp/
カレンダー
    Google カレンダーなんかを使いこなせればいらないです。
    我が家にはめくらずに2年放置したカレンダーがありました…。
ご飯を冷凍保存する容器
    ラップで包んで冷凍で十分です。これだと容器を洗わなくていいので楽です。
    容器があると移し替えずそのまま食べられるというメリットがありますが、
    白飯を保存する容器を汚すのはあまり気分がよくありませんでした。
パスタを電子レンジで作る容器
    時間がかかるし普通に鍋で作ったほうが楽です。
    最終的には鍋一個で食べるところまで完結してました。

ほかにもいろいろある気がするんですが、印象的だったのはこれくらいです。
まあどれもものすごくかさばるものじゃないので好みな気もします

次にあって便利だったもの

調味料入れ
    袋のままいけるだろと思いがちですが、
    1kgとか入ってる砂糖や塩をそのまま使うとダバーって入ってしまって泣きます。



工具
    工作しなくてもあったほうがいいです。組み立て家具の梱包は
    インシュロックでついていたりするのでニッパーがあると便利です。
    テンションのかかっているインシュロックをハサミや素手でいくと怪我します。
    安い築年数の長い賃貸はトイレの水が止まらなくなったり普通にするので、
    マイナスドライバーが一本あると焦らずに済みます。
    適当な工具セットでいいのでおいておくと便利だと思います。




高校の専門科目の教科書
    自分は工業高校出身なのでレアケースだと思いますが、これがあると便利です。
    レポートの提出前なんかは図書館から参考書が消えます。
    専門を変えていなければなんですが、許可書検定というお墨付きのある
    信頼できる読みやすい参考書が家にあるとかなり楽できます。
    他の科目の教科書はいらないと思います。
キッチン泡ハイター
    限界一人暮らし生活をしていると水回りの衛生面が心配ですが、
    除菌したいなーと思ったらこれだとサクっと塩素消毒できます。
    服にかかると色落ち不可避なので注意です。



クロネコメンバーズアカウント
    実家だと家族が受け取ってくれたりする荷物も一人暮らしだと受取りにくくなります。
    到着日前日に明日持っていくでというメールが届いて、
    都合に応じて時間指定やコンビニ受け取りに変更などができるので、
    再配達してもらう必要が減ります。
    昨今運送会社さんは大変だし、負担減に若干は貢献できると思います。
    https://cmypage.kuronekoyamato.co.jp/portal/entrance

Amazonプライムアカウント
    Amazonプライムビデオが神です。これでさらにテレビが要らなくなります。
    学生だと半額で入れます。また、教科書は大学で買うよりも
    こっちで買ったほうがポイント還元があってお得です。
    専門書の中古もマーケットプレイスにあるので、
    半額以下で買えることも多いです。(中古は版違いに注意)



とりあえずこんなところでしょうか。
似たような記事はたくさん出てくると思いますが、
あんまり被ってないんじゃないでしょうか。逆のことを言ってるかもしれません。
これからまた何か気づいたら追記していきたいと思います。