エントリー

2024年11月の記事は以下のとおりです。

ページ移動

  • ページ
  • 1
  • 2

還暦ラジオに魅せられて作製してみる(その2)

  • 2024/11/30 13:32
  • カテゴリー:ラジオ

ブレッドボードで動作確認できたので基板に実装

以下のパーツを使用することにしてピンソケットを付けて大体の配置を再確認

IMG_20241126_191243.jpgIMG_20241126_191339.jpg

※)後でアンプにボリュームは必要なかったのでPAM803アンプモジュールをLM386に戻し,兼用しようとしていた電源SWはスライドSWを追加

パーツを実装

IMG_20241129_164203.jpgIMG_20241129_165707.jpg

美しくない裏面

IMG_20241130_102414.jpg

途中で音がでなくなる問題が発生し,調査のため表面にあった水晶を外したので裏面に付け直している

ようやく小型スピーカーが届いたので接続したが0.5Wでは音が小さい

IMG_20241130_093315.jpg

操作性が良いと考え,ディスプレイの右側にロータリーエンコーダーを置こうとしたので全体的に1周り大きくなってしまった

3Dプリンタでケースを作製しようと思っていたが,実装位置を見直して再作製を検討中

大きいといってもATS-20と比べるとコンパクト

IMG_20241201_120900.jpgIMG_20241201_120924.jpg

基板内に収めればATS-20の半分のサイズになる

厚みの方はバッテリーとスピーカーを下側に収納したとしても薄く出来そう

IMG_20241201_121034.jpg

還暦ラジオに魅せられて作製してみる

  • 2024/11/24 15:03
  • カテゴリー:ラジオ

YouTubeで「還暦ラジオ」を観て気に入ってしまい,SI4732が1つ残っているので同様なラジオを作製することにした

ボード(T-Display)

ディスプレイ付きのESP32である「TTGO T-Display」「Lilygo T-Display S3」を利用したラジオは他でも紹介されている

先ずはボードを安価に手に入れるためAliexpressにて「TTGO T-Display」(16MB)を¥1,525で購入

IMG_20241121_173552.jpgIMG_20241121_173702.jpg

ケース入りでピンヘッダーとバッテリ用のミニPHコネクタが付属

IMG_20241123_162233.jpgIMG_20241123_162221.jpg

ボードは非常にコンパクトで薄い

技適がないので申請前の在庫品だと思われる(なので安価だったようだ),無線通信(WiFi,Bluetooth)は使用しないので問題なし

IMG_20241123_162349.jpg

初期プログラムが書き込まれていて,USB(このボードはTypeC)を接続して電源投入すると画面がカラーで数回変わり最後に文字が表示されるので動作確認できるようだ

arduinoIDEの設定

ESP32をarduinoIDEで使えるようにしているので簡単に利用できた

ss20241124001.png

ボードはESP32>TTGO LoRa32-OLEDを選択

ss20241124003.png

Flash Frequency を40MHzに変更

USBを接続するとボード名が表示,サンプルとして「GetChipID.ino」を書き込んで実行

書き込み時はなんらかの操作は必要はなく自動で書き込みモードになるようだ

ss20241124004.png

ss20241124005.png

ラジオの実装

回路図,ソフトウェアは以下で公開されている

Ralph Xavier Github: https://github.com/ralphxavier/SI4735

(ソフトウェア)

ATS-20/25の開発で環境は整っていたので追加で行ったのは以下

ledcSetup(), ledcAttachPin()は無くなったためコメントアウト2行(行削除で構わない)

他(以下の3関数)は修正する必要なし(使用しているのはledcWrite()のみ)

bool ledcAttach(uint8_t pin, uint32_t freq, uint8_t resolution);
bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, int8_t channel);
bool ledcWrite(uint8_t pin, uint32_t duty);
  • eSPIライブラリでディスプレイを指定する

TFT_eSPI/User_Setup_Select.hを修正

//#include <User_Setup.h> // Default setup is root library folder
・・・
#include <User_Setups/Setup25_TTGO_T_Display.h> // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT

コンパイルし書き込んで実行すると

IMG_20241123_192212.jpg

接続してないので正常にエラー表示された

(ハードウェア)

必要パーツを準備してブレッドボードで試行

IMG_20241124_103205.jpg

結線が少ないのもあってか,あっさり動作した(アンテナが短く音は良くない)

ロータリーエンコーダーの方向が逆だったので接続を変更

IMG_20241124_130006.jpg

前回購入したロータリーエンコーダーの結線図の記録が無かったので記載しておく

IMG_20241124_125935.jpg

後は基盤に実装してケースを作製するのだが,今回はいかにコンパクトにできるかとなる

(追加:2024.11.25)

左側をUSBにしたいので画面表示を上下反転できないかソースを観ると

 //tft.setRotation(0); // Rotate 0
//tft.setRotation(1); // Rotate 90
//tft.setRotation(2); // Rotate 180
//tft.setRotation(3); // Rotate 270

とあるので,Rotate 180を選択すれば良いかと思ったら,先に

#ifdef IhaveTDisplayTFT
  tft.setRotation(1);
#endif

があり,現状がRotate 90なのでRotate 270を指定(tft.setRotation(3);にする)

IMG_20241125_162416.jpg

システムメンテナンス

6月に移行してから長期稼働していたので再起動メンテナンス

カーネルのアップもあったので大丈夫か心配だったが思い切ってついでにアップグレード

案の定,再起動してもなかなか起動しない

IMG_20241123_140615.jpg

やってしまったかと思いケースから取出しコンソールで確認したところ・・・ファイルシステムのチェック待ちだったようだ

今回の全ログ

大型アップデートになったので念入りにチェックすることになったようでSSDなのに5分くらい掛かった

ファイルシステムに問題はなく完了

ブログ,メールシステムともに異常なし

NOAA受信システム復旧

まずはμSDカードをddで全バックアップしておいてμSDカードの書き込み不可でないことを確認しバックアップシステムで起動してみる

IMG_20241117_100120.jpg

HDMI接続で起動してみると・・・

IMG_20241117_100150.jpg

画面が進み過ぎで最後の結果しか判らず,何かが読めないように観えるがそれが何なのか判別できない

なのでコンソール出力をチェックするためシリアル接続

IMG_20241117_111209.jpg

U-Boot SPL 2021.10-armbian (Aug 30 2022 - 06:52:13 +0000)
DRAM: 1024 MiB
.
.
.
## Flattened Device Tree blob at 4fa00000
Booting using the fdt blob at 0x4fa00000
Loading Ramdisk to 4938a000, end 49fffd8a ... OK
Loading Device Tree to 0000000049317000, end 0000000049389fff ... OK

Starting kernel ...

IPLは正常でカーネル起動後「login:」となるところが,ここで止まるのでファイルシステムの異常が考えられる

μSDカードをArmbianでマウントして中身を確認

$ sudo mount /dev/sdb1 /mnt
mount: /mnt: mount(2) system call failed: Structure needs cleaning.
$

ところがマウント不可なので,しかたなくfdckで修正を実施

$ sudo fsck /dev/sdb1
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
armbian_root was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 7 has illegal block(s). Clear<y>? yes
Illegal block #5088 (4290772992) in inode 7. CLEARED.
Illegal block #5089 (4294967295) in inode 7. CLEARED.
Illegal block #5090 (4294967295) in inode 7. CLEARED.
Illegal block #5091 (4294967295) in inode 7. CLEARED.
Illegal block #5092 (4294967295) in inode 7. CLEARED.
Illegal block #5093 (4294967295) in inode 7. CLEARED.
Illegal block #5094 (4294967295) in inode 7. CLEARED.
Illegal block #5095 (4294967295) in inode 7. CLEARED.
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: +(1211030--1211263)
Fix<y>? yes
Free blocks count wrong for group #0 (13461, counted=14561).
Fix<y>? yes
Free blocks count wrong for group #1 (7476, counted=14962).
Fix<y>? yes
Free blocks count wrong for group #2 (9650, counted=12460).
Fix<y>? yes
.
.
.
Free blocks count wrong for group #10 (1502, counted=1873).
Fix ('a' enables 'yes' to all) <y>? yes
Free blocks count wrong for group #11 (7528, counted=4604).
Fix<y>? yes
.
.
.
Free blocks count wrong for group #68 (1038, counted=7812).
Fix<y>?
armbian_root: e2fsck canceled.

armbian_root: ***** FILE SYSTEM WAS MODIFIED *****

$

結構酷いようなので途中で止めてauto yesで再実施

$ fsck -y /dev/sdb1
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
armbian_root was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #68 (1038, counted=7812).
Fix? yes

Free blocks count wrong for group #69 (2334, counted=26287).
Fix? yes
.
.
.
Directories count wrong for group #128 (1, counted=0).
Fix? yes

Free inodes count wrong (2074853, counted=2072197).
Fix? yes


armbian_root: ***** FILE SYSTEM WAS MODIFIED *****
armbian_root: 93659/2165856 files (0.9% non-contiguous), 4163715/7556096 blocks

$ fsck -y /dev/sdb1
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
armbian_root: clean, 93659/2165856 files, 4163715/7556096 blocks
$ sudo mount /dev/sdb1 /mnt

マウントは可能になる

$ ls -l /mnt
total 2880
lrwxrwxrwx 1 root root 7 8月 26 2022 bin -> usr/bin
drwxr-xr-x 3 root root 4096 11月 1 00:20 boot
-rw------- 1 root root 3993600 8月 31 2022 core.1525
drwxr-xr-x 2 root root 4096 8月 31 2022 dev
drwxr-xr-x 123 root root 12288 11月 1 00:20 etc
drwxr-xr-x 3 root root 4096 9月 27 2022 home
lrwxrwxrwx 1 root root 7 8月 26 2022 lib -> usr/lib
drwx------ 2 root root 16384 8月 31 2022 lost+found
drwxr-xr-x 2 root root 4096 8月 26 2022 media
drwxr-xr-x 2 root root 4096 8月 26 2022 mnt
drwxr-xr-x 2 root root 4096 8月 26 2022 opt
drwxr-xr-x 2 root root 4096 8月 26 2022 proc
drwx------ 7 root root 4096 6月 9 22:02 root
drwxr-xr-x 3 root root 4096 8月 31 2022 run
lrwxrwxrwx 1 root root 8 8月 26 2022 sbin -> usr/sbin
drwxrwxr-x 2 root root 4096 8月 31 2022 selinux
drwxr-xr-x 5 root root 4096 10月 10 2022 srv
drwxr-xr-x 2 root root 4096 4月 18 2022 sys
drwxrwxrwt 2 root root 4096 8月 31 2022 tmp
drwxr-xr-x 11 root root 4096 8月 26 2022 usr
drwxr-xr-x 12 root root 4096 9月 27 2022 var
$ sudo file /mnt/core.1525
/mnt/core.1525: ELF 64-bit LSB core file, ARM aarch64, version 1 (SYSV), SVR4-style,
from '/sbin/init', real uid: 0, effective uid: 0, real gid: 0, effective gid: 0,
execfn: '/sbin/init', platform: 'aarch64'

$

ルートの構成は問題ないようだが中身がどうかは不明

日付は古いがcoreファイルがあったので確認するとinitの異常が過去に起きていたようだ

再度バックアップシステムで起動

Starting kernel ...

[ 8.834251] pps-gpio pps@0: failed to map GPIO to IRQ: -22
[ 9.353592] jack: irq plug-in

Armbian 24.2.1 jammy ttyS0

pine64a login: root
パスワード:
____ _ __ _ _
| _ \(_)_ __ ___ / /_ | || |
| |_) | | '_ \ / _ \ '_ \| || |_
| __/| | | | | __/ (_) |__ _|
|_| |_|_| |_|\___|\___/ |_|

Welcome to Armbian 24.2.1 Jammy with Linux 6.6.16-current-sunxi64

System load: 30% Up time: 0 min
Memory usage: 18% of 919M IP: 192.168.24.33
CPU temp: 35°C Usage of /: 55% of 29G
RX today: 58.9 KiB

.
.
.

root@pine64a:~# shutdown -h now
[ 84.686546] reboot: Power down

※)GPIOのエラーは非接続ため発生している

正常に起動したのでNOAA受信システムに戻して再起動,午後からのNOAA受信できるようにして,しばらくは動作観察となる

ファイルシステム異常の原因は不明だが,fsckで復旧したのはラッキーであった

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed