投稿

ラベル(python)が付いた投稿を表示しています

ラズパイでHX711とロードセルで重量を図る

 ラズパイでHX711とロードセルで重量を図る とりあえず接続は省略、気が向いたら書く ソフトウェア側だが sudo apt install python-dev-is-python3 sudo apt install python3-pip  sudo apt-get install -y git git clone https://github.com/tatobari/hx711py sudo apt install i2c-tools 電源消しちゃったけど、  sudo i2cdetect -y 1で接続確認できなかったけど。 ラズパイを使って、重さをはかるよ  にあるサンプルコードで、測定はできた。????

windows ストアー版の pythonの更新

 windows ストアー版の pythonの更新 なぜか -Uオプションが使えなかったので pip install --upgrade urllib3 と--upgrade でしてやらないとダメだった。  

muninでブラザーのプリンタの情報(2)

イメージ
 muninでブラザーのプリンタの情報(1) でインク残量の取得に失敗したが、とりあえず、急ぎでインクの状態が知りたかったので、 美しくなはい事を理解しつつ、 動かせることを前提に構築 でSNMPでとれなかったので、どうしたかというと、WEB管理ページの推定インク残量のところからとることにした。個々のインクの残量の四角の高さをHTMLで指定している muninで温度と湿度をグラフ化- 10/26/2019 で使った方式を採用。 /usr/local/bin/ chk_dcp926_ink.py ----------------------------------- #!/usr/bin/env python3 import sys from bs4 import BeautifulSoup import requests import urllib3 from urllib3.exceptions import InsecureRequestWarning urllib3.disable_warnings(InsecureRequestWarning) url = "https:// プリンタのIPアドレス /home/status.html" r = requests.get(url, verify = False) #htmlの取得 soup = BeautifulSoup(r.content, 'html.parser') # すべてのliタグを検索して、その文字列を表示する elems = soup.find_all("img") for elem in elems:      if elem.get('alt') == "Magenta":           myMagenta = elem.get('height')      if elem.get('alt') == "Cyan":           myCyan = elem.get('height')      if elem.get('alt') == "Y...

pip の一括アップデート

いっつも忘れる一括アップデート  pip install pip-review でインストール pip-review で更新があるかどうか pip-review --auto -- ハイフン2つ で自動更新

MH-Z19Cとブレッドボード、raspberry PiでCO2濃度測定(2)

MH-Z19Cとブレッドボード、raspberry PiでCO2濃度測定 - 10/17/2021 ラズパイでCO2測定- 10/23/2021 の続き、久々に、新しいラズパイでといっても古いラズパイ1で二酸化炭素計測しようとしたら、なんだか、ぶちブチ切れる。おかしいなと思いつつ原因を究明。 結果的に、root以外でsudoでも sudo python3 -m mh_z19 を実行するとだめだということ  python3 -m mh_z19 --serial_console_untouched だが、これも、トラブルがあるらしい  https://remoteroom.jp/diary/2021-01-25/ 結論から言うと、root以外でアクセスするとアクセス権が元に戻ってしまうので777に設定していたも、また読み込めなくなるらしい。 二酸化炭素濃度をラズパイで測り、換気が必要な時にスマートスピーカーが声で教えてくれる仕組みを作ろう  ラズパイUbuntuでMH-Z19を使用する設定に理由は書かれている。 結局解決に一日使ってしまった。なんとなくハードウェアに対するアクセス権の考え方はわからなくはないが、こういうIoT機器的にユーザー権限で使おうとすると結構めんどくさい。  ------------ 2022.9.1 追記 実は、結局解決していない、読めると時と読めないときがある。グラフが飛び飛びでになるが、規則性は見いだせず、何なのか

Raspberry Piにpipをインストール

sudo apt install python3-dev sudo apt install python3-pip  でインストールできるみたい

pythonでDBに保存するテキストを圧縮する(検討編)

イメージ
 pythonでダウンロードしたものをデータベースに格納しているスクリプトがあるのだが、今までよりも極端に長いURLを保管しなくてはならなくなった。 でテキストのURLを圧縮して格納しようと考える。テキストの圧縮だとzipとか使うとがっつり縮むので、わりとうまくいくかと思ったらそうでもなかった。 import bz2  import zlib import gzip message = b"https://blogger.googleusercontent.com/img/a/AVvXsEiW_tRgG6pcqqu2AxA3j3-m-KY0rvzpmEb_t6zZHK0OBhHVulNav6Rl-So5me4Gh2zf-cvyljvIqi4bpRLi9t3HvlywJ-4xKV90R3S8vzewubIlXJhqJpvK2UucdZ0w4nr90Bq4Wro4122HYI6Uu2_fTELqPT7HBdKOBPRJ1E95iEMbRsthIflMwZdo=s1500" #適当な URLです print(f"元テキスト長さ:{len(message)}") print("\n") t = zlib.compress(message) print("zlib 圧縮後: " + str(len(t)) + ", 圧縮率: " + str(round((len(message) - len(t))/len(message)*100)) + "%") print(t) print("\n") t = gzip.compress(message) print("gzip 圧縮後: " + str(len(t)) + ", 圧縮率: " + str(round((len(message) - len(t))/len(message)*100)) + "%") #print(t) print("\n") #t = bz2.compress(message) #print("bz2 圧縮後: " + str(len(t)) + ", 圧縮...

ラズパイでCO2測定

 もうすでに多くのサイトでされているので、自分用のメモ とりあえず、Raspberry Pi OSインストール直後はpipが入っていないので > sudo apt-get -y install python3-pip > sudo pip3 install -U pip  sudo raspi-config でシリアルを有効にする ここで注意: シリアルコンソールは有効にしないように(一画面目はシリアルコンソールの有効、2画面目がシリアルなので注意) ライブライリーをインストール > sudo pip3 install mh-z19 以下のコマンドで測定可能  > sudo python3 -m mh_z19  {"co2": 407} ちょっと高い目にでるので、HDピンをGNDピンに10秒程度接続で400になる。 以下もいるかな  sudo chmod g+r /dev/ttyS0 ユーザーをグループに登録  sudo adduser munin tty sudo adduser munin dialout sudo adduser www-data tty sudo adduser www-data dialout  sudo chmod 777 /dev/ttyS0 sudo chmod 777 /dev/ttyAMA0 muninへの設定  /usr/share/munin/plugins/munin-chk-co2 ------------------ #!/bin/bash if [ "$1" = "autoconf" ]; then         echo "yes"         exit 0 fi if [ "$1" = "config" ]; then     # グラフタイトル     echo 'graph_title CO2'     # グラフ縦軸     echo 'graph_vlabel CO2 (ppm)'     # グラフのスケール設定 #...

windowsのpythonでjanomeを使って分かち書き 

イメージ
 janomeのインストール Windowsで分かち書きをしたくて色々調べたが、大道はmecabを使うのだが、インストールが面倒とのこと、次点でjanomeがあるがこちらはpipで手軽にインストールできるけども、速度は 1/10000程度とのこと 、とりあえずhanomeですることに、インストールは簡単、 > pip install janome でOK test.pyを作って from janome.tokenizer import Tokenizer t = Tokenizer() s = 'すもももももももものうち' print(s) for token in t.tokenize(s):       print(token)  で すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ でOK 。辞書が古いらしいのでNEologdを使えるようにする。 (失敗)NEologdのインストール windows上でもできるようだが、ubuntu上でした方が楽らしいので、仮想マシンにubuntuをインストールしてそこで行うことにした。 とりあえず準備としてgit とcurlが必要なのでまずインストール、その後mecab環境が必要。 sudo apt install git curl$ sudo apt install mecab sudo apt install libmecab-dev sudo apt install mecab-ipadic-utf8 sudo apt install make git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git で環境構築完了。辞書の作成 cd mecab-ipadic-neologd sudo bin/install-mecab-i...

【防備録】python 3.9.1 Windows 10 インストール

 python 3.9.1 Windows 10 インストール とりあえず 公式 python 3.9.1をインストール https://www.python.jp/install/windows/py_launcher.html Visual Studio Code 日本語化 Visual Studio Codeを起動して、メニューバーの「view」を選択 「command palette」を選択、「configure display language」を選択 「install additional laugage」を選択、拡張言語パック「Japanese Language Pack for Visual Studio Code」を探してインストール 拡張機能「Pylance」をインストール とりあえずこれでGo

MacOSのPython3事情

MacOSでPython3を使えるようにする方法何種類かあって面倒だ. ・公式のパッケージをインストール ・Macのパッケージ管理ソフトbrewからインストール ・なんか他の方法 いろいろやって何が正解かよくわからんね, たどった経緯は 公式パッケージインストール → 公式アンインストール → brewでインストール →pip3使えない(いまここ) 公式パッケージをインストールして使おうとしたが,Macにはaptみたいなパッケージ管理コマンドがある,お,これ使えばaptみたいに便利なんじゃない 一旦公式パッケージ削除 参考はここ  https://code-graffiti.com/how-to-uninstall-official-python3-on-mac/ brewのインストール:Xcodeのインストールに2分と言われて1時間くらいかかる(体感なのでこんなにかかっていなかったもしれないし,もっとかかっていたかもしれない) インストールされたpython3が3.7.3と微妙に古い brewでpython3をインストール,かんたんかんたん, pip3がはつかえるが,pip3でtcl-tkが使えない!,めんどくさそうな手順が解説されている.パッケージ管理ソフトってもっと簡単なものではと絶望にさいなまれている. brewでpython3のアンインストール 公式python3のインストール tcl-tkがつかえた

muninで温度と湿度をグラフ化

準備の段階は Raspberry Pi python3 BME280センサー ここ wimax転送量をmuninで監視する WiMAX HOME 01 /usr/local/bin/chk_tmp.py ------------------------------------ #!/usr/bin/env python3 import smbus2 import bme280 port = 1 address = 0x76 bus=smbus2.SMBus(port) bme280.load_calibration_params(bus, address) data=bme280.sample(bus, address) mytmp=data.temperature mypre=data.pressure myhum=data.humidity mytmp = round(mytmp , 2) print(mytmp, end="") -----------------------------------------  /usr/share/munin/plugins/munin-chk-tmp ------------------------------- #!/bin/bash if [ "$1" = "autoconf" ]; then         echo "yes"         exit 0 fi if [ "$1" = "config" ]; then     # グラフタイトル     echo 'graph_title Temperature'     # グラフ縦軸     echo 'graph_vlabel Temperature (degree)'     # グラフのスケール設定 #    echo 'graph_args --base 1024 -l 0'     #カテゴリ     echo "gra...

Raspberry Piでwebスクレイプ javascriptのページ!!

ラズパイでwebスクレイプするときに,色んなページを見たが,ちょっと違ったので とりあえず. 環境作成 $ sudo pip3 install selenium $ sudo apt install chromium-chromedriver --------test2.py------------------ from selenium import webdriver url = 'http://www.yahoo.co.jp' # Selenium settings options = webdriver.ChromeOptions() options.add_argument('--headless') driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=options) driver.get(url) fuga_str = driver.find_element_by_id('msearch').text print(fuga_str)                           driver.quit() ----------------------------------- でとりあえず動く driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=options) を多くのページでは /usr/lib/chromium-browser/chromedriver をしてしていることが多いが,うちの環境では /usr/bin/chromedriver にインストールされていた.

python3のデバック の改訂

python3のデバック   の改訂 ubuntu 16.04では $> sudo apt install python3-pudb でインストール

windows 10のBoW の ubuntuのpthon3でwebスクレイプ

BoW上のubuntu16.04でpython3でwebスクレイプする際の設定 $> sudo apt update $> sudo apt upgrade $> sudo apt install python3-pip $> sudo apt-get -y install python3-bs4 で準備完了

Raspberry Pi python3 BME280センサー

方法はいろいろあるけれども sudo apt-get install i2c-tools sudo apt-get install python3-pip sudo pip3 install smbus2 sudo pip3 install rpi.bme280 で measure.py で以下を作成 ------------------- import smbus2 import bme280 port = 1 address = 0x76 bus = smbus2.SMBus(port) bme280.load_calibration_params(bus, address) data = bme280.sample(bus, address) print(data.timestamp ,  data.temperature, data.pressure, data.humidity,sep=",") --------------------- でとりあえず温度、湿度、気圧がとれる

python3のデバック

python3のデバックツール インストールはRaspberry Piの場合 sudo apt-get install pudb3 でインストールできる 使い方は padb3 XXX.py キーボード操作は s :ステップイン n :ステップオーバー b : ブレークポイントをON,OFF q:終了(コマンドライン以外にフォーカスがある状態)