- 1. オムロン環境センサ(2JCIE-BU)をラズパイで使ってみた。(5)
- 2. boto3でECSを使ってブログ開設するまでを自動化
- 3. pythonを使ってRestAPIでファイルを取得する
- 4. AOJトライに関する知識知見の記録共有 (Volume0-0040)
- 5. pip/pipenvのSSLエラーが出てハマりまくった。
- 6. pygameでテキストを中央寄せにする
- 7. 【Python】for文で辞書(dictionary)繰り返し処理
- 8. 3D姿勢推定+Unityでリアルタイム3Dトラッキングするシステムについて現状まとめ
- 9. ラズパイで消費電力を取得する(1)
- 10. Raspberry Pi 上で UART通信をする Pthon環境で プログラム
- 11. 例外処理で大元のエラー箇所をlogしたい時
- 12. 購買回数の分布と負の二項分布の関係
- 13. python-docxでサムネイルを削除する
- 14. Pythonでesa.ioのAPIを触る
- 15. Pythonプログラミング:urllib.requestを使ったtimeoutを指定したHTTPリクエスト発行
- 16. Python始めました。(その2)
- 17. python-docxで日本語用のフォントを設定する
- 18. 画像ビューワー、ボタン操作、JSONで保存 #メモ
- 19. AnacondaのインストールからJupyterLabの起動まで【WIndows10】2021.10
- 20. Raspberry piへのTensorFlowのインストール (モルカーを画像認識で判別したい!)
オムロン環境センサ(2JCIE-BU)をラズパイで使ってみた。(5)
今回は、センサーの話はあまりなく、ラズパイで音声合成のメッセージを流すまでの作業の記録です。
最後に、センサーから取得したデータから何らかのメッセージ(温湿度とか熱中症注意のめせーじとか)を流すことを目標としています。# ラズパイとスピーカー
100円ショップで購入したスピーカーをラズパイに接続しています。
いろいろとあったので最後に追記。# Audioの設定
“`shell-session:
pi@raspberrypi:~ $ sudo raspi-config
“`
「1 System Options」を選択します。|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/2141ca63-ce15-99db-24f0-25686b4e179c.png)|
|:-:|「S2 Audio」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2818
boto3でECSを使ってブログ開設するまでを自動化
# 開発前の状態
* 今後の仕事でAWSを触ると聞き,知識ゼロなのでヤバみを感じた
* とりあえず本を買って勉強して雰囲気は掴んだ気になっている
* https://www.amazon.co.jp/Amazon-Web-Services-基礎からのネットワーク-サーバー構築/dp/4822237443
* GUIぽちぽちすればやりたいことはできると感じたが,さらなるステップアップをするためにはどうしたらいいか悩んだ
* これまでの仕事でAnsibleなどによる環境構築自動化や,dockerなどのコンテナ技術のありがたみは非常に実感していた
* なので,
* 環境設定をすべて自動化し
* EC2上での作業を予めDockerImage化しておいてデプロイところまで頑張ってみたいと思った# コード
https://github.com/fugashy/aws_network_and_server_sample
## やっていること
* VPCからECSのサービス開始までを全自動化
* VPC,Subnetなどを依存関係に注意して作成していく
pythonを使ってRestAPIでファイルを取得する
#はじめに
pythonでRestAPIを実行し、テキストファイルを取得し、保存するコードです。######環境
python3.9.6#サンプルコード
“`python
import requestsurl = ‘https://[対象のURL]’
headers = {‘Content-Type’:’application/json’,’xxx-key’:’‘} try:
#APIで隔離メールをダウンロード、失敗したらエラーを出力
response = requests.get(url , headers=headers)
response.raise_for_status()
except requests.exceptions.RequestsException as e:
print(“エラー:”,e)#ファイルを取得できた場合に、filename.txtとしてファイルを保存する。
if response.status_code == 200:
with open(“filename.txt” ,mod
AOJトライに関する知識知見の記録共有 (Volume0-0040)
# 概要
Affine Cipherhttps://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0040
# コード
空白文字に定数-1を割り付け“`
def char2int(data, inv=False):
c_seq = “abcdefghijklmnopqrstuvwxyz ”
if inv:
ret = c_seq[data]
else:
ret = -1
for ret, c in enumerate(c_seq):
if data == c:
break
return retdef f(c, a, b):
if c == ” “:
ret = -1
else:
ret = (a * char2int(c) + b) % 26
return retdef core(enc_str):
ret =
pip/pipenvのSSLエラーが出てハマりまくった。
昔、プロキシ環境下で、pip/pipenvにハマったので、備忘録として解決できた方法をまとめました。
## 今回発生したエラー内容
pipもしくはpipenvを実行すると、以下のエラー内容が表示された。“`
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108)’))’:
)’))’:
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong versi
pygameでテキストを中央寄せにする
いろいろ調べてもやり方がよく分からず、分解して考えることで理解できる気がしたのでまとめてみた。
全体像はこんな感じ。“`python
import pygameWIDTH = 500
HEIGHT = 500pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
font = pygame.font.SysFont(None, 120)text = font.render(“Test”, False, (255,255,255))
text_rect = text.get_rect(center=(WIDTH//2, HEIGHT//2))endFlag = False
while endFlag == False:
for event in pygame.event.get():
if event.type == pygame.QUIT:
endFlag = True
screen.blit(text, text_rect)
【Python】for文で辞書(dictionary)繰り返し処理
辞書また、辞書型変数(dictionary)はkey-valueで格納されるデータです。
### 自分の定義した辞書
“`python
myDict = {‘John’ : 180, ‘Naomi’: 156, ‘Terry’: 177, ‘Stella’: 160}
“`### 1. キー(key)だけ取る
#### 1.1 デフォルトでアクセス
“`python
for key in myDict:
print(key)
“””
結果:
John
Naomi
Terry
Stella
“””
“`#### 1.2 dictionary.keys()でアクセス
“`python
for key in myDict.keys():
print(key)
“””
結果:
John
Naomi
Terry
Stella
“””
“`### 2. 値(value)だけ取る
“`python
for value in myDict.values():
print(value)
“””
結果:
180
156
177
160
“””
“`
3D姿勢推定+Unityでリアルタイム3Dトラッキングするシステムについて現状まとめ
#何をした?
3D人物姿勢推定機械学習モデルを用いてWEBカメラの画像から人物の各関節位置(姿勢)をリアルタイムで推定し、得られた3D位置を使用してUnity上の3Dモデルを動かすシステムを作成#成果
**1.複数人のリアルタイムトラッキング**
GoogleColaboratory上の3D姿勢推定モデル
入力:WEBカメラの画像をYoutubeLive経由で送信
出力:カメラ位置を原点とした各関節の3D位置(10~15FPS程度)↓ UDP通信
ローカルPC上のUnity
入力:カメラ位置を原点とした各関節の3D位置(関節間の角度をモデルに適用)
出力:3Dモデルのモーション(リアルタイム表示・BVH形式出力)YouTube動画/Liveを入力とし、無料クラウドGPU環境(Google Colab)上で複数人の人物追跡・3D姿勢推定を行った結果をローカルPCのUnityで受信し、3Dモデルに反映させる試みのテスト pic.twitter.com/HUmxrmPe3y
— K2 (@K2ML2) January 24, 2021
**2.指のトラッキング**
MediaPipeのHand Trackingモデルを追加して指のトラッキングを追加今週の進捗。
3D姿勢推定にmediapipeのHand trackingを追加した。動作の流れ:
手を振る動作→1→2→3→4→5→グッド→ウクレレを構えてジャカジャカ鳴らす動作 pic.twitter.com/ijmEZNReOU— K2 (@K2ML2) January 31, 2021
#使用した機械学習モデルについて(複数のモデルの
ラズパイで消費電力を取得する(1)
#目的
Raspberry Pi4とCTセンサーを用いて、消費電力を取得し、AWS IoT Core経由で、ElasticSearchに流し込むこと。#方法
ざっくりの流れは以下の通りです。1. ハードウェアの構築
1. 消費電力取得プログラムの作成
1. AWS環境の構築###1.1 ラズパイのセットアップ
まずは、ラズパイ上で、Pythonのスクリプトが実行できるようにセットアップしていきます。
####1.1.1 必要なものを用意する
* Raspberry Pi 4(通称ラズパイ)
* USB-Cの電源(3.0A以上供給可能なもの)
* あらかじめRaspberry Pi OSがインストールされたmicroSDカード
* USBキーボード
* USBマウス
* モニター
* マイクロ HDMI-HDMIケーブル**ラズパイのインターフェース**
Raspberry Pi 上で UART通信をする Pthon環境で プログラム
【1960年生まれのおじさん日記】
60歳の定年退職後に再就職した現在の職場で ≪STM32(32bit汎用マイコン)≫でプログラム作成を
依頼され その後もRaspberry Pi でブロックチェーンを構築してと言われ 分からないことだらけ!
一応は、若いころから 製造業で働き 制御用ソフト や アプリケーションの作成をしたこともある
けれども・・・この年齢になって Raspberry Pi でブロックチェーンの構築などするとは思わなかったおじさんの
メモ書き記録。間違いも多々あるかと思いますが、お許しください。—
**はじめに**
Raspberry Pi4 上で UART通信を行う プログラムを Pythonで書いてみました。環境は、Raspberry Pi4 に標準で搭載されている [Thonny Python IDE]
—
**準備**
シリアル通信を行うためのライブラリーを Raspberry Pi4 に入れる~~~
>$ pip install pyserial
例外処理で大元のエラー箇所をlogしたい時
# 結論
“`some.py
import sys
import traceback
from some_module import some_funcdef some_some():
try:
some_process…
some_val = some_func() # エラーが起こる処理 -> さらに some_func()で呼んでいるsome_blah_func()でraiseしてるとする
except Exception as e:
t, v, tb = sys.exc_info()
print(traceback.format_tb(tb)[-1]) # <-大元のエラー箇所を出力する ``` すると出力はこんな感じ。 ``` some_container | File "/some_path/some_blah_module.py", line 30, in some_blah_func some_container | raise ``` # 解説 s
購買回数の分布と負の二項分布の関係
# はじめに
購買回数/来店回数の分布は負の二項分布で表すことができるとよく言われます。
この事について、何故そうなるのかを書いていきたいと思います。# 使用データ
[共立出版 – データ分析プロセス](https://www.kyoritsu-pub.co.jp/bookdetail/9784320123656)に付属しているデータTafeng.csvを使用します。
## データを見てみる
2000年11月のデータを使います。購買回数(来店回数)を出したいので、同じ日付かつ同じユーザーの重複を削除し、購買回数を出します。
“`python:python
df = pd.read_csv(‘Tafeng/Tafeng_dataset/Tafeng.csv’)
df[‘dt’] = df[‘Time’].str[:10]
df[‘month’] = df[‘Time’].str[:7]
# 2000-11のみ使用
df_target = df[df[‘month’] == ‘2000-11’]
# DB全体の人数
target_users = pd.DataFrame(
python-docxでサムネイルを削除する
## 【問題点】アイコンまっしろやんけ!
F5でリロードしてみると、一瞬だけワードのアイコンが出る。
すぐに真っ白になるので、多分画像ファイルの縮小版表示と似たことが起きているっぽい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/d82ee08a-5e43-0bb9-7593-cd8abe606de8.png)## 【原因】問題はやっぱり「縮小版」(英語:Thumbnail)
「縮小版」、そんな機能があるのか…と、「Word 縮小版」とググったら見つかりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/13a76316-517a-e796-0e92-ddd67aea6cb6.png)## 【解決策】以下のファイルを開いて再度保存
開くファイルはdefault.docx
これをテンプレートにして新たなWordファイルが作られてるっぽい。
![imag
Pythonでesa.ioのAPIを触る
# はじめに
ドキュメント共有サービスであるesa.ioではAPIを公開していて、APIを通して記事やコメントの取得や作成、スターをつけたりけしたり等広くesa.ioの機能を利用できます。今回は、pythonでesa.ioのAPIを触ってみましょう!
# インストール
pythonで作成されたesa APIのクライアントライブラリを利用して、APIにアクセスします。
ライブラリ: [piyo](https://github.com/argonism/piyo)“` shell
pip install piyo
“`# APIを叩いてみる
とりあえず、クライアントをnewします。
``と` `は自分のアクセストークンとチーム名に置き換えてください。
Clientにアクセストークンを渡す代わりに、環境変数のESA_ACCESS_TOKENにアクセストークンをセットしても大丈夫です。“` python3
from piyo import Clientdef main():
client = Client(a
Pythonプログラミング:urllib.requestを使ったtimeoutを指定したHTTPリクエスト発行
# はじめに
Tipsです。
Webサイトを対象に(Sleepを入れて負荷をかけないように)スクレイピングをしていました。
が、時折ハングアップしてしまう場面にも直面していました。・・・はい、timeoutの設定が漏れてました。
そのため、応答があるまで待ち続けてしまっていました(≒ハングアップの状況)。というわけで、HTTPリクエストを発行する処理を見直したいと思います。
## 本稿で紹介すること
– urllib.requestを使ったHTTPリクエストの発行
尚、筆者は以下のVersionで動作確認をしています。
– Python: 3.6.10# サンプルコード
結論だけ、BeforeとAfterのCodeを紹介。
## Codeを紹介
端的に言えば、urlopen関数で、timeoutパラメータを指定するだけです。
以下、Code例です。
元のCode全体は、**[こちら](https://qiita.com/Blaster36/items/680000a7479e3a90857f)**を参照されたし。“`python:Before
de
Python始めました。(その2)
前回の続きになります。
[Python始めました。(その1)] (https://qiita.com/K-Ohgata/items/4a79f0e618590c3b5116)
相変わらずコードばかりで読みづらいですが、ご容赦ください…。# if文
pythonはインデントでif文などの範囲(ブロック)を判別する。“`python:sample.py
fruits = [‘apple’, ‘orange’, ‘grape’, ‘peach’]
if ‘apple’ in fruits:
print(‘apple is.’)
if ‘orange’ in fruits:
print(‘orange is too.’)
else:
print(‘apple is not.’)
print(‘I want to eat apple.’)if fruits: # 値ある場合はTrueとして処理される
print(fruits[0])color=’yellow’
if color==’red’:
prin
python-docxで日本語用のフォントを設定する
## できること
「日本語用のフォント」を設定できるようになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447423/4ddca1bb-4bdc-2bd9-d2de-64d1cf264a80.png)## 利用法
“`Python3:real_usecase.py
# 東アジア言語用のフォント設定をします
paragraph.runs[0].font.name_eastasia = “MS ゴシック”
“`## 設定
python-docxのファイルをいじって、東アジアの言語(いわゆるCJK Languageだと思われる)に対応させます。
私はminicondaを利用していますが、各自の環境に合わせていじるファイルの場所を特定してください“`Python3:miconda3/envs/
/Lib/site-packages/docx/text/font.py/Font
# 以下の部分をnameのgetter/setterの後あたり
画像ビューワー、ボタン操作、JSONで保存 #メモ
WSLで実行する場合は下記参照
https://dev.classmethod.jp/articles/wsl-x-window/“`
# -*- coding: utf-8 -*-
import cv2
import glob
import jsontarget = “target/*.png”
print(“target:”+target)data_BasePath = sorted(glob.glob(target))
print(“target:”+target)data_BasePath = sorted(glob.glob(target))
print(“image Num:”+ str(len(data_BasePath)))yesno_dict={}
# for idx_inter, data_BasePath_png in enumerate(data_BasePath):
idx_inter = 0
while True:
data_BasePath_png = data_BasePath[idx_inter]
# 入力画
AnacondaのインストールからJupyterLabの起動まで【WIndows10】2021.10
## はじめに
機械学習/データサイエンスにおけるPython環境構築は、ライブラリの依存関係が強く、インストールに手間がかかり、非常に面倒です。
ここでは、お手軽に環境構築するために、科学計算のためのPythonおよびR言語のディストリビューションであるAnacondaのインストールと、JupyterLabの起動までを説明します。またAnaconda Navigatorを用いた仮想環境の作成方法について説明します。
※この記事では、Windows10を使っています。## Anacondaのインストール
####1. Anacondaホームページから、Products>Individual Editionへ。
https://www.anaconda.com/####2. Downloadをクリックしてインストーラーをダウンロードしてください。
Raspberry piへのTensorFlowのインストール (モルカーを画像認識で判別したい!)
#本記事の内容
– Raspberry PiにpipでTensorFlow 1.14をインストールする (モルカーを画像認識で判別したい!)画像認識の仕組みをラズベリーパイで実現しようとしています。
モルカーを画像認識で判別したいと思っています。出来たら可愛いなあと。まずはTensorFlowをRaspberry piにインストールします。
尚、pipでインストールできるのは、1.14までの様です。
1系の最新版である、1.15.Xをpipでバージョン指定してインストールしようとしてもエラーになりました。
1.15をインストールしたい場合は、ソースからビルドする方法で自前でインストールする必要がありそうです。#実施環境
– Windows 10
– TeraTarm Version 4.9.4
– Raspberry Pi 2 Model B
– PLANEX 無線LAN子機 GW-USNANO2A ※Raspberry Pi 2はWi-Fi通信モジュールがないため、無線LAN子機をUSBに接続しWi-Fi通信を行う。
– 家庭内の無線LANネットワーク環境にて実施#