プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

python_3

C#からPythonを呼び出し外部APIとして利用する

C#のGUIとPythonの幅広いライブラリを協業したい Windows向けのデスクトップアプリを作るにはC#がとても安定していて使いやすいのですが、Pythonの幅広いライブラリの便利さも手放せません。 そこで、この二つの良いとこどりが出来ないか、検討しました。C#…

Pythonの日付と時刻の差分計算

文字列をdatetimeオブジェクトに変換して引き算できる なのですがややこしくて、TweepyでTweetからの時間(日数)を計算しようとしたら躓いたのでここにまとめます。まず、基本のdatetimeオブジェクトの差分は以下のようにできます。 ここでは、任意のパラメ…

Twitter API V2を試す

Twitter APIのデフォルトがv2となった 2021年11月からデフォルトがv2となりました。 それまでは、v1.1がデフォルトでしたが、現在はデフォルトではv1.1はアクティベートされていません。 そのかわり、v2は以前のv1.1のような英語で申請をする必要はなくなっ…

Pythonで文字を画像にする

あるぞ、ITの可能性 | Python 上記はPythonで作った画像を動画に重ねてみたところです。qiita.comPythonには本当に、何でもありますね。 上記参考サイトのサンプルに対して以下の機能を追加しました。 ①コンソールから次々、文を指定できるように ②ファイル…

import pandas

上野動物園の親子パンダ見てきました 親子パンダ(シンシン、シャオシャオ、レイレイ)は日時指定の抽選でした。 5月24日(火)からは入園規制が解除されるみたいですが、私たちが見に行ったときは別に入園規制もあって、親子パンダに当選すると入園はもちろ…

cronで定期実行を設定する

cronでコマンドを定期実行したい ラズパイで運用している室内温湿度観測システムなのですが、何かしらのErrorが発生して停止しているのか、原因ははっきりしないのですがPythonスクリプトが停止していることがあります。 以前、「温度計のErrorでセンサーが…

HAPPY NEW YEAR 0x7E6

遺伝的アルゴリズムで… 遺伝的アルゴリズムで… pic.twitter.com/zf2QxTaVWx— とりてん (@s51517765) 2021年12月31日 遺伝的アルゴリズム(Genetic algorithm)とはプログラミングにおいて、「自然界の遺伝と変異」を応用して最適解を求めるアルゴリズムです。 …

PythonでGoogleスプレッドシートに書き込む

スプレッドシートにLogを書き込むと便利 スプレッドシートとはGoogleアカウントで無料で使える表計算シートですが、これをPythonなどでデータの収集に使えます。 以前、お薬記録にも使っています。 s51517765.hatenadiary.jpM5StackではCでhttp requestでし…

動画の顔を置き換えるやつやってみた

Python & OpenCVでやってみました OpenCVでカメラ画像を取り込み、顔検出してその場所と大きさに調整して他の画像を載せた動画を作ります。 基本的なところは下の参考サイト組み合わせです。まず、動画画像から顔を抽出するには、OpenCVで行います。 GitHub…

ラズパイで計測した環境値をWebで見られるようにする

ラズパイで温湿度・気圧を測定していました s51517765.hatenadiary.jp s51517765.hatenadiary.jp s51517765.hatenadiary.jp昨年、やりかけたのですが放置していたのでグラフ表示を完成させました。ちなみに、エアコン制御は妻がSwitchBotを導入したようで、…

Pythonでファイル・フォルダ構造を出力する

Windowsの検索が使いにくい Windowsにはファイル検索Boxがありますが、挙動が期待と違うことが多くあります。 自動的に検索範囲が制限されているのが原因らしいです。 www.pasoble.jpそこでファイル・フォルダ構造をすべて出力するスクリプトを作ってみまし…

VirtualBoxを修復した

何もしてないのに壊れたw VirtualBoxのUbuntuを使っていたのですが、突然Login出来なくなりました。 VirtualBoxとVagrantを再インストールしてみたのですがだめで、しかし、 Ubuntu自体は立ち上がっているので、Vagrantの設定が壊れたと解釈し、新しいBoxを…

HerokuにPythonでサーバーを構築する

Herokuでアプリを動かしてみたい PythonにはFlaskという使いやすいサーバーモジュールがあります。 これを用いてサーバーを構築してみたいと思いました。 ラズパイなどで構築する方法もありますが、(家の)外部からのアクセスを考えるとサーバーレスのほう…

Flaskで学ぶPythonのErrorの読みかた

Errorを読めない人は読んでないだけ Errorの内容って読めない人はいつまでも読めないんですよね。 togetter.com一方で、Errorの読み方というのを上手く説明しているWebも見つからなくて最初は私も苦労しました。 そこで、最近必要あってPythonのFlaskというW…

ArduinoとRaspberryPiで電池の容量を測る

電池の容量を測りたい 我が家ではリモコンであったり、時計であったりに大量?のニッケル水素電池が稼働しています。 たまに、電池の寿命(容量)がやけに短い?と思うことがあります。 ニッケル水素といえど、充電池は劣化することで寿命が短くなることが知…

圧倒的に簡単、早い Raspberry Pi ImagerによるOSインストール

ラズパイで$sudo rebootしようとしたら、I/O errorみたいのが出て、SD cardをwindowsで読み込もうとしたら、「このドライブで問題が発生しました」みたいになって、これがSD cardの寿命というやつか?そして修復は失敗した。 pic.twitter.com/CiK0yii71m— と…

Pythonでos.remove()を使って条件を指定してファイルを削除しようとするとPermissionErrorになる

発生した問題Pythonで条件を指定してフォルダの画像ファイル(ここではpxが100x100以下)を削除しようとしたらPermissionErrorと怒られました。以下のようにPILで画像を開いてサイズを取得、条件に一致したら削除、というようなことをやろうとしました。 fro…

ラズパイからFirebaseのCloud Firestoreへpushする

ラズパイで測定した室内環境をwebでみれたら便利だな、と思ってラズパイからFirebaseにpushできるかやってみました。 データベースとしてはRealtime Databaseでも可能ですが、ここではFirestoreを使ってみました。目的ラズパイで測定した室内環境をwebで見れ…

エアコンをSlackでスマートリモコン化の効果を温湿度センサで測定する【2020年版】

3年目となるラズパイによるスマートリモコンの改良です。 s51517765.hatenadiary.jp s51517765.hatenadiary.jp s51517765.hatenadiary.jp昨年のスマートリモコンに温湿度・気圧センサーを連携します。 これまでの、エアコンをSlackで操る機能はそのままに、…

Raspberry Pi で温湿度気圧センサBME280を使う

ほぼQiitaの記事そのままです… qiita.com購入したのはAmazonにある、Hiletgoのものです。HiLetgo BME280 温度 センサー 湿度 センサー 気圧 センサー Arduino センサー 大気圧センサ 温湿度センサー ブレイクアウト Arduinoに対応 [並行輸入品]メディア:Qiit…

プログラミングに使ってるアプリを紹介します

私が普段気に入って使っているツールを紹介します。プログラミング・Anaconda Pythonの環境です。 Python自体のインストールに加えてDefaultでは入っていない便利なモジュールが一度に構築できます。(32bit/64bitの選択をお間違いなく) www.anaconda.com・…

VS CodeでPythonの作業ディレクトリを設定する

Pythonスクリプトを作ってVS Codeで実行しようとすると、同じフォルダにおいてあるはずの”test.jpg”が見つからない、という現象が起きました。 # -*- coding: utf-8 -*- from PIL import Image import os path = os.getcwd() print("Path = "+path) file = "…

ifのネストが深くなってしまう

一般的にネストは深くなりすぎないほうがいいといわれています。 何段以上が「深い」とするかはコーディング規約に依存しますが、多数の条件を調べようとすると「深くせざるを得ない」と思っていました。例えとして、複数の条件にマッチするTweetを探したい…

Twitterにつぶやける文字数って結局何文字なんだろう?

PythonでTwitterのAPIを使ってTweetをしようとしたとき、TwitterのAPIが「投稿できない」という意味のstatus code 186を返してくることがあります。 [{'code': 186, 'message': 'Tweet needs to be a bit shorter.'}]これはTwitterのTweetの文字数制限に対し…

はてなブログの記事をPythonで自動投稿する

はてなブログの記事を自動生成して投稿するスクリプトを作りました。はてなブログには、記事をスクリプトで投稿するAPIとMailによる投稿ができる仕組みがあります。 これを利用してTwitterの人気投稿を収集してブログ記事を生成します。 できあがったブログ…

PyCharmのコンソールの文字化けが直らない

特定のscript(python file)のみコンソールで文字化けするようになった。文字化け「文字化け」というのはテキストの文字コードとそれを解釈するプログラム(ここではpycharmもしくはpython)の間でちがう換算をすることで誤って文字が表示されることです。 た…

エアコンをSlackでスマートリモコン化する【2019年版】

昨夏にスマートリモコン化したエアコンの改良版です。 s51517765.hatenadiary.jp昨年のプロダクトの課題は、ボタンが一種類しか動作できないため、柔軟性がなかったことです。 今年は、リモコンのボタンを「電源off/on」「温度設定up」「温度設定down」を使…

競技プログラミングの基本入出力(Python3)

競技プログラミングの基本入出力をPython3で説明します。 基本的過ぎて、ちゃんと説明されたサイトが無くって苦労しました。 Atcoderの先人の解答例は参考になります。入力編競技プログラミングでは以下のように入力が与えらるのが基本です。 最初の一行は、…

pythonでGoogle APIを使ってAnalyticsの情報を取得する

はてなブログのアクセス解析は情報が少なく、過去の履歴も1週間分しかありません。 これでは物足りないので、なにか方法はないか?と考えたところGoogle analyticsが使えそうで、しかもAPIがあります。 そこで、Google analyticsではてなブログのアクセス数…

プログラミング素人がプログラミングを勉強した方法

理系ですが専門的にプログラミング(情報工学)を学んだわけではない私が、趣味の範囲とはいえプログラミングを勉強した方法をまとめました。中の人のスペック・国立大理系修士卒(理学系物理) ・メーカー勤務10数年(3社目) ・非ソフトウェアエンジニ…