DreamerDreamのブログ

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

python2.7

自作クローラー RaspberryPiのソフトウェアPWMを使ってステッピングモーターを使う

ラズベリーパイ2以降のモデルにはLEDの制御やサーボモーターの制御に適した「PWM制御」がハードウェア的に可能なピンが4つあります チャンネル0:GPIO12、18 チャンネル1:GPIO13、19 それぞれのチャンネルの周波数は別でコントロールできるよう…

備忘録: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と炊飯器で低温調理器を自作してみた① 制御基盤作成

いきなりですが、低温調理器って憧れますよね? アイリスオーヤマ 低温調理器 真空調理器 スロークッカー IPX7防水 低温調理器具 防水機能搭載 LTC-01 アイリスオーヤマ(IRIS OHYAMA) Amazon これがあるとローストビーフにチャーシューにぃ、いろいろなこと…

RaspberryPiに謎の有機ELディスプレイを接続してみた

手元に謎のディスプレイがあったので(たぶんメルカリとかで部品を買ったときのオマケ)表示させてみることにしました。 現物はコレ↓ 型番も何も書かれていないので・・・ 「液晶、表示 Raspberrypi」と検索しても全然それらしき物がヒットしなくて困りまし…

RapberryPiでステッピングモーターを制御する ④制御

今回は実際にラズパイから制御してみます。 前回はGPIOとドライバーとの接続でした。 dreamerdream.hateblo.jp 適当なpythonコードを書いて制御してみます。 #!/usr/bin/python#coding:utf-8 import RPi.GPIO as GPIOimport atexitimport time Dir = 27 #DIR…

RapberryPiでステッピングモーターを制御する ③接続

前回は部品選択でした。 dreamerdream.hateblo.jp 今回は部品の繋ぎ方です。 まずは、ラズパイから制御できるようGPIOのポートをチェックしましょう。 ステッピングモータードライバーを制御するには、最低DIRとSTEPとGNDが必用になります。 今回はピン番号9…

RapberryPiでステッピングモーターを制御する ②部品選択

前回、ステッピングモーターの制御にはユニポーラ制御とバイポーラ制御がありますという説明をしました。 dreamerdream.hateblo.jp ユニポーラの方が構成回路は簡単になりますが専用のドライバは少ないのでマイコンを用いて自前で組むことになるでしょう。 …

RapberryPiでステッピングモーターを制御する ①原理

ここ最近、ブログがソフトウェア的な内容ばかりで飽きてきたので今回は気分を変えてハードウェアのお話です。 「ステッピングモーター」はご存知でしょうか? 「知らないよ」という方はまず使用例をご覧ください↓ dreamerdream.hateblo.jp ここ近年3Dプリン…

RaspberryPiの起動時にローカルIPアドレスをメールで知らせる

RaspberryPiのシステムをSDカードそのままで本体だけ入れ替えて使うというときに画面を見なくても割り振られたIPアドレスが解るように現状のIPアドレスをG-mailで送信するコードを作りました。 僕の環境の場合、IPアドレスの混乱を避けるためにラズパイ本体…

ディープラーニングの「モデル構築ってどーすんの?」

前回はディープラーニングにおける「問題」に対する「答え」の作り方を記述しました。 dreamerdream.hateblo.jp 今回は用意したデータに従って構築する「学習モデル」について述べてみたいと思いますが、僕はど素人なので違っていることも多々あると思います…

ディープラーニングの「ターゲット?trainってなんなのさ?」

前回はディープラーニングにおける「次元」について述べました。 dreamerdream.hateblo.jp 今回はディープラーニングで用いられる「ターゲット」「クラス」「データ」「X」「y」「train」「test」などのWebでの参考資料で説明無くよく使われている見慣れない…

ディープラーニングの「次元ってなに?」

巷では一時期流行になっていた(今はあまり騒がれなくなった?)ディープラーニングとやらに挑戦してみました。 一度システムを構成できてしまえればいろいろ改造して「ああなるほど!」となるのだけど、IT系無関係の僕には「ディープラーニング?ニューラル…

PythonでTwitterAPIを使って投稿する

まず、TwitterAPIを使って投稿するのに参考にさせていただいた記事内に「OAuth認証はややこしいので凡人はライブラリを使う」と書いてあるので僕もpipを利用してインストールしたのが前回の記事 dreamerdream.hateblo.jp 「基本はHTTP Requestを送ってJSONを…

RaspberryPiからTwitterへ投稿する

以前、RaspberryPiもPythonも弄ってない状態のときに興味でJavaから「Twitter4J」というライブラリを利用してTweetすることに成功したものの、「あ、出来るんだー」という感想だけで終っていた。 twitterを少し活用しようかと思い、今回はRaspberryPiからPyt…

Apacheの.htaccessを利用しプロキシ経由のアクセスをブロックするPythonコードを作ってみた

Apacheのログを観察しているとプロキシ経由での不正なアクセスが目立つ。 なのでApacheのアクセス制限を利用してプロキシ経由でのアクセスを予めシャットアウト出来ないかと考えた。 まずは普通にIPアドレス制限の方法(以下sampleは任意のディレクトリ若し…

Wi-Fiが繋がらなくなったら自動的にシステムを再起動させる

RaspberryPiのTypeAをWi--Fiドングル接続してサーバーとして運用していると思わぬトラブルによってWi-Fiがいつの間にか切断されている。という事態に見舞われることがある。 頻繁に無くても年に一度でもこういう事態に陥ると気が付かないまま数日過ごしてし…

PythonでOpenCVを使ってWebサーバからのリクエストでUSBカメラから画像キャプチャ保存

こちらのブログを参考にOpenCVをインストールしてみた。 はんだ日和: Raspberry Pi にOpenCV をインストール いろんなサイトでOpenCVをインストールするのはかなり骨の折れる作業だと書いてあるんですが、こちらのサイトの「②の方法」だとあっという間にイン…

kampa.me