2021/12/03
拡張子sdbの動画ファイルをMacで見る方法
2021/12/01
Google Apps ScriptのdoPost()へデバッグ用にJSONを渡す方法
そこで、単体テスト用に関数を作って、その中でdoPost(e)を呼び出します。
Google Apps Script(GAS)でJOSONデータを受け取る場合は、
function doPost(e) { var params = JSON.parse(e.postData.getDataAsString()); }
ですが、これをローカルでデバッグする際のJSONデータの作成方法です。
ポイント
- GASのPOSTは特殊(parameterにデータは無い)
- データは、parameterのpostDataに入れておく。
- 入れておくデータはBlob形式
参考:https://qiita.com/shirakiya/items/db22de49f00710478cfc
なので、こういった形で作成
// デバッグ用の関数 function doPostTest() { //eの作成 var e = { postData : Utilities.newBlob('この中にJSONデータを入れる') }; //呼び出す。 doPost(e); }
あとは、AppsScriptの上部メニューで作ったDebug関数を指定して、デバッグを押下する。
ブレークポイントも有効なので、ゆっくりとデバッグできます。
SigFox BackendからのCallback呼び出しで、デバッグが面倒だったので、こういった形でデバッグしました。
SigFoxからダイレクトにGoogle Spreadsheetにほぼリアルタイムで受信データが送信できるので安価にシステム構築できるのは便利ですね。ただ、SigFoxの送信メッセージ上限(40回/日)は厳しいなぁ。
5分おきでデータが欲しい場合は採用できないのが難点。
2021/11/26
RaspberryPiの起動SDカード作成 2021年11月版
- RaspberryPiの起動SDカード作成
先ずは初歩の初歩。
RaspberryPiのOS起動SDカードを作ります
一昔前は自分でコマンドを叩かないといけなかったりとハードルが高かったのですが、今はツールを使って簡単に作れます。
必要な物
- 書き込み用のPC(Windows、Mac、Ubuntuなど)
- マイクロSDカード
- (PCにSDカードスロットが無い場合は)SDカードリーダ・ライター
マイクロSDカードは、「A1」という表記があるのが望ましいです。
書き込み速度が速いタイプが動作がキビキビします。
SanDisk Ultra 32GB 等をお勧めします。
1.Raspberry Pi Imagerのダウンロード
サイトにアクセス
https://www.raspberrypi.com/software/
PCの種類にあわせてダウンロードします。
Windows、Linus(Ubuntu)、macOSの選択が可能。
すでに、RaspberryPiで環境を作っている人は、「sudo apt install rpi-imager」でインストールすることも出来ます。
2.インストールして起動(macOS版)
CHOOSE OSをクリック
普通に使うなら、そのまま一番上の「Raspberry Pi OS (32-bit)」を選択。
アプリがすべて導入された、フル版を試してみたい場合は、
すぐ下の、RaspberryPi OS(other)をクリックして、
次の画面の「RaspberryPi OS Full(32-bit)」を選択します。
フル版だと、OffieアプリやGameなどもいじれますよ。
ちなみに、標準版でも稼働後に豊富なアプリをダウンロードできますので、ご安心ください。
3.書き込み先のSDカードを選択
SDカードをPCに刺して、書き込み先を選択します。
接続している他のドライブも見えますので、間違えないように注意してください。
Macの場合は、ディスクユーティリティーでドライブの名前を確認しながら選択すると良いでしょう。
例:32GBのマイクロSDカードなので、CRW-SD Mediaというの
同じ、CRW-SD Media のものを選択
4.書き込み
WRITEをクリック
一旦、管理者権限のパスワードを求められるので、入力してください。
あとは、ひたすら待ってください。
標準構成のRaspberryPi OSで、32GBのSDカードへの書き込みは5〜10分ほどかかります。
できあがったSDカード取り出して、RaspberryPiにセットして電源ONです。
起動前に、Wi-Fiネットワーク設定を行っておいて、モニタを使わずにセットアップすることも可能ですがこれば別記事で。
お疲れ様でした。
2021/11/25
RaspberryPi (bullseye) LXDEデスクトップで自動起動
RaspberryPiOS(buster)からデスクトップ(LXDE)において、アプリ・スクリプトの自動起動が大きく変わっています。(現行のbullseyeも同じ)
今までの、~/.config/autostart/ への記述ではスクリプトは動作しませんので要注意。
参考RaspberryPiのフォーラム
https://forums.raspberrypi.com/viewtopic.php?t=294014
手順に従って作成
% $ mkdir -p /home/pi/.config/lxsession/LXDE-pi/ % $ cp /etc/xdg/lxsession/LXDE-pi/autostart /home/pi/.config/lxsession/LXDE-pi/ % $ vi ~/.config/lxsession/LXDE-pi/autostart
ようは、/etc/xdg/lxsession/KXDE-pi/autostart スクリプトを
をローカルにコピーして追記すると、追加でこっちも動くという事らしい。
追記の仕方は、参考のURLを見ておくこと。
penv等のユーザ環境でのスクリプト動作をさせる場合は、ターミナルを起動してそのなかで起動させるのをお勧めする。(環境変数を引き渡せる)
@lxterminal -e スクリプトパス
注意点(参考投稿から抜粋)
- autostartの初期2行は消さないこと。
- 複雑なコマンドは実行できないので、bashスクリプトを書いてその中で実行
- ネットワーク接続が必須の場合は、初期設定で「ネットワークを待機」の設定で実行する
- コマンドは一気に実行されるので、先に書いた処理を待ってというのが出来ないので注意
- 先頭に#を入れるとコメントアウトされるみたい(公式かどうかは不明)
です。
RaspberryPiでQtアプリの自動起動がどうしても出来なかったので調べました。
pythonスクリプトの.desktopファイルを作成しても、ダイアログ出てきて動作に一手間かかるんですよね。
これの修正方法は未だわからず。
Macでスクリーンショットのデフォルト保存先を変える等(⇧シフト+⌘コマンド+5のススメ)
Macで⇧シフト+⌘コマンド+3や⇧シフト+⌘コマンド+4で撮れるスクショ機能。皆さん使っていますか?
Macの場合はこのファイルの保存先がデスクトップになっているため、いろいろ撮影しているとあっという間にデスクトップが埋まってしまいますね。
この保存フォルダを変更する方法です。
Macでスクリーンショットの保存先を変更 Big Surの場合
⇧シフト+⌘コマンド+5を押すと、画面下部にメニューが表示されます。
このメニューのオプションからフォルダを変更できます。
私は、デスクトップにScreenというフォルダを作ってそこに入れて、資料づくりに利用しています。
また、このメニューでは、スクリーンショットを取るまでの時間の設定やマウスポインタの産むなども設定できます。ツールを使わなくても必要充分ですね。
スクリーンショットを取った後に、右端に表示されるサムネイル画像をクリックすると編集画面(タッチアップ画面)になります。
画像のトリミングやコメント入れなども簡単にできて保存できるのは便利です。
サムネイルを【右クリック】すると、そのスクリーンショットをどう処理するかも選択可能です。マークアップだけじゃ無く、写真アプリに取り込んだり、クリップボードに保存したりと…
最後に、ウインドウのスクリーンショットの小技です。
⇧シフト+⌘コマンド+4で、矩形指定のスクリーンショットになります。
この後、スペースを押すと、「ウインドウ毎」のスクリーンショットに切り替わります。
さらに、このときに、⌥オプションキーを押しながら撮影すると、ウインドウの陰が無いバージョンでウインドウのスクリーンショットが撮れます。
画面説明を作っている際に便利なので使ってみてください。
陰有り | ![]() 影無し(⌥オプションキー押し) |
MacのスクリーンショットはSierraぐらいから一気に進化しています。
Catalina(10.15)、Mojave(10.14)でも使えます。
ちょっとした便利機能をお試しください。
2021/11/24
RaspberryPiとQt5でUI開発@2021年
開発系の話題でRaspberryPiでのUI設計などをつらつらと。
RaspberryPi4B(4GBメモリ)は、7インチのタッチパネルを使い、RaspberryPiOSとQt5の様な開発環境を用いると、非常にリッチな環境を容易に構築できます。
Python3も余裕で動く上に、Qt5の環境はWindowsにもひけをとらない画面設計が出来ます。
これらの環境を用いて、SEM-ITにて開発した内容から、使い方や調べた内容をメモ書きとして残していきます。
開発環境ですが、
RaspberryPi | RaspberryPi 4B 4GBメモリ |
モニター | 7インチ(1024x600) IPS液晶 タッチパネル |
RaspberryPi OS | Linux raspi-002 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l GNU/Linux Description: Raspbian GNU/Linux 11 (bullseye) |
Qt5環境 | Qt5 5.15.8 PyQt 5.15.6 |
Ubuntu 20.04LTS | Linux ubuntu 5.11.0-40-generic #44~20.04.2-Ubuntu SMP Tue Oct 26 18:07:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
です。
Qt5は絶妙なタイミングで、RaspberryPiOS向けにQt5 5.15が標準公開されて、apt installで標準インストール可能になりました。(2021年11月現在)
pygraphも使えるようになっているので非常に便利です。
Qt5Creatorを使って画面設計を思う存分楽しめます。
しかし、画面設計やコード設計はRaspberryPiだけで行うのは非常に辛いです。
そこで、Ubuntu 20.4も平行利用しています。
MacやWindowsによる開発でも良いのですが、フォントの部分の調整が必須になるので、同じLinux環境であるRaspberryPiとUbuntuの方がUI設計での親和性は高いです。
RaspberryPiへのOSのインストール方法、Qt5開発環境の構築Ubuntu20.4の導入は後日追記していきます。
以下は、Ubuntu20.4にQt5開発環境を導入しからのての実施です。ご注意ください。
では本題です。
RaspberryPi向けのフルスクリーン画面の設計
Qtデザイナを開いて新規作成
ダイアログタイプのウインドウを用いて、画面を出したいので
templates/forms → Widget
を選択して「作成」をクリックします。
画面サイズの変更とサイズ固定
デフォルトの画面サイズが「400x300」で作成されたので、右側のプロパティ設定にて、以下の様に変更します。
QWidget→geometry, minimumSize, maximumSize
幅 :1024
高さ:600
これで、1024x600の固定画面のウインドウが出来ました。
上記のそれぞれの設定では、ウインドウサイズ、最小の大きさ、最大の大きさをすべて1024x600にしています。結果的に、画面サイズがマウスドラッグで変更できないようになっています。
終了ボタンの設置
左のツールバーのButtons→Dialog Button Boxをウインドウにドラッグします。
その後、右のプロパティから Qobject→objectName を確認しておきます。
これは、Pythonのプログラムから呼び出すときに使う名前になります。
画面データ(フォーム)の保存
このフォームを名前を付けて保存します。
好きな名前で良いですが分かるようにしてください。
今回は、フォルダを分けてわかりやすくするように「/formTest/form.ui 」として保存します。
ターミナルを開いてformTestに移動してみます。
lsコマンドで、form.uiが出来ていますね。
表示を行うPythonプログラムの作成
次に、このform.uiを表示するPythonプログラムを書きます。
テキストエディタ等で、以下のコードを作成して、form.pyで保存します。
#!/usr/bin/python3 from PyQt5 import uic, QtWidgets import sys app = QtWidgets.QApplication([]) mDlg = uic.loadUi("form.ui") def button(): sys.exit(0) mDlg.buttonBox.clicked.connect(button) mDlg.showFullScreen() app.exec()
「なんで画面とコードが別々なのー」と思いますが、これはツールの都合です。
Windowsでも画面のパーツとコードは別々で、最後にexeとして一つにしています。
サンプル画面プログラムの実行
このPythonプログラムを実行します。
%formTest: python3 form.py
すると、
フルスクリーン画面でウインドウが表示されます。
タスクバーやメニューバーも消えています。
OKかCancelをクリックすると終了します。
Qt5を導入しているRaspberryPiの環境にformTestフォルダ毎コピーして実行すると、フルスクリーンの画面が表示されると思います。
フルスクリーンのポイントは、Pythonコードの
mDlg.showFullScreen()
です。
mDlg.show()
にするとダイアログウインドウになります。
変更していろいろ試してください。
あとは、好きなバーツを組み合わせて画面が作れますね!
今日はここまで!
2021/10/25
iCloud+の50GB月額130円はファミリー共有でこそ強みとなるか!?
iOS15にて追加になった、iCloud+は、プライバシーに関しての強化が注目されています。
プライベートリレー、メールを非公開、独自ドメインメール・・・ですね。
しかし、案外知られていないことは、
ファミリー共有で50GBからストレージ共有化になった
事ではないでしょうか?
![]() |
iCloud+のプラン(2021年10月現在) |
従来iCloudストレージのファミリー共有は、
200GBからで月々400円からでした。その次のプランは、
2TBで月々1,300円と極端に大きくなってしまいます。
空き容量があっても課金が無駄になるだけですし、iCloudからの同期も大変になります。
その点、今回の50GBはMacとの共有場所としても充分で、大きめの動画ファイルも共有可能です。
しかも、ファミリーで共有利用可能なので、子供にiPadやiPhoneの小さめの容量を持たせている写真保管の場所としても有効利用できると思います。
子供がiCloudへ同期した写真や動画を保管したい場合は、手持ちのMacに子供のiCloudアカウントでアカウントを作成してiCloud同期、その後外付けHDD等に保管するという手段もありますね。
大容量のクラウドストレージではMacと同期させるときのストレージ容量にも気を使わないといけませんが、この程度の容量であれば充分空きも作れそうですね。
月額税込130円で年間で1,560円です。
子供が大きくなって独り立ちするときまでと思うと充分元が取れそうです。
独り立ちした場合は、ファミリーから分離して自分でiCloudの課金を行えばOKですもんね。
AppleIDでファミリー共有を行っている方は、ご検討されてみては如何でしょうか?
クレジットカードを登録している場合やキャリア決済の登録が出来ている場合は、
設定→AppleID(一番上)→iCloud→ストレージを管理→ストレージプランを変更
にて設定可能です。
SEM-ITでは、娘のiPad 32GBの容量確保のために、加入してみました。
写真や動画は、別途SynologyのNASにもバックアップ取れていましたが、
iPad本体のバックアップがとれないので、この点でも助かりますね。
Mac mini 2018 のWi-FiやBluetoothが途切れる場合の対処
Mac mini 2018以降で、Wi-FiやBluetoothが不安定な方向けです。 SEM-ITも例に漏れずBluetoothが非常に不安定で、キーボード利用中に切断されると、文字が入力されたままになるとか、Magic TrackPad2の触感がいきなり無くなって切断される…...
-
2024/02/28更新→ bloggerだと画像が見えにくいという課題があるので blog2 に移動しました。 記事は こちら をご覧ください。 PCリフレッシュ作業にて、回復パーティションが複数あるHDDがあったため内容を調査しました。その内容をメモとして記載します。 通常、...
-
Mac mini 2018以降で、Wi-FiやBluetoothが不安定な方向けです。 SEM-ITも例に漏れずBluetoothが非常に不安定で、キーボード利用中に切断されると、文字が入力されたままになるとか、Magic TrackPad2の触感がいきなり無くなって切断される…...