芸身輔

高専でいろいろやってみます。

ラズパイでSAMBA鯖を立てて家庭内ファイルサーバーにする

環境

・RaspberryPi4 4GB

hoge@hoge:~ $ uname -a
Linux hoge 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux

とりあえずアップデート

$ sudo apt update

$ sudo apt upgrade

必要なものをインストール

$ sudo apt install samba

$ sudo apt install ntfs-3g

保存先

SSD/HDDをUSBなりなんなりで接続して場所を確認する。

自分の環境だと以下のように表示される。

$ sudo fdisk -l

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors

Disk model: Generic

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

パーティションがなかったので作る。

$ sudo mkfs -t ntfs -L usbdisk /dev/sda

対話形式でパーティションが作れるのでコメントを読みながら入力していく。
自分だと以下のようにした。

>n

>p

>1

>2048

>1953525167

>w

確認

$ sudo fdisk -l

Device     Boot Start        End    Sectors   Size Id Type

/dev/sda1        2048 1953525167 1953523120 931.5G 83 Linux

できた。

大きなファイルも扱えるようにntfs形式でフォーマットする。

$ mkfs -t ntfs -Q /dev/sda1 

一応、以下のコマンドでフォーマット形式を確認できる

$ sudo parted -l

マウントポイントを作ってマウントする。自分はホームディレクトリにした。

$ sudo mkdir HDD
$ sudo chmod  777 HDD
$ sudo ls -l
$ sudo mount -t ntfs-3g /dev/sda1 HDD

reboot時に自動マウントされるようにUUIDでマウントするように設定。

$ sudo blkid /dev/sda1

で出てきたPARTUUIDをコピーして

$ sudo nano /etc/fstab

に追記する。下記は例

PARTUUID=XXXXXXXXX  /home/hoge/HDD  ntfs-3g defaults,nofail   0       0

IPが変わるといろいろ面倒なので固定する。
最新のOSだとラズパイ側からではなくルーター側で設定するのが推奨らしいが、そうは言われても面倒なのでラズパイ側で設定する。

$ sudo nano /etc/NetworkManager/system-connections/preconfigured.nmconnection

[ipv4]を

address=192.168.1.XXX #任意のIP
dns=8.8.8.8
method=manual

に変えてreboot

$ sudo nano /etc/samba/smb.conf

[global]に

security = USER

を追記

一番下にパラメータを追加する。 例

[piyo]
        comment = my samba
        force user = huga
        path = /home/hoge/HDD
        read only = No
        valid users = hoge

文法チェック

$ testparm
Loaded services file OK.

が出力されたら問題ナシ。

sambaサービスを有効にする

$ sudo systemctl enable smbd
$ sudo systemctl enable nmbd

一瞬止まるかもしれないが、待てば処理がおわる。

アクセス用のユーザーを設定する。

$ sudo pdbedit -a XXXX

出力に従ってパスワードを設定してreboot.

Windwosのエクスプローラーの一番上のパスのところに

\\192.168.1.XXX

と入力してフォルダが表示されたら成功

ネットワークドライブの割り当てで

フォルダー:\\192.168.1.XXX\hoge

"別の資格情報を利用して接続する"にチェック
完了すると先ほど設定したアクセス用のアカウントで接続できる。

参考

覚え書き
Raspberry Pi OS(bookworm)の固定IP設定
Raspberry Pi3をsambaファイルサーバ化し、Linux/Mac/Winでファイル共有(外付けSSDを使用)

ESP32にTypeC+CH340Kでプログラム書き込み

ESP32の自作ボード記事を見ているとFT232の使用例を見かけますが,ESP32の書き込みに使用するには大きく無駄なピンがあり,量産に使うとなかなかに高価なので代替品としてCH340Kを使用して書き込みをしてみました.

ついでに持ち運ぶケーブルを減らすために,DevKitCではMicroBが使用されているのをTypeCに変更しています.

最低限書き込みに必要なもの

回路図を参照しながら揃えてください.

CH340K
ESP32
TypeC (見た目同じで,使えるピンが違うコネクタが売ってるので注意!)
小信号用トランジスタ (DIPなら2SC1815がほぼ同じ特性らしい)
抵抗5.1kΩ (チップ抵抗の5.1kは秋月では取り扱っていない...)
抵抗10kΩ
スイッチ (モーメンタリSWならなんでもいい)
パスコン0.1μF
レギュレーター (降圧型3.3v出力)

回路図

回路解説

TypeCのコネクタ規格はややっこくてすべてを説明するのが面倒だし自分自身もすべてを理解していないなので省きながら説明します.
TypeCでVbusから5Vを得るにはCCを5.1kΩの抵抗でプルダウンさせてあげねばなりません.そのためCC1, CC1(オモテウラ)に5.1kΩのプルダウン抵抗を付けます.
この方法で5Vの電圧は取り出せますがESP32のロジックと電源電圧は3.3Vが基準ですのでレギュレータで3.3vに降圧します.
導通チェック用にLEDを嚙ませてますがなくても大丈夫です。

CH340KのVccはVbus(5v)に繋げます。3.3vでも電源は引けるのでそちらが良ければデータシートを参考にしてみてください。どちらにしてもパスコン(電源とGNDの間のコンデンサ)を忘れないように!

TypeCから出てるDN,DP(表記によってはD-,D+)をそのままCH340Kの同じ端子に接続します。
ここではあまり関係がないですがDN,DPのロジック電圧は3.3vですのでESP32C3等の直接書き込めるタイプのマイコンにロジックレベル変換機などを挟まなくていいです。
結局マイコン電源は3.3vだけど。

RTSをLowにするとENがLowになりDTRをLowにするとGPIO0がLowになりますが両方LowにするとENとGPIO0はHighになります。

RTS DTR EN GPIO0
Low Low High High
High High High High
Low High High Low
High Low Low High

これで書き込みの[Connecting...]の時にBootに接続したスイッチを押下することで書き込みが始まります。RSTボタンはプログラムの再起動です。

これで最低限書き込みに必要な回路が完成しました。ArduinoIDEから書き込むときは秋月等で売ってるDevKitCと同様に[ESP32 Dev Module]を選択します。

あとはお好きなようにピンを引き出してください。

おわり.

参考リンク

よく使うフリーソフト(Windows)

普段の作業でも使ってるフリーソフト達を紹介する

ダウンロード、インストール方法については扱わないので各自検索のこと

作法として書いておきますが、自己責任でお願いします。

1.Rapture

画面をキャプチャして最前面で固定してくれるソフト。
ダウンロードはここから
通称「おにぎり」
部内の設計御用達。タスクバーピン止めの価値あり。
機能も割とそろっていて個人的にはwindows標準のsnipping toolよりも使いやすい。
キャプチャした画像をctrl+sでそのまま保存できる
他の機能はいろいろ試してみてね。

2.Everything

ファイル検索ソフト。
ダウンロードはここから
windows標準のエクスプローラーの検索はアホほど遅い。
これなら秒で探せる。正規表現やファイルの種類のソートもできる優れもの。
細かいとこまで設定できるが基本的にデフォルトでいいと思う。

3.サクラエディタ

エディターソフト。
ダウンロードはここから
メモ帳よりもリッチなのでVScodeよりもお手軽に何か書きたいときとかに使ってる。
幅揃えができるのでCSVを見るときに重宝してる。
把握しきれないぐらい機能たくさんあるので自分好みに弄るのも楽しそう。

4.クイック共有(旧Nearby Share)

ファイル共有ソフト
ダウンロードはここから
Android(Windows)版のAirDrop.
ファイルの受け渡しするときにUSBメモリとかクラウドストレージ使う手間が減る。
技術的にはwifi,bluetooth,LTEとかその辺を使ってるっぽい。
詳しいことは公式に乗ってる。
開発がGoogleなので多分大丈夫。

はんだ付け

前に比べてはんだ付けの腕がマシになってきました。TypeC端子は高いけど便利なのでプリント基板にはよく使います

リフロー装置も自作で持っているのですがステンシル用意するのが面倒なので手はんだで行けるところはなるべく手はんだでやりたいですね

表面実装レギュレータのGNDは表面積が大きいこともあり最終的にはペーストはんだを使うことになるのですが...

U100機に使えそうな電装

ラジコンネタ

 

現時点で某規制により登録なしで空を飛ばせるラジコンが100g以下です。

自分はまだまともに飛ぶラジコンを作ったことがないのですが、U100機に使えそうな電装品をメモしておきます。

 

Hyperion G5 SV 25-50C放電 550mAh 1S (3.7V) JST 銀

コスモテック CT1415-4500

コスモテック 7A 4.4g Max Power CT-7A V2.2

 

U100程度ならBLDCでなくとも、コアレスモーターにドローンのプロペラでも飛びそうな気はしますが、はてさて。

bloggerからはてなに移行します

bloggerで何個か記事を書いていましたが待てど暮らせどgoogle検索で引っかからないのでSEO対策自分でしなくてもよさそうな はてなブログ に移行してみます。

 

アフィとかアドセンスやってるわけじゃないのでインプレッションはそんなに大事じゃないのですが、google検索で出てくるようなプラットフォームのほうが後輩とか同じような立場の人の助けになるかなぁと思った次第です。

 

気分が向いた記事から移行作業を進めますので前と投稿の順番が前後するかもですが、ご了承くださいです。一応bloggerの方も記事は残しておきます。

 

 

なぜかedgeの検索には引っかかるんだよな・・・