kuroの覚え書き

96の個人的覚え書き

Programing

SDI-12コマンド

SDI-12インターフェースで接続した機器とのコミュニケーションについてSDI-12の規格では Bits per second: 1200 Data bits: 7 Parity: 1 Stop bits: 1 Flow Control: 反転(active LOW) で通信することになっている。Arduino,ESP32,M5stack等で接続するなら …

ESP32-WROOM32Eで複数のシリアル通信を行う

他の機器との通信をシリアルポートで行いつつ、他の機器とも通信をしたいということで、通常使用しているシリアルポート以外を使えるようにしたい。 ESP32にはハードウェアシリアルポートが3組用意されており、何も宣言しなくても使える通常使用しているSeri…

ESP32をアクセスポイントにする

ESP32-WROOM-32EをアクセスポイントにしてWifiネットワークのとりあえずの中継地点とする #include <WiFi.h> #include <WiFiClient.h> #include <WiFiAP.h> // Set these to your desired credentials. const char *ssid = "kuroesp"; //SSID const char *pass = "kk********kk"; //password </wifiap.h></wificlient.h></wifi.h>…

M5STACK Timer Camera X

これまでタイムラプスカメラはラズパイベースで作ってきたが、もっと省電力で大量にばら撒くような使い方が必要となってきたのでESP32ベースに移行を考えた。 Amazonを見ていると1000円くらいで2MピクセルのカメラがついたESP32基板が見つかるが、どれもこれ…

おんどとりをwindows以外でどうにかするための調査

別途公開の通信プロトコルを使用し、お客様ご自身でソフトウェアを作成していただければシリアル通信が可能となります。その場合、オプションのシリアル通信ケーブル( T R - 0 7 C )が 必 要 で す 。 と取説には書かれているが、どこにも公開されている感じ…

ESP32でdeep sleep

ESP32はAVRのATMEGAに比べてえらくエネルギー効率がいいらしく、省エネということになっている。240MHzで動かしていてもそうらしいが、ここは最低速度の10MHzまで落としてやろう。その上でインターバル運転で間をsleepで過ごさせるともっといいらしい。 #inc…

RTC(I2C接続)、SDカード(SPI接続)、アナログセンサーをESP32-WROOM-32Eにつなぐ

というわけで、ESP32が使えるようになったので、早速アナログセンサーのロガーを作ってみる。関係がありそうなピンだけ書き出してみるとこんな感じ。 あとはポチポチとつないでプログラムを書く。 #include <Wire.h> #include <RTClib.h> #include <SPI.h> #include <SD.h> const int chipSe</sd.h></spi.h></rtclib.h></wire.h>…

ESP32-WROOM-32E(秋月)を使ってみる

いやー、久しぶりに(?)どハマりした。 前から気にはなっていたESP32というマイコンを使ってみようと秋月電子で売っている一番安いやつwを買ってみた。 ESP32-WROOM-32E ESP32−WROOM−32Eマイコンボード: マイコン関連 秋月電子通商-電子部品…

データベースアプリ上のtempファイルを介した動作と古いtempファイルの自動削除

これまでデータベースアプリに仕込んだ解析プログラムの中間ファイルだったりダウンロードする解析済みファイルなどは各個人のプライベートフォルダに記録することにしていた。共有のフォルダにtempファイルを落とすようにすると、複数人でアクセスしたとき…

PythonからUSB camで写真を撮る

Pythonでは映像周りはopenCVで扱うのが良いようだ。 $ sudo apt install python3-opencvcv2モジュールを読み込んであれこれするようだ。 $ python3 Python 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] on linux Type "help", "copyright", "credit…

somocluで自己組織マッピング その2

というわけで定番Irisでやってみよう。 import numpy as np import matplotlib.pyplot as plt import somoclu import pandas as pd %matplotlib inline from sklearn.datasets import load_iris iris = load_iris() X = iris.data Y = iris.target n_rows, n…

local blastをグラフィカルに

モデル植物としてはゲノムデータがあまり完璧でない植物を研究対象にしているためBlast検索も外部データベースサイトに頼らず自分でシークエンスデータをあちこちから集めてきて自分仕様のBlastサーバを立てている。 これまでのところ、まあ自分で見るだけだ…

帰ってきたJetson nano 2GB

というわけで2ヶ月のすったもんだの末、うちに帰ってきたJetson Nano 2GB。 左:帰ってきた2GB、右:買い足した4GB(B01)壊れる前はそもそもMacbookAirのACアダプタ(容量、定格上は十分なスペック)で起動できなかったところからすでに異常だったわけだが…

Jetson Nano 4GBと自作キーボード

壊れたJetson Nano 2GBの保証交換がちっとも進まないまま2ヶ月が過ぎようとしている。ということでもう一台買っちゃった。それも4GB。 今回はアマゾンではなく、日本での正規代理店らしい菱洋エレクトロから購入。アマゾンより安い。 ryoyo-gpu.jp基板丸出…

Raspberry piにキャラクタLCDをつける(2)

とりあえず起動したらDHCPで拾ったアドレスなり、接続したESSIDなりを取得してLCDに表示させるようにしてみた。 #!/usr/bin/python3 # coding: utf-8 import subprocess import Adafruit_CharLCD as LCD import time # GPIO lcd_rs = 17 lcd_en = 27 lcd_d4 …

Raspberry piにキャラクタLCDをつける

お遊びではあるが、Raspberry PiにキャラクタLCDをつけてみた。 お遊びなのであえてこじんまりしたLCDをつけてみる。<液晶表示器(LCD)><液晶表示器(LCD)LCM0802A 8文字×2行 バックライト 青>1個<led-180>札幌貿易(Sapporo Boueki)Amazonこれと基本同…

Raspberry Pi でUSBカメラを使う(整理編)

まずは何はなくともV4L2 $ v4l2-ctl General/Common options: --all display all information available -C, --get-ctrl=<ctrl>[,<ctrl>...] get the value of the controls [VIDIOC_G_EXT_CTRLS] -c, --set-ctrl=<ctrl>=<val>[,<ctrl>=<val>...] set the value of the controls [VIDIOC_S_EXT_</val></ctrl></val></ctrl></ctrl></ctrl>…

UVCカメラ

タイムラプス映像のクオリティをあげるべくカメラを買ってもらった。ELP バリフォーカルレンズ USBカメラ 800万画素 フルHD ウェブカメラ 高解像度 2448P 超小型ウェブカメラ ソニーIMX179/プラグ&プレイ/フリードライバー 2.8-12mmバリフォーカルレンズ Us…

Ubuntu環境をしっかりと入れる

自宅鯖で深層学習の学習環境を整えようと四苦八苦していて、私が主に使っているCentOS7に構築したkvm環境上のUbuntu18.04にNVIDIAのドライバやtensorflowをインストールするところまでやったわけだが。 結局kvmではビデオカードを仮想環境が使うとホストで…

React JSはじめました。

さっきやっとこさJSONやらAjaxをつかってフロントエンドとバックエンドのやり取りを成功させたところだが、 気を良くしてReactにも手を出してみる。まずnpmってなんなん?ってとこからですよ。 Node.jsってのをまず入れるんですね。 $ sudo yum install cent…

jExcelでスプレッドシートをwebアプリに仕込む(完成)

最終的にここに落ち着いた。 {% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}Freezer list{% endblock %} {% block head %} {{ super() }} <link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v4/jexcel.css" type="text/css" /> </link>

jExcelでスプレッドシートをwebアプリに仕込む

以前チョロっと眺めていたjExcelを使ってウェブアプリに冷凍庫管理表を作ってみる。 javascriptなのでじつはあまり得意ではない。 しかし使い方は結構簡単そうだ。(実は実用するには結構ハードルが高いことは後でわかる) 設置方法は基本HTMLファイルにjava…

グラフの要素を平均やボックスプロットに重ねる

以前より作っていたグラフ描画用ウェブアプリをバージョンアップしてつかいやすくした。 ボックスプロットやバーグラフに各要素点をかんたんに重ねることが可能になった。 これでNatureにも投稿し放題だね。いよいよExcelは必須ではなくなってきたな。

pandasで読み込んだデータフレームからかんたんにグラフを作る

例えばStudent's T testをやるついでにグラフも描いとこうというような場合。 import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv("./ttest.txt") des = df.describe() print(des) # plt.figure() des[des.index=='mean'].T.plot.bar(ye…

Pythonで統計解析

やはりRとはなかなか仲良くなれないな。といってPythonでサラサラ~っとコードを書けるのかというと、結局は本と検索でどうにかやっているわけだが。 紙媒体の本はとりあえず大まかな感じを掴むのに向いている。 というわけで参考にしている本を並べてみる。…

画像をカタログ化して共有する

顕微鏡の画像データが蓄積してきているが、いまいち整理されてなくて、バラバラにCD-Rとかに保存されているので一元管理したい。 できればサムネイル付きでカタログ化しておいて、目的の画像をパラパラっと見つけ出せるようであればなお良い。ということでま…

ADBキーボードをUSB化する

先日入手したADBキーボードがどうも調子が悪い。チャタリングがひどいといえばそうなんだが、特定のキー入力がダブるというよりはランダムにダブる。 これはスイッチがへたれているというよりはキーボードのICか周辺の回路に問題があるんだろうと思う。いっ…

Flaskでhtmlファイルを読み込むとき、ブラウザのキャッシュが読み込まれてしまうのを回避するには

インタラクティブに生成されたhtmlファイルをFlaskで表示させようとしたところブラウザがキャッシュファイルを読みに行ってしまって、作り変えた結果が表示されない。 data = dir + "/data_" + datetime.datetime.now().strftime('%y%m%d%H%M%S') + ".html" …

sequence alignmentをBokehを使ってインタラクティブに表示してみる

clustalwでsequenceのアライメントをとると、テキストで.alnというファイルが生成されるが、文字の並びとアスタリスクではわかりにくいことが多い。 なのでclustalxだとかMEGAだとかで表示するとカラフルに色分けで表示できるのでぱっと直感的に分かるのだが…

Arduino Pro micro その3 ATCG キーボード

さて、1キーのキーボードができたら今度はそれを複数にしていきたいわな。ということで4キーに拡張してみた。 #include "Keyboard.h" const int buttonPinA = 6; // input pin for pushbutton int previousButtonStateA = HIGH; // for checking the state…