シャーシーは元々3Dプリンタで制作と考えていましたが取り掛かり。シャーシー無いとモーター駆動のトライアルも不便だし。
FlashPrint5(FlashForgeの制御アプリ)はだいぶインターフェースが変わってるけど初使用。
admin
la vie libre
インストール完了後もlaunchpadに残り続ける”macos montereyインストール”の疑問符付きアイコン、Apple Storeからインストールしたアプリを消すのは簡単でストアからダウンロードしたアプリはiOSと同じくアイコン長押しでxマークが左上に表示されるのでxマークをクリックするだけ。
これもmontereyから?今まで意識してなかっただけかも知れないけど。
Apple Store以外からダウンロードして残ってしまったアイコンの消し方は以前書いてます。
admin
インターネットラジオから、この時期のクリスマス関連ソングで流れていた曲。美しい旋律です。
詩は『神学大全』で有名なトマスアクィナスから、読んだことないですが。作曲は19世紀のCesar Franck/1822-1890によるものだそうです。歌詞はトマスアクィナスですからタイトル含めてラテン語ですね。
以下解説とYouTubeへのリンク、クロエ・アグニューはアイルランドの音楽グループケルティック・ウーマンに所属するシンガーだそうです。
http://www.worldfolksong.com/classical/hymn/panis-angelicus.html
panisはラテン語(主格)でパンの意味ですが、フランス語やイタリア語、スペイン語などラテン語をルーツに持つ言語ではパンの単語はこれが語源になってます。日本語となったパンもポルトガル語あたりからなのでしょう。
admin
BigSurまでは、バックアップ全体容量が表示されて進捗が出るようになってましたが、Montereyでは全体容量の表示は無くて容量とパーセント表示、実は容量はダイナミックに増加していきますが。
またバックアップ始まる前の準備段階で変更箇所数も表示されるようになっています。今までは準備中って何やってるかわからなかったけど。
気のせいか、バックアップ時間そのものも短くなっているにも思うし、全体的には実用的な改善かも知れない。
admin
Arduino IDEでssid, pwの含まれたヘッダファイルの組み込みの代わりと言っては何ですが、同様の機能の実現手段は以下で対応できるようです。
① Secretタブを追加する
画面では既に作成済みです。
② ソースに該当情報を記述する
シークレット対象情報、ここではSECRET_SSIDとSECRET_PASSは全て大文字にしないとダメだと。ソースに27行目と28行目を記述すると自動的にSecretファイルに反映されます。
③ Secret情報をSecretタブに入力する
文字列として””で囲んで入力します。
これでコンパイルが無事に終了しました。ソースにこれらの情報を直接盛り込んでももちろんコンパイルは正常終了しますが、クラウド上の管理でソースはオープン(共有)にされることを考慮してSecretタブの内容は別管理扱いされるということです。GitHubのアラームと似たようなものかも。
—————————————————
/usr/local/bin/arduino-cli compile –fqbn arduino:samd:mkrwifi1010 –libraries /home/builder/opt/libraries/latest –build-cache-path
/tmp –output-dir /tmp/579479944/build –build-path /tmp/arduino-build-E38EFE0B45CCB8581EC071210802C6FF /tmp/579479944/SimpleWebServerWiFi
Sketch uses 21160 bytes (8%) of program storage space. Maximum is 262144 bytes.
Global variables use 3340 bytes (10%) of dynamic memory, leaving 29428 bytes for local variables. Maximum is 32768 bytes.
admin
ほぼデスクトップ版と同じUIに見えますが、ボードの接続状態も見えるのはアドバンテージ。
コードはクラウド上からもインポートは出来ますが、最初のステップのLチカコードをmacからインポートして書き込めば動作しました。
しかしヘッダファイルを組み込むSimpleWebServerWiFiはヘッダファイルをタブ追加して置いても、組み込めない(コンパイルできない)からこれは継続調査必要。
admin
IoT Cloudを使うために、
<事前準備>
① アカウント取得
② Arduino Client Plugin、実はagentのインストール
③ Arduino IoT Cloudに入って使う
の手順になりますが、②のagentインストールで証明書インストールエラー(一言で言うと)でインストール完了しません。
WebのArduino forumのリンクで関連する事象あったので対応出来ました。
https://forum.arduino.cc/t/macos-big-sur-installation-problem-createagent/929305/4
具体的には、
“Upon further investigation this is something we can’t seem to be able to tackle unless InstallBuilder allows shell scripts to be executed.
There is a chain of trust which fails when launching an AppleScript invoking a Shell script.
For now, users who get this issue, please run this command in the terminal after installing the Agent”
で、インストールが不完全に終わった後で、以下のコマンドを実行。このコマンドで証明書をキーチェーンに追加するようです。
$ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /Users/$(whoami)/Applications/ArduinoCreateAgent/ArduinoCreateAgent.app/Contents/MacOS/ca.cert.pem
このアプリ自身はバックグランド動作(おそらくクラウドにログオンするためのエージェント)するのでこのアプリ自体をクリックしても何も起きませんが、他のアプリを動かすことでagentの動作を確認できます。
常駐したことは、アイコン表示で知ることができます。
ここまでできれば、
https://www.arduino.cc/en/Guide/MKRWiFi1010
のガイドにあるように、
3.のArduino IoT Cloudにログイン出来て、こんな画面が最初に現れます。常駐アイコンのクリックメニューでもArduino createに入れますが。
https://create.arduino.cc/iot/things
<デバイスのCloudへの登録>
Arduino IoT Cloudのメニューにデバイス登録があるので登録してみました。
ここで再びArduino Client Plugin見つかんないよと言われたので、同じことを再度繰り返し。実はこのリンク辿るとPluginの版数が異なってますね。
ともかくArudinoをUSB接続して認識されると、クラウドにデバイスが登録されました。デバイスの名称(Aubry)はデフォルト値そのままです。この登録過程ではArudinoに書き込まれていたファームは書き換えされるようです。
IoT CloudではWebエディターも使えるから、もしかしたらデスクトップIDEが必要ないのかもしれない。
admin
参考は、
https://www.denshi.club/cookbook/arduino/mkr1010/arduinoiot3wi-fil.html
・Wi-Fi使うためにWiFiNINAライブラリのインストール
どこかでインストールしてしまったか、既にインストール済みになっていた。
使い方は既存のA.Pに接続してIPアドレスを取得し、自分自身はHTTPサーバーとなって他のクライアントからのリクエストを受け取ってレスポンスを返すというもの。
あるいは、Arduino自身をA.Pにすることもできるようですね。
・サンプルプログラム
サンプルからSimpleWebServerWiFiを読み込む。
IDEエディタのヘッダーファイルarduino_secrets.hに自分が使うA.P情報を追加入力する。
char ssid[] = “aterm”; # 自分のAP SSID
char pass[] = “pw”; # 自分のpw
int keyIndex = 0;
Wi-Fiはnではつながるけれどもacにはつながらないようです。実用上は全く問題ないですが。
・動作の確認
コンパイルしてArduinoに転送するとプログラムが起動して、
ネットワークにArduinoが見えました、Wi-Fiモジュール(Espressif)は中国製のようです。pingにも応答します。
シリアルモニターにArduinoが吐き出すメッセージとクライアントとの通信ログ(HTTPリクエストの中身)も見えます。また、setup()関数の最後にprintWifiStatus()関数で自分のWi-Fiのステータスを吐き出してます。シリアルモニターはあくまでUSB経由つないだ時しか見れず、Arduinoを切り離してWi-Fiで運用するときには機能しません。あり得ないけど、USBつないでるときは無線でやりとりしないで、USB経由でやりとりしてる?
ブラウザから該当のURLをアクセスすると、このようなメニューが表示されて、ボードのLEDのオンオフがブラウザから”Click here”のリンクをクリックすることで制御できます。ブラウザからのアクセス受け付けるまでに、データ転送完了後あるいはArduinoの電源オンから5秒以上は待たないといけないようです。
これでWi-Fiの疎通確認ができました。
Arduinoはwebサーバー機能あるといっても、HTMLやHTTPステートメントは全てprint文で記述しなければいけないのでかなり面倒ではあります。
admin
購入後の最初の動作確認をしてみます。
<set up>
・Arduino MKR WiFi 1010はデフォルトのボード選択リストに入っていないから、ボードマネージャーで追加します。手順は以下を参考に、
https://www.denshi.club/cookbook/arduino/mkr1010/arduinoiot1iotarduino.html
<動作確認>
・動作確認のためにサンプルプログラムを動かす(定番のLチカ)
コードはこんな感じで、ボード搭載のLEDを出力指定して、時間を指定してオン。オフ切り替えしています。
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(2000); // wait for 2 seconds
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
最初電源供給できるだけのUSBケーブルでつないでいたからシリアルポート見えなくて当然、データ転送できるUSBケーブルで以下のように見えます。(/dev/usbmodem*****)
USBだけど、Arduinoはシリアルポートと呼んでいます。シリアルに違いはないけども。
ソースをコンパイル、転送すると自動的にプログラムはスタート。指定した通りにボード上のLED が点滅しています。他のプログラム言語のHello world!と同じ。
下の動画はLED点灯のオンオフを100msにしたものです。
admin
まだ不要ですが、いずれ移行が必要になったときにWi-Fi以外でどうするのかなと思ったら、M1より前のモデルはthunderboltケーブルで、M1以降はthunderbolt、USBあるいはUSB type-Cケーブルでつなげとあります。
この差はなんなのだろうと思うけれども、よく読めば後者はintel macはターゲットディスクモードにはならないと言ってるようだから、接続はやはりthunderbolt使うことになりそう。
第三の方法としては元のmacのバックアップデータであるtime machineデータを指定して新たなマシンに持ってくるというやり方もありそうです。
まとめると、
① Wi-Fi経由
② thunderbolt直接接続
③ timemachineバックアップから
速度的には② > ① ≧ ③(NASだから実力50MB/sぐらい)になるんだろうけど、手間かからないのは①か③ということになる。
admin