以下の内容はhttps://gijin77.blog.jp/archives/2023-03.htmlより取得しました。


◆先般「BB-HCM581」を入手したので、このネットワークカメラに「POE」にて
 電源供給してみました。

◆直流給電システム「PoE」(Power over Ethernet)とは、イーサネット(Ethernet)の配線で
 利用されるUTPケーブルを通じて、電力供給側のイーサネットスイッチあるいはHUB
 (スイッチングHUB)から、電力受電側の端末に直流電力を供給する技術のことです。 
 今回、「POE」対応ハブに「Panasonic PN21089K」を入手しました。
 POE給電

1.「Panasonic PN21089K」の取説と主な仕様
 ①取説
  Switch-S8PWR(PN21089K) 取扱説明書

 ②主な仕様
 PN21089K仕様

2.「POE」IEEE 802.3af規格のAlternative B方式のピンアサイン
 ①詳しくは、下記を参照
  PoEにおけるデータ送信と電力供給の具体的な仕組み

 ②Alternative B方式のピンアサイン(上記より抜粋)
 POEビンアサイン

3.ネットワークカメラについては、下記ブログ内記事を参照して下さい。
  ・BB-HCM581 BB-HCM331 ネットワークカメラを使ってみた
  
以上



ブログトップへ

◆以前作ったリモコン解読器は、NECフォーマットのみだったので今回は
 それ以外のフォーマットにも対応したものです。
 ⓪起動時

 ハードは、前のままでスケッチだけ書き換えています。
 なので、配線図等は下記ブログ内参照して下さい。
 ・ESP32 IR Decoder (赤外線リモコン解読器) を作ってみた

1.各社リモコンデータを詳しく知るためには下記サイトが参考になります。
 ①赤外線リモコンの信号定義データの合成
 ②iRemo2 リモコン・データベース

2.以前の記事に追加のライブラリをインストールし、スケッチを作成します。
 ①「ライブラリマネージャ」で、「IRremoteESP」と検索し、インストールします。
 ライブラリ「IRremoteESP」

 ②インストールが終われば、上部の「ファイル>スケッチ例」にIRremoteESP8266が
  追加されます。
  このスケッチ例「IRrecvDumpV2」を編集してコンパイルし、シリアルモニタで
  確認することが出来ます。
 スケッチ例

 ➂下記は、ライブラリ内のスケッチ例「IRrecvDumpV2」を参考にして作成された記事です。
  【先人に感謝です。】
  (Arduino)ESP32モジュールを用いた赤外線リモコン受信プログラム

 ④今回のスケッチは、➂の先人のシリアルモニタに加えOLED SSD1306の表示を追加した
  ものです。
  (保障無しの自己責任で)  ESP32_IR_Dec_ssd1306.ino

3.実行例
 ①デジタルチューナー例
 ① デジタルチューナー

 ②汎用リモコン例
 ②汎用リモコン

 ➂扇風機例
 ➂扇風機

 ④4Kチューナー例
 ④4Kチューナー

 ⑤扇風機メーカー不明
 ⑤扇風機メーカー不明

 ⑥エアコンリモコン例(受信データが長すぎるためOLEDには表示できない)
 ⑥エアコンリモコン

 ⑦シリアルモニタ出力例
 IR_dec_シリアル出力

以上で色々なリモコンコードを解読できました。

ブログトップへ

◆中古のBB-HCM581/BB-HCM331を入手したので動作するか試験してみました。

1.外観及び工場出荷状態に戻すための「CLEARSETTING」釦
 ①外観
 BB-HCM581-331
 
 ②BB-HCM581のCLEARSETTING」釦
 BB-HCM581-CLEARSETTING
 
 ➂BB-HCM331の場合
  1.SDカードカバーを外す
 BB-HCM331-CLEARSETTING-1

  2.CLEARSETTING」釦
 BB-HCM331-CLEARSETTING-2

2.BB-HCM581/BB-HCM331の初期化方法
 ①電源が入っている状態で、CLEAR SETTINGボタンを約1秒押し続けます。
 (先の細長い棒状のもので、ゆっくりと押してください。)
 ②インジケーターがオレンジに点滅後、数秒間消灯します。
 ➂設定内容が工場出荷値に戻り、完了まで約1分かかります。
 ④インジケーターが緑点灯状態になるまで、またはパン/チルトの
  初期動作が完了するまで電源を切らないでください。
 ⑤カメラのすべての設定値(ID、パスワード、IPアドレス、
   サブネットマスクを含む)を、工場出荷値に戻ります。
 ⑥又ネットワークの設定は「自動設定」になります。

3.工場出荷値に戻したあとは、カメラを設定しなおします。 
 ①ネットワークのIPアドレスが、自動設定となり、ローカルアドレスの
 「xxx.xxx.xxxx.253」に設定されます。私の場合は「192.168.1.253」
 ブラウザで「192.168.1.253」にアクセスすると、下記画面が表示されますので
 ユーザー名とパスワードを設定し。保存をクリックします。
 BB-HCM581初期認証設定画面2

 ②保存したら、下記ログイン画面になりますので、先ほど設定したユーザー名と
  パスワードを入力し「ログイン」をクリックします。 
 BB-HCM581login画面

 ➂すると下記設定完了の画面になります。
  ここで、「シンプル画面へ」をクリックします。
  *家庭内使用URLをクリックするとカメラのトップ画面へ飛びます。
 BB-HCM581設定完了画面

 ④下記は、シングル画面を表示しています。
  左側のコントローラーでパンやチルトなどカメラを制御出来ます。
  また、上段のタブで色々な設定や確認が出来ます。
 BB-HCM581シングル画面

 
今日はここまで、続きは、またあとで

ブログトップへ

◆以前pico-sdkのサンプルプログラムをビルドして簡単にUSBホスト機能を
 実現出来、USB USキーボードを繋ぐことが出来ました。
 今回は、その延長で日本語キーボードに対応してみました。
 また、キーボードのCapsLock,NumLock,ScrLockのLEDを点灯制御してみました。
 たまたま、試験した日本語キーボードは、LED制御出来ましたが、他の日本語キーボードでは
 点灯しませんでした。なので調査中です。
 このプログラムは、日本語キーボードから入力し、アスキー文字に変換しシリアル出力
 するものです。ESP32等のマイコンへの変換ボードとして簡単に使えると思っています。
 pico_JP_keybord

1.まず、「hid_app.c」を編集します。
 ①日本語キーボードに対応する為に、KEYCODEからASCIIへの変換テーブルを
  USキーボードの変換テーブルを追加編集し、「HID_KEYCODE_TO_ASCII_JP」を
  作成します。
  
  キーコード毎のノーマル時アスキーコード、シフト時のアスキーコードと
  なっています。
  ◆下記は、40行付近からの抜粋です。
  
#define HID_KEYCODE_TO_ASCII_JP   \
    {0     , 0      }, /* 0x00 */ \
    {0     , 0      }, /* 0x01 */ \
    {0     , 0      }, /* 0x02 */ \
    {0     , 0      }, /* 0x03 */ \
    {'a'   , 'A'    }, /* 0x04 */ \
    ---
 ---
 {'z'   , 'Z'    }, /* 0x1d */ \
    {'1'   , '!'    }, /* 0x1e */ \
    {'2'   , '"'    }, /* 0x1f */ \
    {'3'   , '#'    }, /* 0x20 */ \
    {'4'   , '$'    }, /* 0x21 */ \
    {'5'   , '%'    }, /* 0x22 */ \
    {'6'   , '&'    }, /* 0x23 */ \
    {'7'   , '\''   }, /* 0x24 */ \
    {'8'   , '('    }, /* 0x25 */ \
    {'9'   , ')'    }, /* 0x26 */ \
    {'0'   , ' '    }, /* 0x27 */ \
    {'\r'  , '\r'   }, /* 0x28 ENTER              */ \
    {'\x1b', '\x1b' }, /* 0x29 ESCAPE             */ \
    {'\b'  , '\b'   }, /* 0x2a BACKSPACE          */ \
    {'\t'  , '\t'   }, /* 0x2b TAB                */ \
    {' '   , ' '    }, /* 0x2c SPACE              */ \
    {'-'   , '='    }, /* 0x2d MINUS              */ \
    {'^'   , '~'    }, /* 0x2e EQUAL              */ \
    {'@'   , '`'    }, /* 0x2f BRACKET_LEFT       */ \
    {'['   , '{'    }, /* 0x30 BRACKET_RIGHT      */ \
    {' '   , ' '    }, /* 0x31 BACKSLASH          */ \
    {']'   , '}'    }, /* 0x32 EUROPE_1           */ \
    {';'   , '+'    }, /* 0x33 SEMICOLON          */ \
    {':'   , '*'    }, /* 0x34 APOSTROPHE         */ \
    ---
 ---

 ②CapsLockなどのLED制御する為のプログラムを追加します。
  CapsLockにいては、Pico内蔵のLEDも同時に制御し、さらに
  CapsLock状態ではASCIIコードも変換しています。
  今回、カーソル移動キー等は、処理していませんが、ここに
  追加で記載すれば簡単に制御できると思っています。
  
  ◆下記は、339行付近からの抜粋です。
    
 339   //***** 2023/03/07  キーボードLED制御追加
 340   uint8_t kc = report->keycode[i];
        if ((0x04 <= kc)&&(kc <=0x1d)&&(CapsLock_led_state==true)) {
          ch = keycode2ascii[kc][1];
        }
        printf("[kc=%02x %d %02x]",kc,is_shift, ch);
        send=false;
        if (kc== 0x53) { //NumLock
          send=true;
          rep[0] ^=1; // toggle
        } else if (kc==0x47){ //ScrLock
          send=true;
          rep[0] ^=4; // toggle
        } else if ((kc==0x39)&(is_shift==1)) { //CapsLock
          send=true;
          rep[0] ^=2;
          if(rep[0]&2) CapsLock_led_state=true; else CapsLock_led_state=false;// toggle
          board_led_write(CapsLock_led_state);
        }
        if (send) {tuh_hid_set_report(device_info.dev_addr, device_info.instance,
          device_info.report_id, HID_REPORT_TYPE_OUTPUT, &rep, 1);}
        //*****

 ➂下記は「hid_app.c」の内容です。
  (保障無しの自己責任で)  hid_app.c


2.次は、下記ブログ内記事を参考に、ビルドして書き込みします。
  ・Pico RP2040-Zero に USBキーボード/マウス を繋いでみた


3.実際の日本語キーボードの各Lockキーを押した時のLEDの点灯状態
 Caps_Num_Scr_Lock_LED

以上


ブログトップへ

◆pico-sdkのサンプルプログラムをビルドすること簡単にUSBホスト機能を
 実現出来、USBキーボードを繋ぐことが出来ました。
 RP2040_USB_Keybord

1.RP2040-Zeroの諸元
 ①回路図
 RP2040-Zero_回路図
 
 ②ピンアサイン
 RP2040-Zero_pinアサイン

 ➂wiki/RP2040-Zero

2.試験用に下図のように配線します。
 ①RP2040-ZeroのUSBコネクタは、プログラムを書き込んだ後は、USBキーボートを
 接続します。
 ②USB-シリアル変換アダプタをPCに接続します。
 RP2040_USB_Host_HID_t

3.ビルド
 ①下記ブログ内記事を参考に「pico-sdk」をインストールしサンプルプログラムを
 ビルドします。
 ・Raspberry Pi Pico C/C++ Windows開発環境の構築その1(コマンドライン編)
 
 ②サンプルプログラムの中の
 「pico-examples\build\usb\host\host_cdc_msc_hid\host_cdc_msc_hid.uf2」を
  RP2040-Zeroに保存します。

4.実行結果
 接続図のように配線し、「Tera Term」で確認しました。
 ①キーボートのみの時
 TinyUSB_Host_HID_Example

 ②HUBを繋ぎキーボートとマウスを繋いだ時
 TinyUSB_Keybord_Mouse

以上 簡単にUSBキーボードとマウスを繋ぐことが出来ました。

ブログトップへ

◆RP2040-Zero[Waveshare]を入手したのでMicro Python (Thonny)で
 「Lチカ」をやってみました。
 RP2040-Zeroは、Raspberry Pi picoと同様に開発できる切手サイズの
 モジュールです。
 RP2040-Zero_py


1.RP2040-Zeroの諸元
 ①回路図
 RP2040-Zero_回路図
 ②ピンアサイン
 RP2040-Zero_pinアサイン
 ➂wiki/RP2040-Zero


2.RP2040-ZeroをMicro Python で使えるようにする。
 ①最初にRP2040-ZeroをPCに接続、起動すると「RPI-RP2」のドライブが現れます。
   又は「BOOT」釦を押しながら「RESET釦を」押します。
   次にRPI-RP2のフォルダの中の「INDEX.HTM」をクリックします。
 RP2040_RPI-RP2

 ②すると「Raspberry Pi」のサイトが開きますので
  その中の「MicroPython」をクリックします。
 PR2040MicroPython_1

 ➂下の方に「Download ...UF2 file ...」
   ->「Raspberry Pi Pico」を選択し、先ほどのドライブに
   保存します。
 PR2040MicroPython_2

3.Micro Pythonを簡単に使用するには、Thonny ツールを使用します。
 ①下記よりThonny ツールをダウンロードします。
 Thonny ツール

 ②ダウンロードした「thonny-4.0.2.exe」をダブルクリックしインストールします。
 
4.下記「RP2040-Zero」デモ用のソースをダウンロードし、解凍します。
  RP2040-Zero.zip

5.インストールした「thonny」を実行します。
 ①先ほどダウンロード解凍したデモ用の「Lチカ」を
 「ファイル」「ファイルを開く」「このコンピュータ」から開きます。
  "\\RP2040-Zero\\Python\\RP2040-Zero.py"
 Thonnyファイル開く

 ②実行すると「Lチカ」が始まります。
 Thonny実行画面

以上



ブログトップへ



以上の内容はhttps://gijin77.blog.jp/archives/2023-03.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14