踏んでしまったのでメモ。
操作ミスまたは一時的なバックアップのつもりでうっかり下図のようなファイルコピーをおこなったとする。
このとき、test.ino を開いてもArduino IDE上に test - コピー.ino は表示されない。空白や日本語を含むファイル名のソースは表示されないようだ。
ところが、ビルドすると test - コピー.ino もコンパイルされる。その結果、関数の再定義エラーが発生する。
手軽なヘッドセットで測定した脳波データをスマホに送って、分析したりアプリ開発したりできるやつ欲しい。どれを選んだらいいのか調べていたら↓の動画を見つけた。
以下に要約する。(※内容の妥当性は僕には保証できません。)
Arduino系のマイコンでprintfをシリアルに出力するためのいいかげんなマクロ
static char print_buff[256]; // ←メモリが許すなら十分大きくとる #define printf(...) sprintf(print_buff, __VA_ARGS__), Serial.print(print_buff)
sprintf()とSerial.print()の区切りがなぜ ; でなく , かというと、下記のようなif文の書き方があった場合にエラーになるため。
if(hoge) printf("hoge"); else printf("piyo");
printf()の戻り値を受け取るような場合にはエラーになるが、そんなことは滅多にしないだろう。
また、見ての通りリエントラントではないので割り込みやマルチタスクで使う場合は要注意。あくまでもテキトーにコピペしたコードを動かすための、間に合わせの超いいかげんなマクロである。
Maker Faire Kyotoで限定販売されたハッコーのキャップセットと折りたたみこて台をゲットしました。プロトタイプ段階のもので今のところ一般販売は未定のようです。
ハッコーの温調はんだごてFX-600にキャップを取り付けるためのアダプタとキャップのセットです。キャップはPRESTOに付属するものと同等品です。アダプタにはキャップをしめるためのネジが切ってあり、付属のビス3本で簡単にこてに取り付けることができます。FX-600を携帯するときに便利です。今まではこてカバー605Mを使ってましたが、キャップのほうがスッキリしますね。
…ていうか、FX-600は最初からキャップを取り付けられるようにしてほしかったです。
折りたためるこて台です。こて台を携帯するときに便利です。同社のこて台633-02に折りたたみ機構がついたようなかんじですね。関節部分が良く出来ていると思います。昔愛用していたgootのこて台ST-77は関節を蝶ネジでしめる機構ですが、蝶ネジがゆるむとぐらつくのが難点でした。本製品は関節がロックするのでネジは軽くしめるだけでOKです。また、底面の滑り止めのゴムが大きくて、軽くてもしっかり机にグリップする感じがします。
携帯用のこて台にはこてを寝かせて置くものが従来からありコンパクトではありますが安定が悪く、ケーブルを引っ張るとこてがころがり落ちる危険がありました。本製品は安定感があって出先でもガッツリはんだづけ作業ができると思います。
欲を言えば、エンジニアのSS-05みたいなフタ付きのクリーナーが欲しいです。クリーナーをチャック袋に入れて携帯するのはスッキリしないので。とりあえず、SS-05とセットで運用しようかなと思います。
Maker Faire Kyotoでは他にUSBはんだごても限定販売されてました。いずれもイベント限定販売で終わっては惜しいアイテムだと思います。(あ、私はべつにハッコーの回し者ではありません。FX-888Dのボタンの操作性はほんとクソ。ほんとクソ。)
マンガをKindleで読むようになった2012年以降に読んだマンガ(続刊含む)から20作品を選ぶ。
(カテゴリー分けは便宜的・主観的なものである。)
人間以外の事物を主題とし、かつ人間の内面に深く立ち入らないもの
ただしその事物は現代に実在するか、それに準じたものであること
とめはねっ! 鈴里高校書道部(1) (ヤングサンデーコミックス)
日本人の知らない日本語 なるほど?×爆笑!の日本語“再発見”コミックエッセイ
人間の事象を主題とするが過度に深入りせず、かつ人間以外の事物に材を取るもの
ただしその事物は現代に実在するか、それに準じたものであること
歴史的人物・事象を題材とし、かつ人間の内面に深く立ち入らないもの
ただしその人物・事象は通俗的題材として一般的でないこと
ゴールデンカムイ 1 (ヤングジャンプコミックスDIGITAL)
空想科学的または幻想的な概念・事象を題材とし、人間の内面に深く立ち入らないもの
ただしその概念・事象は通俗的題材として一般的でないこと
極黒のブリュンヒルデ 1 (ヤングジャンプコミックスDIGITAL)
ラズパイをヘッドレス(ディスプレイ、キーボード、マウスを接続しない)で使うためのセットアップ手順を以下にメモする。
ラズパイへのログイン方法は
があり、この順に確実性が高い。まずは確実な方法でログインして設定していく。ただし、ディスプレイとキーボードはできれば無しですませたい。シリアルコンソール接続する方法は以下の通り。
dtoverlay=pi3-miniuart-bt
/boot/sshという空ファイルを作成して再起動するとSSH接続が有効になる。
sudo touch /boot/ssh sudo reboot
この操作はWindows上でおこなってもよいが拡張子の無いファイルなので要注意。エクスプローラ上では「ssh.」というファイルを新規作成するとsshというファイル名になる。
あるいは、raspi-configの「Interfacing Options」>「SSH」でも設定できる。
sudo raspi-config
有線LANに固定IPアドレスを設定するには /etc/dhcpcd.conf を下記のように編集する。ラズパイのIPアドレスを192.168.11.2、ゲートウェイのIPアドレスを192.168.11.1とする例である。母艦のWindows PCをゲートウェイとして、母艦のインターネット接続を共有することもできる。
(→参考ページ)
interface eth0 static ip_address=192.168.11.2/24 static routers=192.168.11.1 static domain_name_servers=8.8.8.8
sudo rm -r /etc/ssh/ssh*key sudo dpkg-reconfigure openssh-server
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=JP network={ ssid="WiFiのSSID" psk="WiFiのパスワード" }
sudo iwlist wlan0 scan | grep ESSID
下記コマンドでraspi-configを起動して種々の設定をおこなう。
sudo raspi-config
sudo apt-get update sudo apt-get -y upgrade
sambaをインストールする。
sudo apt-get install samba sudo vi /etc/samba/smb.conf
smb.confのホームディレクトリ共有設定の記述を下記のように修正。
[homes] comment = Home Directories browseable = yes read only = no valid users = %S
sambaユーザを設定し、sambaのサービスを再起動。
sudo smbpasswd -a pi sudo systemctl restart smbd nmbd
たとえばIPアドレスが192.168.11.2であったら、Windowsのエクスプローラで \\192.168.11.2と入力すれば共有フォルダにアクセスできる。mDNSが利用できるなら \\raspberrypi.local でもアクセスできる。
ただし、ユーザー名がpiだとWindowsのユーザー名と異なるのでうまく共有フォルダにアクセスできない。そこでWindowsのDOS窓で下記コマンドを実行する。
net use \\raspberrypi.local\ipc$ /delete ←すでにアクセスして失敗した場合はまずこれを実行 net use \\raspberrypi.local\ipc$ /user:pi raspberry ←ラズパイのユーザー名とパスワード
このような面倒をさけるには前述のようにラズパイのユーザ名とパスワードを変更してWindowsと合わせた方が良い。
ただし、Windowsの場合は make のかわりに nmake ないし msbuild を用いる。
# nmakeの場合 mkdir build cd build cmake .. -G "NMake Makefiles" nmake # msbuildの場合 mkdir build cd build cmake .. msbuild ALL_BUILD.vxcproj