投稿

10月, 2020の投稿を表示しています

cronの環境変数が無意味な件について

イメージ
 Linuxのcronでバグとしか思えない仕様にぶち当たったので、今回はその内容になります。 AWSのLinux 2にnginxを入れてWebサーバーにし、サーバー証明書はLet’s Encryptを使用しています。 サーバー証明書の更新は期限の30日前から実行できるので、cronを使って自動化しようとしていました。 以下はcronの設定です。 00 04 * * * certbot renew && systemctl restart nginx 毎朝4時にサーバー証明書を更新する「certbot renew」実行し、その後にnginxを再起動しています。 しかし、なぜか証明書が更新されないため、ログを出力したところ以下のエラーがありました。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/decomoco.biz.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert is due for renewal, auto-renewing... Non-interactive renewal: random delay of 176.261823729 seconds Could not choose appropriate plugin: The nginx plugin is not working; there may be problems with your existing configuration. The error was: NoInstallationError("Could not find a usable 'nginx' binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly.",) Attempting to renew cert (decomoco.b

Visual StudioでAngularの開発をする

イメージ
 Angularの勉強を始めたので、今回はその内容になります。 さて、Angularの開発はVisual Studio Code(VSCode)で行うのがデファクトスタンダードだと思います。 しかし、私はどうしてもVisual Studio(VS)でやりたかった。 なぜなら、VSCodeも素晴らしいIDEですが、VSにはかなわないと思うからです。 ところが、いざ勉強を始めるために開発環境を構築しようとしたところ、一筋縄ではいかなかったので、私みたいに「AngularをVSでやりたい!」という人のために書き留めておきます。 Node.jsをインストールする 公式サイト から最新版を落としてきてインストールします。 特段理由が無ければTLS版を選択する Visual StudioにNode.js開発ツールをインストールする ① Visual Studio Installerを起動して、変更を選択する。 ② Node.js開発にチェックを入れて、インストールを開始する。 プロジェクトを作成する ① ASP.NET Core Web アプリケーションを選択する。 ② プロジェクト名などを入力して、プロジェクトを作成する。 ③ Angularを選択する。 ④ Startup.ConfigureServices()で設定しているconfiguration.RootPathには仮の値が設定されているので、プロジェクト名に変更する。 変更前 変更後 ⑤ Hello world画面が表示できることを確認する。 ツールバーにある「IIS Express」から実行できる Angularのバージョンを上げる 「ClientApp」がクライアント側のソースコード、つまりAngularのソースコードになります。 ① インストールされているAngularのバージョンを確認する。 ngコマンドを実行するためには、ClientAppへ移動して頭に「npm run」を付ける必要があります。 インストールされたAngularは8なので、現時点で最新の10へバージョンアップします。 ② まずは8の最終版へバージョンアップする。 コマンド「npm run ng update @angular/core@8 @angular/cli@8」を実行する。 Angular 8.2.12 → 8.2.14 ③ 9へバ

LP8用のプリント基板を作成

イメージ
Senseair LP8用のプリント基板を作成したので、今回はその内容になります。 ブレッドボード上では正常に動作したので、それを回路図に起こして、中国の業者に注文しました。 以前プリント基板を作成した時と同様に、回路の設計にはEAGLEを使用しました。 LP8のライブラリは存在しないため、まずはLP8のライブラリを作成しました。 LP8の寸法は公式ドキュメントに記載があるので、それを参考にしてます。 自作したライブラリを使用して作成した回路図です。 実際にプリント基板が届いてから気づいたのですが、JP1のPIN配列が逆でした😓 上記の回路図を基に作成したプリント基盤がこれです。 前回と同様に、中国のPCBWayを利用しました。 基板代が5ドル、送料が15ドル、決済手数料が2ドルで合計22ドルでした! 送料はChina Postにすれば5ドルで済みますが、1か月近くかかるため止めました。 しかし、運悪く国慶節とかぶってしまい、結局は時間がかかりました😭 8日間も休むんじゃねぇ💢💢💢 やっと届いた基盤がこれです。 今回はArduinoの色に合わせて青にしました。 早速、部品を取り付けました。 Arduino MKR WAN 1310、Arduino MKR ENVと合体!!!

懲りずにまたCO2センサーを購入

イメージ
最近CO2センサーを3つ購入したので、今回はその内容になります。 3.3V駆動のCO2センサーは少ない 左からELT Sensor社の D-300 、Senseair社の Sunrise 、 LP8 となります。 最初にD-300を購入し、Arduino Duemilanoveで動作確認したところ、正常に動きました。 次に本命のArduino MKR WAN 1310に繋いだところ、初期値の500ppmしか取得できませんでした。 あくまでも推測ですが、Arduino内部のプルアップ抵抗が悪さをしている気がします。 どうしても解決できなかったので諦めていたところ、Senseair社を知りました。 CO2センサー界隈では有名なメーカーだそうです。 そして見つけたのがSunrise! 光源にLEDを使用しているため消費電力が低い画期的な商品です。 値段も6000円ちょっとだったのですぐにポチリました。 しかし、購入後に400ppm以上しか計測できないことに気づくorz この失敗、2度目です😭 慌ててキャンセルできないか購入元のマルツオンラインさんに確認したけど、取り寄せ商品なためキャンセルできなかった💸 結局、Sunriseは一度も使うことなくお蔵入りに・・・ もうここで完全に心が折れていたわけですが、逆にどうでもよくなってLP8を購入(笑) OEM製品ですが Amazon で購入することができました! まずはブレッドボードで動作確認をしました。 Arduino DuemilanoveとLP8の間には39Ωの抵抗と、0.47Fのコンデンサーを挟んでいます。 メーカー推奨のコンデンサーは「Eaton Bussman PM-5R0H474-R」なのですが、入手性が悪かったので「 PB-5R0V474-R 」を購入しました。 コンデンサー1個をわざわざアメリカから空輸してもらうと、謎の背徳感があります(笑) 佐川さん、ごめんなさい🙇 回路とスケッチは CO2Meter.com というサイトを参考にしました。 LP8の情報はとても少なく、ましてArduinoに接続している情報は皆無だったので、凄く助かりました!! Arduino Duemilanoveで正常に動作したので、次にArduino MKR WAN 1310で試したところ、こちらも問題なく動作しました。 スケッチは

XYZ

イメージ
どうもこんにちは、「XYZ」と聞くとシティーハンターを連想する昭和のおじさんです!  今回は新しい同居人(無機質)が増えたので紹介します! 台湾から来たダヴィンチ君( ダヴィンチ 1.0 Pro )です🎉 まぁ、XYZプリンティング社の3Dプリンターなんですけどね・・・ めっちゃでかい! レーザーモジュールとのセットでお値段が102800円+消費税10280円=113080円なり。 消費税たっか💢💢💢💢💢 まじで野田元首相、旧民主党議員、旧民主党に投票した有権者は地獄へ落ちろ👿 話が逸れてしまったので、ダヴィンチ君に戻します💦 3Dプリンターを購入したのは、農業用に作成しているIoTデバイスのためです。 最終的にはデバイスをハウスに設置するので、そのための部品を作成する計画です。 最初の方、フィラメントの長さにして40mくらいまでは失敗の連続でした。 失敗した残骸たち 今では100m以上印刷し、以下の設定に落ち着きました。 ・ノズルの温度:230度(初期値は210度) ・表面レイヤの高さ(積層ピッチ):0.2mm(初期値は0.3mm) ・シェルの印刷速度:15mm(初期値は30mm) ・インシェルの印刷速度:15mm(初期値は20mm) ・非印刷時の移動速度:20mm(初期値は45mm) ・底部レイヤ速度:15mm(初期値は20mm) まずノズルの温度ですが、積層ピッチが0.3mmなら初期値の210度でいいと思います。 しかし、それより細い積層ピッチにするなら、210度ではすぐに剥がれて反ってしまいます。 印刷速度はシェル(表面)、インシェル(内部)、底部レイヤの3つを指定できますが、以下の法則があると思います。 ・印刷速度は遅ければ遅いほどいい だたし、ノズルの温度を上げて印刷速度を遅くし過ぎると、ただれた感じになるのでノズルの温度とバランスをとる必要があります。 ・印刷速度は全て同じにした方が良い シェル、インシェル、底部レイヤの印刷速度は全て合わせた方が良いと思います。 印刷速度が変わるとフィラメントの冷却速度が変わるため、その結果表面、内部、底部で縮方にばらつきがでて、それが歪となる気がします。 寝ている間も印刷し続けて上記の設定に落ち着きましたが、これは190㎜前後の大きい造形物用です。 小さいものを上記の設定で印刷したら、もっと印刷速度を