gitignoreで実行ファイル除外の設定方法

GitHubに実行ファイルをアップロードしてもそれはマシン固有ファイルなので無意味です。じゃどうやって拡張子のついてない実行ファイルを管理対象外とするのか?

これに答えてくれるのが、

https://qiita.com/padawan_e15/items/7ba90f09e3ecd559f95b

にありますが、

.gitignoreファイルに以下のように記述すれば、

〇 まず、全部のファイルを管理対象外として、(下の一行目)

① ただし、ディレクトリ配下のディレクトリ全ては除外、すなわち管理対象とする(二行目)

② ただし、ディレクトリ内の拡張子のあるファイル全ては除外、すなわち管理対象とする(三行目)

<.gitignore>

*
!*/
!*.*

とすることで、拡張子のないファイルだけ指定したことになるという理屈。

こうすることでVScodeのエクスプローラから実行ファイルが消えました。

 

admin

M1 macでの(開発)環境の構築

アプリレベルならば、最近webにあまり情報がなくなってきたのは、互換性がそれなりに出てきたからだろうけど、M1になることによってアプリもさることながら、ディレクトリ構造やツール類(例えばHomebrew)もかなり変更があるから、intel macからの単純移行はあり得なくて、スクラッチからインストールしないとダメだろう。

・現状インストールが必要だろうと思うアプリ・ドライバの一覧、これ以外にVMware Fusionは現状ベータですが、いずれ安定して無償なら入れるつもり。

<ブラウザ、クラウドストレージ、Utility>

Chrome

Canon LBP6230 printer driver(rossetta2で動くのか)

CotEditor

DropBox

Karabiner elements

LanScan

Mega

OneDrive

PhotoScape

QfinderPro(Qnap NAS管理)

Speedtest

TimeMachineEditor

 

<開発環境とアプリ>

Arduino IDE:これはVScodeに移行するつもり

Blender

Clang

Fusion 360

FlashPrint(FLASHFORGE 3Dプリンター用)

Homebrew

Kicad

M5stack USB driver

Python(pipじゃなくてconda使うと)

Ruby

Processing

Raspberry pi imager

Scratch link

SD card formatter

Smart json editor

Sonic pi

Thonny

Unity

VScode

Visual Studio

Xcode

マイクラEE

 

admin

Bluesound Node導入三ヶ月

Raspberry piのVolumioとNodeを併存させておよそ三ヶ月経過ですが、NodeはSpotifyが無償版ということもあり音がイマイチ(15KHzでカット)なのと、数時間で切り替わって次を選ぶのも面倒に感じる時がある。プレイリスト作ればいいのかもしれないけれども。

その点Volumioのネットラジオは、320KbpsならCD qualityだし、似たジャンルあるいは作曲家の曲を流し続けてくれるから、手間かからずに便利。

従ってVolumioとNodeの使用比率も概ね半々ぐらいといったところ。サブスクの費用払おうとは思わないし、Amazon musicのハイレゾもコスト for バリューあるかと言われれば個人的には無いと思う。

 

admin

リサーチの結果は、

2018モデルのMacBook Air のdual core CPUではVScodeでPlatformIO立ち上げるぐらいでもファンが唸りを上げて、それでも1分ぐらい立ち上がりに時間かかるから、実質ブラウザとメモ帳ぐらいしか現実的ではありません。

で、apple silicon MacBookを何にするか?

条件は以下の6項目、

① intel MacBook 16の予備機としたいけどM1で性能的には同等だから問題ない

② 写真、動画のクリエーターでないのでM2(Air/Pro)のパーフォーマンスは今のところは無駄に不要

③ 一応モバイルとして使いたいから軽くはないけどモデルの中では軽いAir

④ VM、多くのパーツは扱わないけどFusion 360とか動かす前提だと8GBは心もとないから16GBに変更

⑤ SSD容量は④項を考慮するとVM用に50GBとかは割り当てるから256GBでは足りないから512GBに変更

⑥ キーボードは所詮かな入力しないし、16インチと合わせた方が使いやすい(かなりマストだと思う)からUSキーボードに変更

種々の環境もリリースからそろそろ二年経過でだいぶ整ってきているから替え時だろう。あと二年もすればintel Macは継子になるんだろうし。いずれにしてもUSキーボードを使う限りは、この先もCTO必須ということ。

 

P.S.

色はクリックしてから気づいたけどスペースグレイになってた、まあゴールドから変わるのも気分転換にはなる。

 

admin

MacBook Airで画面ロック掛からない?

いろいろ挙動不審だったのですが、最後に残ったのが画面閉じて開いた時にロックがかからないこと。

ググって、タイマー設定の問題、なんでここが変わったのかですが。

 

admin

M2 MacBook Air 7月15日から受注開始か、

今のMacBook Air 2018モデル、買ったのは2019年の今頃、も三年経過したし、そろそろApple Siliconへの移行準備も考えた方が良いだろうし。

となると、M2 MacBook Airは候補の一つですね。SSDは512GBで、メモリは16GBにした方が良さそうですが。画面は大きめが良いのは無論ですが、14/16インチのような性能は不要だし、モバイル用だとやはり最適は13インチになります。

外部モニターやiMacはやはり部屋の中では邪魔くさいから将来ともiMacを選択する可能性はなさそうで、やはり半固定の使い方で2019 intel MacBook16に慣れると16インチが麗しいけれども重たい。まあMacBookのラインナップって上手いこと考えられています。

P.S. @2022/7/8

今更ですが、本日日本時間9PMからオーダー受けるみたいですね。

 

admin

M5stackって色指定が16bit colorだったんだ

https://qiita.com/nnn112358/items/ea6b5e81623ba690343c

などで、M5stackの色指定は3バイトではなくuint16_tで指定されるので何でかなと思ったら、r/b : 5bit, g : 6bitの2バイトで表現されるんですね。

M5stackのディスプレイならば、それで問題ないだろうと思うし、メモリ使用量を少なくする考慮が種々なされてるから、それもアリなのでしょう。

 

admin

QwiicとSTEMMAインターフェース

https://www.switch-science.com/catalog/8183/

レーザー距離計のモジュールの商品説明に、STEMMAという名称のインターフェースが出てきて初耳なので調べてみた。それに上のリンクの商品紹介で「STEMMA QT/Qwiic互換」ともあってQwiicって何者?

STEMMAはピンピッチ2mm(gloveと同じ)の専用インターフェースでi2c以外もサポート、一方STEMMA QTは小型化のためにコネクタが1mmピッチでかつi2c専用です。じゃSTEMMA QTとQwiicはなにがちがうの?が知りたいこと。

で検索すると、以下が一番分かりやすい。

https://learn.adafruit.com/introducing-adafruit-stemma-qt?view=all

  • Qwiic is a bit newer than Grove, it’s only for use with I2C devices.
  • 物理形状の差ではなくてレベルシフターの有無だけのようだ、結果として3.3Vだけで使うならそのまま接続しても問題ない。
  • Compatibility:

Like Qwiic, STEMMA only uses the 4-pin connectors for I2C. The STEMMA QT connector is identical to the Qwiic connector and uses the same pin ordering.

  • Differences:

Qwiic only has level shifting and voltage regulation on the controller, not devices. So, you can use STEMMA + STEMMA QT devices with any Qwiic controller and you can use Qwiic devices on a STEMMA controller if you set the voltage jumper from 5V to 3V

この距離計、ターゲットが複数個でも検出できるというのが優れもの。『ヒストグラムベースのテクノロジー』というのが、それに該当していそうです。

 

admin

熱中症簡易アラーム(@M5stack + sensor)

そろそろ夏も本番に近づいて、散歩も一時間が限界になりますが、暑さを客観的な数値にするにはWGBT指数(湿度と温度で判定)ですが、無論風のあるなし、直射日光下、人間の暑さ耐性、あるいは運動強度によって変わってくるので目安の数値ですが、i2cインターフェースの温湿度(気圧もある)センサーとM5stackで実現します。M5stackも電源入れっぱなしでなくて、時々チェックするぐらいなら電池120mAhでも使えると思う。

 

・用意したもの

M5Stack Basic V2.6

M5Stack用温湿度気圧センサユニット Ver.3(ENV Ⅲ)

いずれもいつものスイッチサイエンスで購入。

 

センサーのライブラリとサンプルコードは以下からダウンロード。

・サンプルコード@GitHub

https://github.com/m5stack/UNIT_ENV/blob/master/examples/UNIT_ENV_III_M5Stack/UNIT_ENV_III_M5Stack.ino

・unit_env

以下をVScodeのソースディレクトリに展開します。

https://github.com/m5stack/UNIT_ENV

 

・USBドライバー

M5stackへのバイナリのアップロードで以下のようなエラー発生、これはM5Stack Basic V2.6でUSB-serialのICが変わっていて、標準のOSではまだサポートしていないからだと、スイッチサイエンスのページにも記載あります。

Uploading stub…

A fatal error occurred: Failed to write to target RAM (result was 01070000: Operation timed out)

*** [upload] Error 2

しかし、

https://mag.switch-science.com/2021/11/01/m5stack-v2-6-changes/

に書いてある様にやってみてもダメで、

platformio.iniに以下のようなポート決めうち指定で解決しました。

upload_port_set.jpg

“monitor_speed = 115200″と合わせて、platformio.iniへのデフォルト設定になると思います。

ポート番号は環境で変わると思うので、wch以降は、

/devディレクトリで

% ls tty.wch* を実行して確認しましょう。PIO HomeのDevicesではそのままの値が確認できますが。

tty.wchusbserial54260147311

 

・WBGT指数

https://healthy-ecohouse.com/wp-content/uploads/2019/08/190804-4.jpg

からダウンロード

このテーブルをソースの中に二次元配列で埋め込んで、WBGT値を獲得しています。

画面はこんな感じです。

 

全部のコードは、

https://github.com/chateight/PlatformIO/tree/master/heat_alarm/src

heat_alarm.cpp以外はセンサーアクセス用のライブラリファイルです。

 

P.S. @2022/6/22

表示方法変更しました、テキストよりもカラーブロックで表示がわかりやすいから。

気圧の使い道は何なのかなと考えると、一番分かりやすいのは標高を簡易的に知るということになると思う。およそ100m高くなると10hPa気圧は低下するのだから。

P.S.2 @2022/6/25

ということで、大まかな高度も表示するようにしました。気圧は揺れ動くから、刻みは200m刻みで山に行ったときぐらいには使えるレベル。正確に出すならばGPSモジュール使うのだろうけど、そこまでは不要でセンサーの機能があるから使ってみようぐらいの話。

 

admin

UnitV2でのsudo実行

流石に常時rootログインでコマンド実行は危険なので、sudoは必要ですが、sudoはデフォルトでは実行できませんが、sudoできるようにする方法(Jupter notebookでコマンド実行すればいい、なぜならroot権限で動作しているから)はいろいろなところで記事になっていますが、

例えば、

https://tanokatu.com/2021/06/09/linux-m5stack-unitv2-2/

Jupyter notebookに入って”新規” – ”ターミナル”を開いて、以下を実行というものですが、

# chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

# chown root:root /usr/libexec/sudo/sudoers.so

# chown root:root /etc/sudoers

これでsudoは実行できてもsuは実行できません。特に必要性もないとは思いますが。また、これだけならばsshをrootログインして実行しても同じことでしょう。

 

admin