DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

プログラミング

pythonプログラムからGmailを送るには 「アプリ パスワード」を取得する必要がある

久しぶりにpythonからGmailを送るプログラムを書いたら送れなくなっていました。 調べてみると、現在Googleのサービスを他プログラムから利用する場合は「アプリ パスワード」というものを取得しないといけないらしいことが判明しました。 以前に書いた記事…

温湿度ロガーを作ってみた 備忘録

前回、前々回では温湿度計の使い方、SDカードへのデータ保存方法を覚えました。 dreamerdream.hateblo.jp dreamerdream.hateblo.jp 今回はこれらを組み合わせて温度湿度の記録機、温湿度ロガーを作ってみます。 使用ピンは全く同じなので過去記事参考という…

ArduinoでSDカードを読み書きしてみた 備忘録

今回はArduinoでSDカードを使ってみました。 SDカードが使えればデータロガー等を作るときにArduinoのメモリー領域を気にせずに保存しまくることができます。 <参考> ArduinoでマイクロSDカード〜書き込み読み込み記録する 今回購入したのは5個入599円…

PythonでJPEGファイルからPDFファイルを作成、PDFファイルからJPEGファイルを生成する 備忘録

「複数のjpegファイルを集めて1つのPDFファイルにしたい」と調べてpythonのライブラリ「img2pdf」を発見しました。 pipでインストール出来るとのことで早速インストールを試みましたが、 sudo pip3 install img2pdf エラー!! ....(略) src/qpdf/annotat…

指紋センサー「DY50」をタッチセンサー連動で指紋認証させる

指紋センサーについて最終回です。 前回はLEDのON-OFF操作が自由に出来るようになりました。 dreamerdream.hateblo.jp 前々回は内蔵のタッチセンサーを扱えるようになりました。 dreamerdream.hateblo.jp 今回は「タッチセンサーが反応したらLED点灯させて指…

指紋センサー「DY50」のLEDを消したり点けたりする方法 備忘録

前回、指紋認証モジュールを動かしましたがデフォルトの状態ではpython2で動いていました。 dreamerdream.hateblo.jp LED制御の前に、実装時にはpython3で動かしたいのでなんとかならないかと力技ですがパッケージをまるっとコピーしてみました。 中身がシリ…

Djangoの使い方⑮モデルを使わずに、動的にファイルをアップロード、ダウンロードする

Djangoではファイルのアップロード&ダウンロード機能が備わっていますが基本的には静的なものです。 たとえばユーザーによって保管場所を変えたりディレクトリを作成したり、アクセスされるタイミングによってダウンロードファイルを変えたりと動的にファイ…

ムームーメールがpythonから送信できなくなった? ポートの仕様変更があったようです。

昨日、いつものようにWebサーバーからメールを送信しようとしたところ、プログラムがエラーを吐いて送信できませんでした。 調べてみるとムームーメールのメンテナンス情報に muumuu-domain.com この一文が!! メールシステムの設定から送信メール(SMTP)…

pigpiodがsystemdサービスで自動起動しない /etc/rc.localに登録して自動起動させる

サーボモーターを使う為に、少し精度の高いPWM波を出力すべく「pigpio」というライブラリを用いたプログラムを書いているのですが、プログラムを実行する前に sudo pigpiod と一度だけターミナルでコマンドを叩いてやる必要があるらしく、常駐させるべくsyst…

python3のsocket通信で外部からアクセスさせるためには「オールゼロ」”s.bind(( '0.0.0.0' , [ポート番号] )) ”を使う 備忘録

python3で低水準なsocket通信をしようと試みてハマッたことの備忘録です。 「python3 socket」等で検索をかけると簡単なsocket通信のサンプルコードが出て来ます。 <参考> 【Python3】Pythonでソケット通信を試してみた | DevelopersIO ※コードは上記ブログ…

python3でopenCVを使って2台のカメラ画像をゲットするために ラズパイでUSBカメラを2台認識しない問題を物理的に解決してみた

以前にapt-getを使ってopenCVをインストールしていましたが、これでインストールされるのはpython2系だそうです。 dreamerdream.hateblo.jp python2系のインストールコマンド sudo apt-get install python-opencv python3でカメラを使うにはpip3を使うそうで…

VPS上で画像から人の骨格を推定するOpenPoseが実行出来るのか実験してみた tf-pose-estimationならとりあえず動く

映像や画像から機械学習を用いて骨格を検出するプロジェクトの一つ「OpenPose」を用いた映像がこちらです↓ Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields, CVPR 2017 Oral めちゃめちゃスゴイ精度ですね。 この技術を用いると…

においセンサーをArduinoで使ってみた 自作オゾン発生器によるマスクの消臭効果を試したい

以前、オゾン発生器を作りました。 dreamerdream.hateblo.jp これを用いて実際にマスクの脱臭実験をしてみたのですが、これがなかなか良い感じです。 体感的には「無臭」になります。 次亜塩素酸水で実験したときは塩素の臭いで元の臭いが取れてるのか取れて…

備忘録:OpenCVでUSBカメラの画像を取得してTkinterで表示させてGUI起動時にアプリを自動起動させるためのメモ

※カメラ画像を使った組み込みシステムを作るのに迷ったので自分用の備忘録として残します。 環境:OSは新規Raspbianをインストールして、piユーザーで立ち上がり時にデスクトップ自動ログイン出来る状態であること。(2019/11/19の時点で最新のRaspbian) 組み…

RaspberryPiと炊飯器で低温調理器を自作してみた⑭-最終回 猪肉を低温調理してみた(リベンジ)

前回の実戦では、作った勢いのまま低温調理をして失敗してしまいました。 dreamerdream.hateblo.jp しかし失敗は成功の元といいます。 今回はのハード、ソフト共に改良したバージョンでトライです。 前回は鹿肉でしたが、今回は同じくジビエの代表格である猪…

RaspberryPiと炊飯器で低温調理器を自作してみた⑬ ソフトウェア改造

前回はダイレクトに水温を取得するべく温度計の設置方法を工夫してみました。 dreamerdream.hateblo.jp 今回はソフトウェアの改造です。 今まで温度に反比例するようにヒーターを制御していました。 結果として65℃設定で最高70℃をマークしていました。 今回…

RaspberryPiと炊飯器で低温調理器を自作してみた⑫ 機器改造

前回、実際に調理をしてみましたが結果は散々でした。 dreamerdream.hateblo.jp やはり、センサーの位置が悪そうです。 一応アルミテープやグラスウールで覆ってはいましたが、釜の底の一部の温度では正確な実際の水温は読めないですね。 正規の温度センサー…

RaspberryPiと炊飯器で低温調理器を自作してみた⑪ 鹿肉を低温調理してみた(失敗)

前回、うまく温度制御が出来ました。 dreamerdream.hateblo.jp ですので早速実戦してみます。 ※注意 鹿肉や猪肉などのジビエは元々野生栄物なので養殖と違って抗生物質や予防薬などの薬剤を投与されていません。ですので体内に寄生虫がいないとも限りません…

RaspberryPiと炊飯器で低温調理器を自作してみた⑩ 動作テスト

ひとまず完成しましたので動作実験を行ないます。 <使用プログラム一覧> dreamerdream.hateblo.jp まず、60℃で10分保温テストです。 過熱中、ディスプレイは43℃を示しています。 赤外線温度計は約43℃!カンペキです! 次に60℃のとき 赤外線温度…

RaspberryPiと炊飯器で低温調理器を自作してみた⑨ 「ヒーター制御デーモン」

現在の温度を取得、設定温度と比較してヒーターの制御を行なう、実際に調理を行なうするための主要プログラムです。 <heaterd.py> #!/usr/bin/python2 import RPi.GPIO as GPIOimport timeimport sysimport atexitimport file_mng as fileimport datetime heater = 17 se</heaterd.py>…

RaspberryPiと炊飯器で低温調理器を自作してみた⑧ 「タイマーデーモン」

設定温度に達したらタイマーをスタート、カウントアップさせてディスプレイに表示させる。 タイマーが設定時間を超えたらスタートファイルを削除する。 スタートファイルが削除されるので、ヒーターデーモンはヒーターの過熱を停止する。 <timerd.py> #!/usr/bin/python</timerd.py>…

RaspberryPiと炊飯器で低温調理器を自作してみた⑦ 「温度、タイマー設定デーモン」

設定ボタンによって温度とタイマーの設定を行なうデーモン 物理ボタン操作で温度とタイマーの設定を変更するためのデーモン。 少しチャタリング対策に難があり、あまりスムーズに動かないorz。まあ、とりあえず動く。 このプログラムが無くても直書きでシス…

RaspberryPiと炊飯器で低温調理器を自作してみた⑥ 「スタート/ストップデーモン」

スタートボタンが押されたら/dev/shm/領域にスタートファイルを生成、ファイルが存在している場合はスタートファイルを削除するデーモン スタートファイルに日時を保存する。 このスタートファイルが存在することを確認したら、ヒーター制御デーモンが指定温…

RaspberryPiと炊飯器で低温調理器を自作してみた⑤ 「温度取得デーモン」

単純に、センサモジュールから取得出来る値から℃を抽出して共用ファイルに保存するだけのデーモン。 本来、必用なプログラムが各々センサ値を読めば良いのですが、読み出しに時間が少しかかるため、温度取得専用のプログラムから共用ファイルに書き出しおく…

RaspberryPiと炊飯器で低温調理器を自作してみた④ 「画面表示デーモン」

ディスプレイの表示用プログラムです。 画面は今回たまたま手元にあった2色のカラーOLEDディスプレイをを利用しただけで、表示内容をファイルを読んで変えられるようにしただけで表示方法はほぼ以前に書いた記事のまま特に手を加えていません。↓ dreamerdre…

RaspberryPiと炊飯器で低温調理器を自作してみた③ 「ファイル統括モジュール」

前回、各種ファイルの説明をしました。 今回はプログラムの中身です。 <file_mng.py> これは全てのプログラムから共用するファイルデータを扱います。 (※get、loadが混在している等、突っ込みは無しでお願いします) # -*- coding: utf-8 -*- import os dir_shm = '/dev/sh</file_mng.py>…

RaspberryPiと炊飯器で低温調理器を自作してみた② プログラムの内部構造 ソフトをデーモンとして分割処理させる

前回、ざっくりした回路を組みましたのでハードは完成です。 dreamerdream.hateblo.jp 今回はこの回路を制御する為のラズパイ側のプログラムを機能別に分割していきます。 分割処理させるメリットとして 後で機能を追加したりしやすくなる。 温度の取得とか…

RaspberryPiと炊飯器で低温調理器を自作してみた① 制御基盤作成

いきなりですが、低温調理器って憧れますよね? これがあるとローストビーフにチャーシューにぃ、いろいろなことができるんです! しかし、単純に63℃とか70℃とかを長時間維持するだけの機能なのに高ケーなオイ! いや専用器具はそれなりの機能が備わってい…

Djangoのログイン画面「Django管理サイト」を変える備忘録

Djangoでいくつかサイトを作ってみたものの、いつもログイン画面の 「Django管理サイト」 が消えないことに悩んでる気がします。 「いい加減覚えろっ」てことなんだけど、実に面倒なので自分のためにも後の人のためにも備忘録として残しておくことにします。…

ウォッチドッグって何?

前回、防犯カメラの修理で「ウォッチドッグ」という機能によりレコーダーが再起動をしていると推測しました。 dreamerdream.hateblo.jp 今回はこのウォッチドッグについて簡単にご紹介します。 watchdog = 番犬 です。 電子工作、特にマイコンを使った工作の…

kampa.me