toromukun’s blog

linux 設定メモ

ちょっと、大きなcsvのハンドリングが必要になった件

 

Excelで読み込んで対応する予定のcsvデータが大きすぎて読み込み出来ない。

まあ、DBを利用すれば良いんだけどDBを使ってアプリを組むのも大げさなんで、

もう少し手軽な方法がないかと検討し、linux上でgrepawkを使う事も試してみて

何とかなりそうだが、ファイル転送やコード変換や結構煩わしい状況になりそう。

 

で、ちょっと調べてみるとDBですがsqliteが結構お手軽そうで試してみる。

 

で、うん十年ぶりにsqlのお勉強をしながら、CREATE TABLE や csv の inport やらを試す。

DB Browser(SQLite)を使えば、SQLを使えない人も、閲覧やフィルターでの絞り込みなんかも、割と簡単につかえるので、便利かも。

 

パフォーマンスを検証したいんで、適当に大きなcsvを探して見ると、国税庁が全国の企業情報をCSVで公開している情報に辿り着きダウンロード。

shchema を探したが見つけられなかったので、CSV項目情報から作成したんで、貼り付けときます。(DB BrowserでインポートしてもOKですが)

 

create table corporateData(
    sequenceNumber         integer,
    corporateNumber     integer,
    process        integer,
    correct         integer,
    updateDate         text,
    changeDate         text,
    name             text,
    nameImageId         text,
    kind             integer,
    prefectureName         text,
    cityName         text,
    streetNumber         text,
    addressImageId         text,
    prefectureCode         integer,
    cityCode         integer,
    postCode         integer,
    addressOutside         text,
    addressOutsideImageId     text,
    closeDate         text,
    closeCause         text,
    successorCorporateNumber text,
    changeCause         text,
    assignmentDate         text,
    latest             integer,
    enName             text,
    enPrefectureName     text,
    enCityName         text,
    enAddressOutside     text,
    furigana         text,
    hihyoji            integer
);

iphone データ共有

 

iphoneで書類をスキャンするのが結構便利。

ファイルアプリでも簡単に綺麗にスキャンできるので、でかいスキャナの置き換えを目論む。

ただ、スキャンしたデータをPC等に移動させようと思ったが、USBメモリーはすんなりは接続できない様で色々調べてみた。

google ドライブiCloud等インターネット経由は避けたい前提で、一番しっくり来たのがファイルアプリでPCのファイル共有を使うのがベターとの結論。

PC側でファイル共有を許可して、PCのIPを確認できれば、ファイルアプリから「サーバへの接続」を選択して、WindowsPCのID、passwordを入力すれば簡単に接続できました。

まあ、Androidであれば、メモリースティックも接続アダプターがあれば難なく、繋げるのにですね。

 

IP Camera 

ieGeek 4dBi

玄関に付けてたTENVISのネットワークカメラがぼちぼちへたってきたので、

リニューアルで、ieGeek 4dBiをぽちっと導入。

スマホで、外からも接続可能なんですが、チョット仕組みが???、なんで色々調べてみました。

前のwi-fi接続のTENViSだと、インターネットルーターVPN接続して覗いていたんですが、スマホアプリで外からでも接続できるのはなぜ?

PCにインストールした [HiP2P Client]の挙動を調べてみると、どうもIP CAMERA IG-20自体が、インターネット上のサーバーにUDPで接続している様。

そのサーバー上にIP CAMERAのUIDとが登録されスマホアプリがUIDから接続済みサーバーを特定して、サーバー経由でIP CAMERAに接続しているように思えます。

まあ、ID パスワードも初期から変更して置けばそれ程危なくは無いと思いますが、

中国管理下のサーバー経由なんで、あまり気持ちよくないんで、p2p設定を削除して

外部接続機能は停止。

マニュアル等に記載はありませんでしたが、元々httpでアクセスすれば殆どの機能が使える仕様なので、PCアプリもアンインストールでWebアクセスだけで問題なく利用できました。

 

Licheepi Zero-Doker 今更セットアップ

Lichee Zero-Dock秋月電子のパンフで見かけて購入、Raspberry関連は昨今の半導体不足の影響か、在庫無し状態。

 

continue-to-challenge.blogspot.com

を参考に、色々設定。

minX_dd.tar.bz2(195.16 MB)をサイトからDownload(ありがとうございますですが、

容量のわりにこれに時間がかかる、失敗することも)、これをWin32DiskImager等でSDに書き込めば簡単に起動できました。

そのままでは、SDの空きスペースが勿体ないんでGPartedで第2パーティションを拡張する。

ただ、このままではLANは使えず(eth0を認識せず)。上記ブログにを参考に、docker開発環境を導入。

 

上記参照では、開発環境で設定変更後モジュールを入替されていましたが、コンパイルせずとも、pull で取得したままの、

linux/arch/arm/boot/zImage
linux/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb

をscpでlocalに抜き出し、SDカードの第一パーティション(/dev/mmcblk0p1/sun8i-v3s-licheepi-zero.dtb)にコピーして、再起動するとeth0を有効化できてしまいました。

みそは、sun8i-v3s-licheepi-zero-dock.dtbsun8i-v3s-licheepi-zero.dtbに名前をかえてコピーです。

本当は、boot.scrを再作成するんでしょうが、そこまで弄るのが面倒だったんで(言い訳)。

その後、シリアルポートuart1 uart2も使えるように使用と色々調べてみてわかった事

docker開発環(docker pull zepan/licheepi)内の

 

linux/arch/arm/boot/dts/sun8i-v3s.dtsi

linux/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts

linux/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dts

 

 sun8i-v3s-licheepi-zero-dock.dtsはソースの中で、sun8i-v3s-licheepi-zero.dtsをincludeして dockで追加されたディバイス定義を追記しているよう。

追加のシリアルポートの追記は

UART操作 — Lichee zero 文档

を参考に、sun8i-v3s.dtsiとsun8i-v3s-licheepi-zero.dtsを更新してlinux/ で rebuild.sh を実行する。

 

まだ更新中ですが、とりあえずUPしときます。

 

「別ネタ」

色々整理中にWindows11の環境からもシリアルで繋いでみようとすると、手持ちのUSBシリアル変換ケーブルが認識しない?

 

長年使い込んだU232-P9がWindows11では見捨てられたようで、Windows10までは使えていたのに、これからはLinuxか、UpgradeできないWindows10PCで利用するしかないようです。

 

Raspberry Pi 3 Model B にBME680を繋ぐ

多くの方が利用されているので、接続や、計測値の取得は割と簡単にできたが。

基本、pythonを使ったものが多く、crontabを使ってログに落とす時に色んなメッセージが邪魔をしてくれます。

まあ、加工すればいいんですが、素直にC言語位で作成した、結果をラインメッセージで返すシンプルなのがないのかと探していたら(自分で作れよ!)ありました。

qiita.com

利用させていただきます。(ありがとうございます)

ただ、私の利用している、aspberry Pi 3 Ubuntuのライブラリー等が更新されているせいか、コンパイル時にエラーが発生。

色々試して、bme680_pi.cに


#include <sys/ioctl.h>
#include <i2c/smbus.h>

 

を追加して、gcc -o bme680_i2c bme680_i2c.o bme680_pi.o bme680.o -li2c とすると、コンパイルできました。

コマンド実行で、無事センサー値を取得できました。

 

toromu@raspi:~$ bme680_i2c
16.52 C, 52.04 %rH, 1009.72 hPa, 39467 ohms

MINIS FORUM:UM350 Window11導入セットアップ

自宅環境の整備で、MINIS FORUM DeskMini Series Model:UM350 ADM Ryzen 5 3550H 16GB 256GB を購入。

 

【初期設定で、少々難】

早速、初期状態のWindows10で設定するが、日本語キーボードが選択できず文字入力で一工夫、インストール後に設定変更が可能な様。

初期設定後、Window11に更新もできたが結構時間がかかった(2~3時間程度)。

 

【Windows11 クリーンインストール

折角なんで試しにWindows11インストールUSBをMicrosoftからダウンロードして、クリーンインストールを行ってみた、こちらだと問題なく日本語キーボードを認識し(まあ、日本向けインストーラーでしょうし)、時間も数十分程度でした。

不要なソフトもなく、ディスク容量も20GB程度少なく済んで良しかな。

OSはWindows11 Proでクリーンインストールしてもディジタル ライセンスで認証されるんでキーの入力は不要(でもインストール途中で問題発生のメッセージが出、チョット冷や汗、でしたが勝手にリカバリーして正常終了)

 

インストーラUEFI変更機能が非対応?】

後、USBブートにUEFIを設定して、インストールでDISKを初期化して作業を進めたが、途中の再起動時にBIOS設定の自動変更が効かずにUSBブートに戻って同じ作業を2度してしまった。対応しきれていないのでしょうかね?

 

 

Windows10でWSL2 色々はまったんで、メモ

手持ちのPC1台がWindows11非対応なんで、今更ながら、WSL2でUbuntuの導入。

インストール自体は、Microsoft storeでサックっとでしたが。

 

Windwos11だと既に標準でGUIまで対応済みのようで、GUIアプリも気にせず起動できましたが。

Windows10で、はまった色々。

 

折角なんで、Xを使ってみたい、でVcXsrvをネットで見つけてインストールもxeyes等が表示できない!!

 

【DISPLAY変数の設定】

ネット上では、/etc/resolv.confのnameserver をDISPLAY変数に設定しているようだが、手元のPCではうまく行かない。

 

色々試した結果、PCの(IPaddress):0.0とするとOKでした。他の方は環境が違うんでしょうかね。

それと確かに、DHCPだと、IPアドレスが変更されるのでPCは固定IPに変更しました。

 

【ネットワークのプロパティ】

後、もう一つハマったのが、ネットワークのプロパティを「パブリック」にしていると繋がらなくて(ファイアウォールが止めているんでしょうね)、「プライベート」にするとOKとなる。このパターンは少ないのかネットの注意書きには見かけませんでした。

 

【XLaunchの設定】

なかなか、上手くつなげなかったので色々勘違い。

1)XLaunchの設定はデフォルトのままでOKでした。

2)勘違いで、XLaunch設定後アイコンが暫くタスクバーに表示されていたんでXクライアント起動の度にXLaunchをクリックしていましたが、不要な操作でした。

PCを再起動しても、Xserverは自動で起動しているようです。