2023年07月08日

Elecrow Partner Seller

今回は電子部品販売、PCBやPCBAサービス等を行っている深圳のElecrowの新しいサービス、Elecrow Partner Sellerについて少し紹介したいと思います。

Elecrow Partner Sellerでは自作基板等をElecrowのサイトで販売できるサービスで特にこれまでElecrowのPCBA等を利用している場合はPCBA後にそのままElecrowのサイトで自作の製品を販売することが可能です。日本ではお馴染みのスイッチサイエンスのマーケットプレイスやビットトレードワンのBTOマイプロダクトサービス等がありますが、すぐに海外前提で販売できるElecrow Partner Sellerは非常に魅力的です。

Elecrow Partner Sellerの特徴
・PCBAからそのまま販売できるため、製品を預けるための送料不要
・手数料は売上の5%
・月々の管理費や梱包費は無料
・グローバル前提で販売できる
・Paypal等で手数料を引いた売上を受け取り

他の委託販売同様に製品製造の初期投資は必要です。ただ、手数料が5%と非常に低く、輸送費用や梱包費用、管理費用が不要なのは非常に魅力的です。Elecrow Partner Sellerを始める前にElecrow側と契約書を交わす必要がありますが、そこまで煩雑なものではなく、契約後にElecrow Partner Sellerで売る製品のPCBA依頼、製品の説明や写真の登録等をElecrowのサイトから行います。


国内向けについては委託販売を複数製品で行っていますが、海外向けについては22年6月にスイッチサイエンスの海外販売が終了し、販売できない状況が続いていました。特にDigital MEMS Microphoneについては海外から購入したいという要望が多く、どのように提供するか検討していました。特にコロナ以降、海外郵送が混乱し、SAL便が利用できない等、以前よりも安く海外に電子部品を送ることが難しくなっています。

このような状況下でElecrow Partner Sellerサービスは委託販売の手段の1つとして非常に魅力的だと思い、早速、先日からDigital MEMS Microphoneの販売を開始してみました。海外向けには当ブログ含めて積極的な宣伝をしていないため、まだ販売数は微々たるものですが、今後に期待したいと思います。既に国内で委託販売等をしている方で海外問い合わせが多い製品がある方はぜひ、Elecrow Partner Sellerを選択肢の1つとして検討してみてください。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2023年04月22日

Win10セットアップ途中のオフラインアカウント作成方法

今回はWindows10セットアップ時にLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介したいと思います。マイクロソフトとしてはMicrosoftアカウントでWindows10を利用して欲しいようで、初期設定でネットワークやWi-Fiを接続した場合、強制的にMicrosoftアカウントでユーザを作成する画面となり、戻ってオフラインアカウント作成画面に戻すことができません。

このような場合に再度、OSをクリーンインストールし直してセットアップし直すという方法がありますが、なかなか時間もかかり、面倒です。また、諦めて、一旦、Microsoftアカウントでユーザを作成して後からオフラインアカウントを作成する方法もありますが、Microsoftアカウントのゴミデータが残るため、避けたいものです。


今回はLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介します。

@セットアップ途中(Microsoftアカウント作成画面等)でShift + F10 キーを押します。

Aコマンドプロンプトが表示され、下記のコマンドを打って、接続されたネットワークインターフェース名を確認します。
netsh interface show interface

Admin State State Type Interface Name
-------------------------------------------------------------------------
有効     接続  専用 Wi-Fi
有効     未接続 専用 イーサネット

B接続済のインタフェースを無効化します

 a. Wi-Fiで接続してしまった場合は
   netsh interface set interface "Wi-Fi" disable

 b. LANで接続してしまった場合は
   LANを抜くか下記のコマンドで無効化します
   netsh interface set interface "イーサネット" disable

Cコマンドでシャットダウンさせます。
shutdown -s -t 0

D再度、電源を入れて起動させるとまた、最初のネットワーク確認画面になります。LANやWi-Fi接続を選択せずに「インターネットに接続していません」や「オフライン アカウント」、「制限された設定で続行する」等をクリックして、オフラインアカウント作成に進んでください。


Eセットアップ後には無効化したネットワークを有効化してください。スタートボタンを押して、「cmd」と入力し、コマンドプロンプトを起動させます。コマンドプロンプトで下記を入力することで再度、有効化してください。
netsh interface set interface "Wi-Fi" enable
もしくは
netsh interface set interface "イーサネット" enable


今回はWindows10セットアップ時にLANやWi-Fiを接続してしまった場合でも、途中からオフラインアカウントに切り替えて作成する方法を紹介しました。Windowsはセットアップ途中でスタートボタンやデスクトップが表示できない場合であっても「Shift + F10 キー」でコマンドプロンプトを表示させることが可能です。今回はネットワークの無効化とシャットダウンに利用しましたが、その他には事前にドライバ等のファイルをUSBメモリ等からCドライブにコピーして入れておくことや、Wi-FiやLANのMACアドレスをPCセットアップ前に事前に調べる用途にも使用できます。Windows10セットアップ時に「Shift + F10 キー」でコマンドプロンプト表示は覚えておいて損はないPCのライフハックです。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2023年04月08日

USBシリアルのCOMポート固定方法

今回はUSBシリアル変換ICでCOMポートが増えてしまう問題を解決する方法について紹介します。既にいくつかのサイトで方法について紹介されていますが、多くはFTDI製のUSBシリアル変換ICに関して紹介されています。FTDI製以外でもパラメータを変更することでProlific製やSilicon Labs製のUSBシリアル変換ICにも適用することが可能です。

まず、ベンダーID (VID)、プロダクトID (PID)を調べる必要があります。デバイスマネージャの「ポート(COMとLPT)」内の該当するUSBシリアル変換ICを開き、「詳細」タブをクリックします。今回はUSBシリアル変換IC、PL2303SAを使用しています。


com_1.png

「詳細」タブのプロパティから「ハードウェアID」を選択します。

com_2.png

「ハードウェアID」を選択するとUSBシリアル変換IC、PL2303SAのベンダーID (VID)が067B、プロダクトID (PID)が2303であることが分かります。なお、PL2303GLの場合はベンダーID (VID)が067B、プロダクトID (PID)が23D3となります。


com_3.png

ベンダーID (VID)とプロダクトID (PID)を確認できたところで、レジストリに追加します。Windows「スタート」を押して、「regedit」と入力し、レジストリエディタを起動させます。下記のレジストリ階層に移動し、右クリックで「新規」→「バイナリ値」をクリックし、IgnoreHWSerNum067B2303と名称を変更します。また、IgnoreHWSerNum067B2303の値に01(単に1でなく、0と入力後に1を入力します)と入力します。

コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\


com_4.png



com_5.png


実際に追加した際のイメージは上記の通りです。今回はFTDI製以外のProlific製のUSBシリアル変換ICに適用する方法について紹介しました。IgnoreHWSerNumの設定は単に該当するVIDとPIDから特定されるUSBデバイスの固有番号(シリアル番号)を無視するという設定のため、USBシリアル変換ICの他、様々なUSBデバイスにも応用可能です。ただ、USBデバイスの固有番号(シリアル番号)を無視するため、同じVIDとPIDのデバイスを同時に2つ接続した場合にソフトウェアによっては不具合が発生する場合があるため、注意が必要です。また、レジストリの変更は最悪、PCが起動しない等の問題を生じる可能性があるため、注意してください。
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2022年02月12日

Rust + Eclipse IDE + GDB

今回はWindows環境でEclipse IDEを使用したRust開発環境の構築方法について紹介します。一般的にはVSCodeを使う流れですが、時代錯誤感はありますが、組込系でも慣れたEclipse IDEで構築しました。

Rust版Eclipse IDEは発展途上or見放された?ようでEclipseの2020-12が最新で以降はRust版が提供されていないようです。そのため、MacやLinux環境では比較的うまく動くようですが、Windows環境ではなかなかすんなり動かないようです。既知の問題点として対処方法含めて紹介されていますが、それだけでは分かりずらい点もあったため、環境構築方法を改めて紹介します。


@Rustインストール
既にRust環境が入っている場合は飛ばしてください。コマンドライン等からcargo --versionと打ってバージョン情報の正しい応答があればインストール済&パスOKです。必要に応じて公式サイトからインストールしてください。

AEclipseインストール
残念ながら2020-12が最新で以降はRust版が提供されていないようです。こちらのページの中央右にあるWindows x86_64をクリックしてダウンロードします。なお、右端のボタンは最新版統合インストトーラのため、Rust版ではありませんので間違えないように注意。直リンクはこちらです。Eclipseはzipを解凍するのみでインストール不要です。適当な場所に解凍したフォルダを置きます。

BGDBインストール
コマンドライン等からgdb --versionと打ってバージョン情報の正しい応答があればGDBインストール済です。「gdbは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示される場合はインストールされていないorパスが通っていません。既にCygwin等がインストールされている場合、GDBが入っていればパスを通します。何もインストールされていない場合は最低限としてGDBだけの TDM-GCC Compilerをこちらからダウンロード、インストールします。インストールはzipを解凍し、Cドライブ直下かユーザーディレクトリ直下等にフォルダを配置し、gdb.exeがあるフォルダに対して環境変数のPATHにパスを追加します。

例: C:\Users\(ユーザ名)\gdb\bin

環境変数にパスを追加した後、再度開き直したコマンドライン等からgdb --versionと打ってバージョン情報の正しい応答があればOKです。

Cツールチェーンインストール
コマンドラインから下記の2つのコマンドを順番に打ち込んでツールチェーンをインストールします。

rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu


Dコマンドファイル追加
Windows環境ではrust-gdb.exeがそのままでは使用できないため、下記のフォルダにrust-gdb.cmdというファイルを生成し、こちらのサイトに記載されたスクリプトをメモ帳等で書き込みます。念のため、既にスクリプト書き込み済みのrust-gdb.cmdのファイルを圧縮してアップロード(rust-gdb.zip)してあります。

C:\Users\(ユーザ名)\.cargo\bin

Eプロジェクト追加
Eclipse IDEのZipファイルを解凍したフォルダ内のeclipse.exeをクリックし、起動させます。プロジェクトのワークスペースは適当なディレクトリを指定します。File→New→ProjectからRust→Cargo Projectをクリックし、プロジェクト名を入力し、Finishボタンでプロジェクトを作成します。その他の設定はデフォルトでOKです。

rust2.jpg

Fデバッグ設定変更
このままではGDBデバッグ機能が利用できないため、デバッグ設定を変更します。Run→Debug ConfigurationからDebuggerタブをクリックし、GDB debuggerにrust-gdbの代わりに先ほど作成、格納したC:\Users\(ユーザ名)\.cargo\bin\rust-gdb.cmdを指定します。また、Environmentタブをクリックし、Addをクリックして適当な名前と値を入れます。面倒な場合は下記のようにHOGE、hogeと入れます。デフォルトの空白だとエラーになるため、その対処のため、何かしらの文字列を指定します。特に意味はないため、空白以外の文字列であれば構いません。

rust3.jpg

rust4.jpg


Gデバッグ
これで設定完了です。Run→Debugから今まで通りにデバッグできます。

rust5.jpg

Rustでもこれまでと同じようにGDBでデバッグできるようになりました。時代錯誤感はありますが、プラグインやアドオンで重くなりがちなVSCodeよりも各プロジェクトで独立した開発環境を構築できるEclipse IDEの方が個人的に好んでいます。最新版とまでは言わなくとも継続してRust版のEclipseを開発して頂きたいと思いました。
posted by Crescent at 00:00| Comment(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする

2021年04月24日

Node-redを用いたシリアルカメラ画像取込

今回はシリアルカメラPTC06をNode-Redを用いて画像として取り込んでみました。シリアルカメラPTC06は高画質や高フレームレートは全く期待できませんが、UARTから気軽に画像データを取得することができます。組込マイコンとの接続や簡易的な遠隔監視といった用途に最適です。Node-Redのシリアルポートを使用して画像を取り込んでみました。なお、シリアルポートのノードを使用するため、Node-Redはクラウド版でなく、オンプレミス版を使用する必要があります。

フローの全体は下記です。

serial_camera_node_red.jpg

必要に応じて、最初に解像度設定等のコマンドを実行(Inject)した後でResetコマンドでリセットします。画像を取得したいタイミングでCapture Imageコマンドを実行します。取得した画像を確認するためにはRead Data Lengthコマンドを実行してファイルサイズを取得します。その後でRead Image Dataコマンドを実行します。一括で取得できるデータは200Byte前後のため、Read Image Dataコマンドではファイルを分割してメモリから取得し、Jpegファイルを生成しています。


img.jpg

実際に取得したファイルです。至近距離のため、ぼやけていますが、3秒程度でファイルを取得できました。画像サイズは320x240で12kBとなりました。今回のNode-Redのフローはこちらにアップしています。640x480の場合は40kB前後で15秒程度取得に時間を要します。

Node-Redを用いてシリアルカメラの初期化、設定、画像取得までできました。PTC06のデータシートの記載ミスなのか分かりませんが、画像取得コマンドが56,00,32,0C,00,0D...と記載されていますが、このコマンドでは取得できませんでした。他のシリアルカメラと同様に56,00,32,0C,00,0A...とすると取得できるようになりました。ファーム等によっても若干、挙動が異なるようです。

今回は使用しませんでしたが、Node-RedのDashboardと組み合わせれば、ファイルとして画像を取得するだけでなく、ボタンとtemplate等を活用してDashboardにボタン操作で表示することも可能です。時間を見つけて実装してみたいと思います。
posted by Crescent at 00:00| Comment(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする