プログラミング
Webサイトをネイティブなスマホのアプリとしてインストールできるようにする方法があります。 この記事のスマートロック用アプリもこの方法でアプリ化しています。 dreamerdream.hateblo.jp 基本的にはWebアプリのままだけどスマホにもインストールできるWeb…
前回はSocket通信でのセキュアな通信方法を考えてみました。 dreamerdream.hateblo.jp 今までの内容でスマートロックを自作する準備が整いましたので実際に取り付けていきます。 今回、全システムの詳細は物が物だけにセキュリティーの都合上掲載しません。 …
前回、スマートロックの制御方法を考えました。 dreamerdream.hateblo.jp スマホから鍵の操作はVPSに構築したWEBアプリを経由することとし、VPSから鍵の操作は自宅のラズパイで制御することにしました。 今回は具体的な通信手段を考えます。 通信内容は「施…
前回、ハードウェアの実験はクリアできました。 dreamerdream.hateblo.jp 今回はスマートロックを制御する具体的な方法を考えていきます。 ICカードや各種Webサービス(GoogleHome等)を利用してスマートロックを作成されておられる方を拝見しましたが、個人…
前回ギアボックスを作って動作が良好でしたので、実際に使うことになるであろうケーブル長のケーブルを用意して実験することにしました。 dreamerdream.hateblo.jp <前回の実験> youtu.be 実はこのスマートロックは設計無しの思いつきで始めたので実際の制…
前回の実験で、いい感じで鍵が回ることと取っ手の間に本体が納まりそうだということが確認出来ました。 dreamerdream.hateblo.jp 今回はギアボックスを作成していきます。 この部分にピッタリ収めたら見た目がスッキリします。 ギアとギアの隙間、部品同士の…
前回、サーボモーターをギア化しましたので今度はサムターンを回す部分を作成します。 <前回記事> dreamerdream.hateblo.jp 構想 サーボモーターからの動力を直接鍵に入力するには、下のピンクのような部品を作るという方法が一番簡単な方法です。 ギアと…
スマホやICカードから自宅の鍵の開閉を行なうスマートロックという商品が沢山あります。 スマートロックは例えば、 手荷物がいっぱいのとき、事前に鍵を開けておいたり近づいたときに開けるようにする。 遠隔で施錠の確認をする。 緊急時に自宅へ鍵を持たな…
超音波センサモジュール「HC-SR04」が手に入ったので使ってみました。 しかし、このモジュール不具合品が含まれることで有名なもので手元にあるものを調べてみました。 mag.switch-science.com あらら、見事に不具合品に合致します。 テストしても確かにモジ…
とある事情でLCDディスプレイを手に入れたので使ってみます。 16文字×2行のしょぼいやつです。 以前に使った有機ELディスプレイのほうが文字数も機能も多いです。 dreamerdream.hateblo.jp 低機能ですが表示するものが少なければ用途は足りるし文字も大き…
久しぶりにpythonからGmailを送るプログラムを書いたら送れなくなっていました。 調べてみると、現在Googleのサービスを他プログラムから利用する場合は「アプリ パスワード」というものを取得しないといけないらしいことが判明しました。 以前に書いた記事…
前回、前々回では温湿度計の使い方、SDカードへのデータ保存方法を覚えました。 dreamerdream.hateblo.jp dreamerdream.hateblo.jp 今回はこれらを組み合わせて温度湿度の記録機、温湿度ロガーを作ってみます。 使用ピンは全く同じなので過去記事参考という…
今回はArduinoでSDカードを使ってみました。 SDカードが使えればデータロガー等を作るときにArduinoのメモリー領域を気にせずに保存しまくることができます。 <参考> ArduinoでマイクロSDカード〜書き込み読み込み記録する 今回購入したのは5個入599円…
「複数のjpegファイルを集めて1つのPDFファイルにしたい」と調べてpythonのライブラリ「img2pdf」を発見しました。 pipでインストール出来るとのことで早速インストールを試みましたが、 sudo pip3 install img2pdf エラー!! ....(略) src/qpdf/annotat…
指紋センサーについて最終回です。 前回はLEDのON-OFF操作が自由に出来るようになりました。 dreamerdream.hateblo.jp 前々回は内蔵のタッチセンサーを扱えるようになりました。 dreamerdream.hateblo.jp 今回は「タッチセンサーが反応したらLED点灯させて指…
前回、指紋認証モジュールを動かしましたがデフォルトの状態ではpython2で動いていました。 dreamerdream.hateblo.jp LED制御の前に、実装時にはpython3で動かしたいのでなんとかならないかと力技ですがパッケージをまるっとコピーしてみました。 中身がシリ…
Djangoではファイルのアップロード&ダウンロード機能が備わっていますが基本的には静的なものです。 たとえばユーザーによって保管場所を変えたりディレクトリを作成したり、アクセスされるタイミングによってダウンロードファイルを変えたりと動的にファイ…
昨日、いつものようにWebサーバーからメールを送信しようとしたところ、プログラムがエラーを吐いて送信できませんでした。 調べてみるとムームーメールのメンテナンス情報に muumuu-domain.com この一文が!! メールシステムの設定から送信メール(SMTP)…
サーボモーターを使う為に、少し精度の高いPWM波を出力すべく「pigpio」というライブラリを用いたプログラムを書いているのですが、プログラムを実行する前に sudo pigpiod と一度だけターミナルでコマンドを叩いてやる必要があるらしく、常駐させるべくsyst…
python3で低水準なsocket通信をしようと試みてハマッたことの備忘録です。 「python3 socket」等で検索をかけると簡単なsocket通信のサンプルコードが出て来ます。 <参考> 【Python3】Pythonでソケット通信を試してみた | DevelopersIO ※コードは上記ブログ…
以前にapt-getを使ってopenCVをインストールしていましたが、これでインストールされるのはpython2系だそうです。 dreamerdream.hateblo.jp python2系のインストールコマンド sudo apt-get install python-opencv python3でカメラを使うにはpip3を使うそうで…
映像や画像から機械学習を用いて骨格を検出するプロジェクトの一つ「OpenPose」を用いた映像がこちらです↓ Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields, CVPR 2017 Oral めちゃめちゃスゴイ精度ですね。 この技術を用いると…
以前、オゾン発生器を作りました。 dreamerdream.hateblo.jp これを用いて実際にマスクの脱臭実験をしてみたのですが、これがなかなか良い感じです。 体感的には「無臭」になります。 次亜塩素酸水で実験したときは塩素の臭いで元の臭いが取れてるのか取れて…
※カメラ画像を使った組み込みシステムを作るのに迷ったので自分用の備忘録として残します。 環境:OSは新規Raspbianをインストールして、piユーザーで立ち上がり時にデスクトップ自動ログイン出来る状態であること。(2019/11/19の時点で最新のRaspbian) 組み…
前回の実戦では、作った勢いのまま低温調理をして失敗してしまいました。 dreamerdream.hateblo.jp しかし失敗は成功の元といいます。 今回はのハード、ソフト共に改良したバージョンでトライです。 前回は鹿肉でしたが、今回は同じくジビエの代表格である猪…
前回はダイレクトに水温を取得するべく温度計の設置方法を工夫してみました。 dreamerdream.hateblo.jp 今回はソフトウェアの改造です。 今まで温度に反比例するようにヒーターを制御していました。 結果として65℃設定で最高70℃をマークしていました。 今回…
前回、実際に調理をしてみましたが結果は散々でした。 dreamerdream.hateblo.jp やはり、センサーの位置が悪そうです。 一応アルミテープやグラスウールで覆ってはいましたが、釜の底の一部の温度では正確な実際の水温は読めないですね。 正規の温度センサー…
前回、うまく温度制御が出来ました。 dreamerdream.hateblo.jp ですので早速実戦してみます。 ※注意 鹿肉や猪肉などのジビエは元々野生栄物なので養殖と違って抗生物質や予防薬などの薬剤を投与されていません。ですので体内に寄生虫がいないとも限りません…
ひとまず完成しましたので動作実験を行ないます。 <使用プログラム一覧> dreamerdream.hateblo.jp まず、60℃で10分保温テストです。 過熱中、ディスプレイは43℃を示しています。 赤外線温度計は約43℃!カンペキです! 次に60℃のとき 赤外線温度…
現在の温度を取得、設定温度と比較してヒーターの制御を行なう、実際に調理を行なうするための主要プログラムです。 <heaterd.py> #!/usr/bin/python2 import RPi.GPIO as GPIOimport timeimport sysimport atexitimport file_mng as fileimport datetime heater = 17 se</heaterd.py>…