工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

Wi-Fiアクセスポイントにする

概要 RaspberryPiをWi-Fiアクセスポイントにするときにちょっとハマったので、メモ。 背景と目的 RaspberryPiをWi-Fiアクセスポイントで動かそうと思い、適当にやったら意外とハマってしまったので、次回ハマらないようにメモしておく。 詳細 0.実施条件およ…

WebViewを使ってWebアプリを表示させるアプリを作った時にやったことメモ

概要 WebViewを使ってWebアプリを表示させるアプリを作った時にやったことをメモした。 背景と目的 最近、Webアプリでユーザージェスチャーなしで音声が自動再生されるようにしようとしたところ、ブラウザの制約上どうしても難しいことが分かった。(Web上で…

STATUS LED(ACT LED、緑LED)を移設

概要 RaspberryPiのSTATUS LED(ACT LED、緑LED)を移設した。 背景と目的 Raspberry PiのSTATUS LED(緑LED)は、基板上に実装されているため、基板を筐体などに収めて、見えないところに設置した場合、動作状態を見ることが難しい。今回、ある事情で電源がOFF…

ソレノイドを動作させてみた

概要 ソレノイドを動作させてみた。 背景と目的 ある事情で、ソレノイドの動作確認をする必要が出た。私は一度も動かしたことがないので、動かしてみる。 詳細 1.対象 以前、コインセレクターの件で、コンセレクターで使用している部品。型番など正体はわか…

ESP32用micropythonで、numpy, scipyライクなパッケージmicropython-ulabを組み込み、FFTしてみる【ulab v0.36.0版】

概要 ESP32用micropythonで、micropython-ulabを組み込んだファームウェアを作成し、無事FFTを実行することができた。また、動作速度も、前回の自前実装FFTより数倍高速化できた。 背景と目的 前回、FFTを実行するためC実装の自作モジュールを組み込んだファ…

evdevとthreadingでスイッチ操作イベントを非同期で読み取り

概要 evdevとthreadingでスイッチ操作イベントをメインスレッドとは非同期で読み取って処理する簡単な方法を調べたときのメモ。 背景と目的 evdevを使って、スイッチ操作イベントをメインスレッドとは非同期で読み取る必要が出たため方法を調べたところ、asy…

決定木分析 自分用メモ

参考 pythondatascience.plavox.info qiita.com 必要パッケージインストール pip install scikit-learn pip install dtreeviz dtreevizにはGraphvizが必要なので https://graphviz.gitlab.io/_pages/Download/Download_windows.html ユーザー環境変数PATHに…

水田の水位をリモートで監視するシステムを作る(9) 2020年シーズン向け改善とメンテナンス

概要 昨年作製したリモート水位センサシステムの使用開始前に、何点かの改造とメンテナンスを行った。 背景と目的 昨年作製したリモート水位センサシステムを今年も使用する時期がやってきた。昨年ちゃんと動いてはいたが、半年以上動かしていないことと、昨…

Makefileを自分で書いてmakeする場合のメモ

変数 定義、代入 変数名 = 〇〇〇 参照 $(変数名) 環境変数を使う Makefile内のマクロと同じ書き方でよい。ただし、Makefile内の同名変数が優先されるらしい。 表示 $(info $(変数名)) sudoつける/つけないの違いでハマらないように注意 sudoをつけると参照…

bluepyでアクティブスキャンをするには

公式ドキュメントに書いてないけど、ソースコードを読む限り、 scanner = Scanner() scanner.scan(passive=False) passive=Falseを引数に与えればよいらしい。公式ドキュメントは、全然メンテナンスされていないらしい。。。

bluepyでiBeaconを探す

bluepyのサンプルコードを参考に、 scanner = Scanner() devices = scanner.scan(10.0) for dev in devices: for (adtype, desc, value) in dev.getScanData(): print " %s = %s" % (desc, value) とすると、 desc = "Manufacturer" value[0:8] = "4c000215"…

自動車バッテリー交換

概要 自動車のバッテリー交換を自分で行い、ディーラー見積もりに比べて約2万円安上がりで済ませられた。 背景と目的 私の乗っている車は、2回目の車検が迫っており、ディーラーでの見積もりの結果、バッテリー交換が必要と言われた。見積もりを見ると、バッ…

ESP32用micropythonで、numpy, scipyライクなパッケージmicropython-ulabを組み込み、FFTしてみる【ulab v0.24.0版】

概要 ESP32用micropythonで、micropython-ulabを組み込んだファームウェアを作成し、無事FFTを実行することができた。また、動作速度も、前回の自前実装FFTより数倍高速化できた。 2020/04/12時点でのmicropython、ulabを使用して実施している。情報が古いこ…

ESP32向けmicropythonで、FFTをする自作モジュールを作る

概要 ESP32用のMicroPythonで、FFTをする自作モジュールを作る。 背景と目的 前回、ESP32用のMicroPythonで、C実装の自作モジュールを作る環境が整った。今回は、この環境を使ってFFTをする自作モジュールを作る。なお、PythonでそのままFFTの計算をコーディ…

ESP32向けのmicropythonで、Cで実装した自作モジュールをESP32上で動かす【修正版】

概要 ESP32向けのmicropythonで、Cで実装した自作モジュールを作成した。 背景と目的 かつて、micropythonをESP32で動かして遊んでみたのだが、それ以来ほとんど触っていなかった。しかし、最近とある事情でESP32向けのmicropythonで、Cで実装した自作モジュ…

VS Codeでシェルのユーザー環境変数の変更が適用されない場合

環境 Windows 10 VS Code 1.43.2 使用したシェルは、PowerShellおよびcmd 詳細 Visual Studio Codeで実行/デバッグ中の際、VS Codeで開いたシェル画面で、 setx 変数名 値 として、ユーザー環境変数を変更した。 そしてそのまま、実行/デバッグしたところ、…

FlaskアプリをApache2で動かしたときの挙動を確認(スクリプト内(.py)のモジュールレベル変数について)

概要 FlaskアプリをApache2で動かしたとき、Flaskアプリスクリプト内モジュールレベル変数は、ずっと保持されることを確認できた。 背景と目的 FlaskアプリをFlaskの開発用サーバ(localhost:5000)で動かしたときは、Flaskアプリを構成しているPythonスクリプ…

./configureの実行時にエラーが出るとき

まずやるべきこと config.logを見る(configureと同じディレクトリに出力されている) たいていは、何が起きているか理解はできると思われる。 解決方法 ライブラリの参照がうまくいっていない場合 /usr/bin/ld: cannot find -lxxx という感じのエラーがかかれ…

bluepyのインストール時に、glib.h、glibconfig.hがないと言われてうまくいかなかったので対処

概要 bluepyのインストールで、glib.h、glibconfig.hがないといわれたが、対処し無事インストールできた。 背景と目的 あるLinuxのシステムで、pipでbluepyをインストールしようとしたところ、glib.h、glibconfig.hがないと言われてうまくいかなかったので対…

chromedriverもアップデート

Chromeをメジャーアップデートしたので、Chromeの自動操作系で使用しているchromedriverもアップデートせねばと思い、方法をweb上を調べると、 pip install chromedriver-binary==バージョン名 と書いてあるので、この通りやったところ、 Python/Python37/Li…

PythonアプリからブラウザアプリへMQTTで送信

概要 PythonアプリからブラウザアプリへMQTTでメッセージ送信するための簡単なテストプログラムを作成し、動作確認した。 背景と目的 Raspberry Pi上のPythonアプリ側から、そのUI系として用いているクライアントサイドWebアプリ(以下、ブラウザアプリ)に対…

scikit-learnのインストール

概要 Raspberry Piに、scikit-learnをインストールしようとして、 pip3 install scikit-learn とやったが、うまくいかなかったのでやり方を変えてうまくいったときのメモ。 実施条件 Raspberry Pi 4 Model B 2020-02-05-raspbian-buster-full.img Python3.5…

2020-02-05-raspbian-buster-fullで、Python3.5.3をインストールする

概要 2020-02-05-raspbian-buster-fullで、Python3.5.3を無事インストールできた。 背景と目的 とある事情で、2020-02-05-raspbian-buster-fullで、Python3.5.3をインストールする必要が出たので、方法をメモる。 詳細 0.条件 Raspberry Pi 4 Model B 2020-0…

Raspberry Pi 4 で機械学習系のパッケージを入れる(numpy, scipy, pandas, sklearn, matplotlib, tensorflow, keras)

概要 Raspberry Pi 4 で機械学習系のパッケージをインストールしたときのメモ。 背景と目的 Raspberry Pi 4 で機械学習系のパッケージを入れたので手順をメモしておく。 詳細 1. 実施条件 Raspberry Pi 4 Model B 2020-02-05-raspbian-buster-full.imgを焼い…

pandas自分用覚書

pandasでよく忘れるので自分用覚書。 基本 ドキュメント https://pandas.pydata.org/pandas-docs/stable/ インポート import pandas as pd CSVの読み取り DataFrame型で返ってくる df = pd.read_csv(ファイルパス) 列名がないときに自分で与える df = pd.rea…

コインセレクターで遊ぶ

概要 コインセレクターを試しに使い、かなりうまく判別できることを確認した。 背景と目的 とある事情で、硬貨の種類を判別する必要が出たため、コインセレクター(硬貨判別機、硬貨識別機?)を使うことにした。早速入手し、試しに動かす。 詳細 1.使用するコ…

signalを受信する

概要 Pythonで、シグナル)を受信する方法を調べ、実装して動くか試した。 背景と目的 Pythonで、シグナル)を受信する必要が出たので、方法を調べ、実装して動くか試す。 詳細 1.Pythonの標準モジュール signal Pythonには、はじめからシグナルを扱うためのモ…

PostgreSQLクエリコマンド覚書

コメント -- ハイフンを2つ データベース一覧 select * from pg_database; テーブル名一覧 select relname as TABLE_NAME from pg_stat_user_tables; テーブル内のカラム一覧 select * from information_schema.columns where table_catalog='データベース名…

中華鍋の空焼きをする

概要 中華鍋を使い始めるにあたり、空焼きを行った。 背景と目的 誕生日プレゼントで、妻から中華鍋を貰った。10年以上前にも中華鍋を買ったことがあるのだが、使用頻度も低く、使いこなせず錆びさせてしまった。しかし、最近はそれなりに料理をする機会もあ…

3Dプリンタで作ったPLA樹脂部品同士を接着剤で接着してみる

概要 3Dプリンタで作ったPLA樹脂部品同士を接着剤による接着を試し、接着できることを確認した。 背景と目的 3Dプリンタは、高さ方向(z軸方向)の造形に時間がかかる。なので、箱型のモノを作ろうとした場合、箱の形をまるまるよりも、箱の各面を分割した板状…