Nagalog復活!?

90年代からホームページを作ってきて、今まで何度もサイトを放置してきましたが、
2017年以来5年ぶりにブログを再開します。2020年2月頃から始まったCOVID-19のパンデミックで、
お家時間が増えて再びプログラミング言語を始めました。
手始めにPICマイコン、次はラズベリーパイ、Arduino, ESP8266 ESP32 を試してきました。
試してきたものが増えてきたので、ここで備忘録として残していきたいと思います。

2022年はニキシー管時計の製作をしています。
基板はKiCADで設計し、中国の工場にオーダーして作りました。
旅の記録や写真は気まぐれに追加していきます。


RaspbianとRN-42の通信NG

Raspbian 64bit版で、BluetoohモジュールRN-42-EKにペアリングを試してみる。
RN-42-EKはUSBシリアル付きなのでモジュールはPCに接続(USBシリアル)
※ 結果: ペアリングはOK、シリアル通信はNG

1. Raspbianデスクトップ上のBluetooth デバイスの管理ではスキャン結果が出ないので、
コマンドでスキャンする。

$ hcitool scan
Scanning …
00:06:66:7C:9E:4B   BTSENS

コマンドではスキャンで発見された。

2. ペアリング
参考: Raspberry Pi ZERO W 同士でBluetoothシリアル通信Lチカをやってみる
Bluezのインストール

$ sudo apt-get update
$ sudo apt-get insatll bluetooth bluez blueman
$ sudo pip install pybluez

Bluetooth設定モード

$ bluetoothctl
[bluetooth]# pair 00:06:66:7C:9E:4B
Attempting to pair with 00:06:66:7C:9E:4B
[CHG] Device 00:06:66:7C:9E:4B Connected: yes
[BTSENS]# Request confirmation
[BTSENS]# [agent] Confirm passkey 450197 (yes/no): yes
[BTSENS]# [CHG] Device 00:06:66:7C:9E:4B UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[BTSENS]# [CHG] Device 00:06:66:7C:9E:4B ServicesResolved: yes
[BTSENS]# [CHG] Device 00:06:66:7C:9E:4B Paired: yes
[BTSENS]# Pairing successful
[CHG] Device 00:06:66:7C:9E:4B ServicesResolved: no
[CHG] Device 00:06:66:7C:9E:4B Connected: no

[bluetooth]# paired-devicespaired-devices
Device 00:06:66:7C:9E:4B BTSENS

ペアリングまではできたらしい。
次に、「rfcommというコマンドを使ってBind」してみる。
参考: M5stackとRaspberry Pi zeroのBluetooth シリアル通信

$ sudo rfcomm bind 1 00:06:66:7C:9E:4B 2

シリアル通信するソフトが無いのでインストール
screenpicocomをインストールしてみました。」
参考: Raspberry Pi bluetoothシリアル通信

$ sudo apt install screen picocom

デバイスを確認

$ ls -la /dev/rfcomm*ls -la /dev/rfcomm*
crw-rw—- 1 root dialout 216, 1 4月 1 20:24 /dev/rfcomm1

シリアル通信起動(1つ目)

$ picocom -b 115200 /dev/rfcomm1

シリアル通信起動(2つ目)

$ screen /dev/rfcomm1 115200

ターミナルが戻ってきて接続できず。

 



REMOTE HOST IDENTIFICATION HAS CHANGED!の対処法

助けられたサイト: Qiita
「SSHホスト鍵が変わってるよ!」と怒られたときの対処
これだけ覚えていられれば何とかなりそう。

例: $ ssh-keygen -R example.com



Raspbian 64bit版をSSDで動かす

ホームIoT環境を構築するため、ベースにする Raspberry Pi を
最速で動くようにセットアップすることにしました。
SSDで動作させて Node-Red などを導入していく予定です。

参考にしたサイト:
Raspberry Pi 4をSSDからブートしてベンチマークしてみた

概要
1. Raspberry Pi4 にRaspbian(64bit版)をインストール
2. ブートローダーの書き換え確認(USB Bootを確認)
3. microSDの内容をSSDに移す
4. IP固定化, セキュリティ設定, SSH/VNC有効化

(1) まずは、通常の方法で Raspbian をダウンロードして Raspberry Pi Imager

でイメージを microSD に書きます。 今回のイメージは、
raspios_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64.zip
です。

(2) ブートローダーの更新
参考記事の通り sudo raspi-config の方法で更新
$ sudo rpi-eeprom-update で確認。

BOOTLOADER: up to date
CURRENT: 2022年 3月 10日 木曜日 11:57:12 UTC (1646913432)
LATEST: 2022年 3月 10日 木曜日 11:57:12 UTC (1646913432)
RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable)
Use raspi-config to change the release.

VL805_FW: Using bootloader EEPROM
VL805: up to date
CURRENT: 000138a1
LATEST: 000138a1

(3) microSDの内容をSSDに移す
この作業は SD CARD Copier を使いました。

(4) IP固定化, セキュリティ設定, SSH/VNC有効化
A. IP固定化
パネルからGUIで設定する方法ではIPが変更できても接続できない現象が出るので
CUIからnanoで設定する。
sudo nano /etc/dhcpcd.conf

static ip_address=192.168.xxx.xxx/24
static routers=192.168.xxx.xxx
static domain_name_servers=192.168.xxx.xxx

B. セキュリティ設定
(参考: ラズパイのセキュリテイ対策)

C. SSH/VNC有効化 は Raspberry Pi の設定で ON します。



MPLAB Code Configurator のインストール

(1) MPLABX を起動
Tools > Plugins Download を選択。


(2) Download Plugin Module for Offline Installation
[Go to MPLAB X Plugin Manager] をクリック。


(3) Plugins [Available Plugins]
MPLAB Code Configurator を選択 > [Install] をクリック。


(4) Plugin Installer
Welcome to the Plugin Installer
MPLAB Code Configurator [5.1.2]

(5) License Agreement

(6) Download

(7) Restart application to complete installation


(8) Update is in progress.
下の画面が表示された後、MPLABX IDEのスプラッシュが表示され、起動する。


MPLAB XC Compilers インストール

(1) MPLAB XC8 Compiler v2.36
https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers#tabs


(2) License Agreement

(3) License Type
(*) Free を選んで [Next >]


(4) Installation Directory


(5) Compiler Settings
[X] Apply settings to all users of this machine
[X] Add xc8 to the PATH environment variable ← 選択してPATHに加える。


(6) Ready to Install Compiler

(7) Installing

(8) Installation Complete - Licensing Information


(9) Completing the MPLAB XC8 C Compiler Setup Wizard


※ MPLAB XC16 Compiler v2.00 も同様にインストールする


 MPLAB X IDE のインストール

MPLAB X IDE のインストールを備忘録として残します。
今回は、VM環境のWindows11 にインストールしてみます。

Versionは
Windows 11 Pro (VM上)
Version: 21H2
OS Build: 22000.556
エクスペリエンス: 1000.22000.556.0
コマンドプロンプトでのVer: 10.0.22000.556

Microchipのサイトからインストーラをダウンロード
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide
MPLAB X IDE v6.00

インストーラを実行する。
MPLABX-v6.00-windows-installer.exe

(1) Setup - MPLAB X IDE v6.00
[Next >]を押して進める。(画像が多くなるため途中の画面は省略)
(2) License Agreement
(*) I accept the agreement を選択して [Next >]

(3) Installation Options
Installation Directory: [C:\Program Files\Microchip\MPLABX\v6.00]
Proxy Settings:
(o)
(*) Use System Proxy Settings

The MPLAB team appreciates your help to improve the MPLABX products.~~~
[x] I consent to allow the collection of anonymous information about myusage of MPLAB ~
[x] I would like to enable Product Changes Notices through PLAB X. ~

(4) Select Applications
Cheese which applications you want to install:
[x] MPLAB X IDE (Integrated Development Environment)
[x] MPLAB X IPE (Integrated Progremming Environment)

Choose Microchip device support you want installed:
[x] 8bit MCUs (2.2GB)
[x] 16bit MCUs (1.7GB)
[x] 32bit MCUs (3.0GB)
[x] Other MCUs (SERIALEE, HCSxxxx)(4.9MG)
↑-- コンパイラーは別途インストールする必要がある。

(5) Ready to Install
Setup is now ready to begin installing MPLAB X IDE v6.00 on your computer.

(6) Installing


(7) Windows セキュリティ
バーグラフが終わりになると、
「このデバイス ソフトウェアをインストールしますか?」が3回表示されるので、
[インストール]を押して進める。






(8) Completing the MPLAB X IDE v6.00 Setup Wizard
NOTE: ここで Launch MPLABX IDE, MPLAB Code Configuration (MCC)を選択しても、起動時にコンパイラ
が無いと通知される。 MCCはPlugin Managerからダウンロードしてインストールする必要がある。


(9) Windows Defender
Windows Defenderがブロックするので、以下の選択肢を環境に合わせて設定する。
[ ] プライベートネットワーク
[ ] パブリックネットワーク

(10) No Compilers Found
[OK]を押して閉じる。


必要なコンパイラーをダウンロードする。
xc8-v2.36-full-install-windows-x64-installer.exe
xc16-v2.00-full-install-windows64-installer.exe

コンパイラのインストールへ続く


KiCadに挑戦

14年振りにCADでPCB基板作成に挑戦します。
2007年ぐらいにEagleを使って設計してブルガリアの工場に発注して以来です。
今は中国に発注すると激安で作れるそうです。



PIC開発 備忘録 001

2020年4月、約10年前に購入して放置していた本(下)で、PICマイコンを復習してみることにした。
頒布されていた基板も購入してそのままの状態だった。
改訂版 電子工作のための PIC18F本格活用ガイド

PIC18F本格活用ガイド
ちなみに、2013年は 「PICで楽しむAndroidアクセサリの自作」 の
アンドロイド用アクセサリ開発キットまで購入して試していた。 それでも5年ぶり。
それ以前では、2008年までには数年かけて4冊の本を購入していて、
dsPICでSD CARDの読み書きをして、小型有機ELディスプレイにカラー画像を表示するまではできていた。
こんな本(下)も購入していて、PICでインターネットに接続できることの可能性を探ってました。
世の中がCOVID-19で激変してSTAY HOMEとなったこともあり、
7年ぶりにPICの開発環境をPCに入れることにしました。

しかし! 2013年までは開発環境が MPLAB v8.xx だったのが、
今は MPLAB X v5.35 に変わっていて、マクロも変わり、古い本のコードのままでは動かないのでした。

ネットで調べ、試行錯誤した結果をこれから残していきます。

Windows10に古いMPLAB v8.xxをインストールして構築できれば、
そのまま使えるはずですが、あえて新しい環境で試してみます。

(作成 2022/03/30)
追記: PIC24Fのコンパイラでは、大きな変更なく動かせるようです。
例外はdelay関数のようで、#include とマクロの書き方が MPLAB v8.xx と違ってます。(後述予定)


リラの修道院

ブルガリア2日目、世界遺産のリラの修道院に行って参りました。残念ながら中は撮影不可。中の装飾は1000年の歴史に納得できる内装でした。



アーカイブ