ラベル software の投稿を表示しています。 すべての投稿を表示
ラベル software の投稿を表示しています。 すべての投稿を表示

2021/10/14

KiCad の勉強を始める


 機械CADは、仕事でも使っていたが、電気のは全く違うし、参考にもならない。とりあえず、大雑把な流れまでは分かった。「Eeschema:回路図レイアウトエディタ」と、「Pcbnew:PCBレイアウトエディタ」に分かれている。

 無線リモコンを想定して回路図に起こしてみる。合っているか、間違っているかは、さておき、部品さえ揃っていれば回路を書くのは難しくはない。ライブラリに無い nRF51822 のモジュールや、4本足のボタンを自分で作ってみたが、はて正しいのか判断つかない。

 実際に配線するのは、かなり大変そうだ。というか、部品のレイアウトが重要みたいだが、位置決めさえままならない。レイアウトエディタの原点の概念が理解できない。

 自動配線のツールがあって使ってみたが、素人目には、これで良さそうにも思える。たぶん、実際に基板にするには細かなルールがあるのだろう。しばらく、くじけずに頑張ってみようと思う。
参考リンク
 KiCad EDA
 Freerouting 自動配線ツール

2021/09/23

draw.io おススメ作図ツール


 フローチャート作成ソフトと思うが、デスクトップ版をインストールして、メモ用として重宝している。学習不要で、それなりに使える。中々よろしい。

2021/04/28

windows10 + Delphi + Bluetooth LE

 Bluetooth LE(Bluetooth Low Energy)は、Bluetooth バージョン 4.0 から追加になった低消費電力の通信モードで、それまでの、Bluetooth(クラシック)とは、全くの別物。最近、実験している無線デバイスは、この BLE を使ったもの。

 nRF51822 の実験デバイスが動いてるらしいのは、nRF Connect というソフトで確認できるが、実際に何か作った時には、自前で応答するソフトを作らないといけない。Delphi(RAD Studio 10.3)には、TBluetoothLE というコンポーネントがあるので、これを使えば、楽チンに出来上がるのかと思ったが、どうやら怪しい。

 ネットでさっくりと調べてみるに、BLEのプログラムというのは、iOS だったり、Android 向けであり、Windows用ではない。Delphi のページをみると、さも、Windows10以降なら、対応しているかのように見えるが、そう単純なものでもなさそう。


 以下、怪しい開発メモ、正しいかは保障しない。

1)デバイス取得
 BluetoothLE1.DiscoverDevices(2500); で検索開始して、onDiscoverLEDevice にて、目的のデバイスが見つかるまで、一つづつ確認する。

2)サービス取得
 先にWindows 上で、ペアリングしておく必要がある。BLE は、ペアリング不要と思っていたが、アドバタイズ(定期発信されるデータ)のみで完結しているデバイス(ブロードキャスト)は、その先の情報は必要ないからペアリング不要という意味であって、データをやり取りするなら、一度、ペアリング操作をしておかないといけないのだろう。

 デバイス側で仕様を変えた時は、一度ペアリングを削除して、再度ペアリングしておかないと駄目かも。追加したキャラクタリスティックが見つからず難儀した。

 って、Delphi が問題というより、BLE の仕組みが判っていない僕が悪いのかも。

 この間まで頑張ってた 2.4GHz の無線デバイスと違って、特別な受信デバイスが不要っていうのが一番のポイント。PC側が、bluetooth 対応してあれば、あとはソフトでいかようにもなる、はずなんだな。

2020/07/23

YouTube コメビュ Data API を使わない版 #1


 以前、作っていたAPI経由でデータ取得ではなく、通常のスクレイピングのみで完結できるか調べる。

 そもそも、ライブのコメント取得に、リクエスト数に上限がある API を使うのは意味がなかった。コメント書き込みとか、ユーザの操作とかには使えるのかもしれない。


 さわりの部分は組んだはずだったが、ソースが行方不明。最初から作業することに。通信部分をごっそり入れ替え。

 激しくコメントが流れていなければ、この方式でも、問題なくいけそうな気がする。

2020/03/26

Lazarus オンライン・パッケージ・マネージャ

 Online Package Manager っていつからついてたのよ。すげー便利じゃん。エラーでパッケージ登録できないことがよくあるので、これは嬉しい。使い勝手なら、Delphi をとっくに超えてるな。

2019/08/23

PDF作成ソフト

 大昔に作ったテキストを画像化して、PDFにまとめるソフトを未だに使っているが、何気に各ページ下部に、現在ページ位置を表すバー(ただの線)を追加してみた。

 右上にページ数表示があるのだから、不要なのかと思いきや、ひと目で認識できる分かりやすさってのは重要らしい。

 ちなみに、超使えないドコモのガラパゴスもどきを、未だに愛用中。家の中で使うぶんには、電池のもちの悪さも気にならないし。逆にソニーリーダーは、明るい外限定。薄暗いと見えにくくてストレスになる。

2019/07/09

7-Zipで複数フォルダを個別に圧縮


 7-Zip (7z.exe) にフォルダ名を渡すだけのコンソールプログラムです。7-Zip のインストールフォルダに2つの exe ファイルを展開します。ショートカットなり、SendTo に登録するなりして、対象フォルダをドラッグ&ドロップすれば、フォルダ名の圧縮ファイルが出来上がります。f7z.exe が、.7z で圧縮。fzip.exe が、.zip で圧縮。

 バックアップ等で、大量のフォルダを処理するのに便利かと。
Download
f7z_20190709.7z7-Zip (解凍ソフト)

 ※ Windows 32bit アプリ、自己責任で実行のこと
 ※ 動作報告、不具合報告は、この記事にコメント願います、メール対応はしません
 ※ 商用・悪用・改変・再配布禁止

2019/04/29

起動時にアプリの優先度(HIGH)を設定

 毎度、タスクマネージャから変更しなくても、ショートカットに細工すればいいらしい。リモコン受信ソフトでの入力取りこぼしを減らすため設定してみた。いや、KODIこそ上げないといけないのか?
C:\Windows\System32\cmd.exe /c start "" /high "アプリ・パス"




2019/01/15

youtube-dl.exe のフロントエンド ydl_w アルファ版

 コマンドラインプログラムである youtube-dl.exe を使いやすくするプログラムです。WEB上のダウンロード変換サイトは、怪しくて論外だし、見つけたフロントエンドも何故か動作しなかったので、Lazarus でつくりました。URLの登録は、対象動画リンクを、フォーム上半分の所にドロップするだけです。youtube-dl.exe 自体は、多数の動画サイトに対応しているようですが、このプログラムでは単純な動画リンクのみに対応します。アドレスに余計な修飾が付いているとエラーになります。

Download
ydl_w_20190715.7z 終了プログラム本体 7-Zip (解凍ソフト)
youtube-dl.exeダウンローダ本体
ffmpeg.exe & ffprobe.exe変換処理に必要

 ※ テスト中の アルファ版、作者は、起こり得るトラブルには、一切の責任を負いません
 ※ 動作報告、不具合報告は、この記事にコメント願います、メール対応はしません
 ※ 商用・悪用・改変・再配布禁止

 ydl_w.exe が、フロントエンド本体。youtube-dl.exe が呼び出す ffmpeg.exe と ffprobe.exe が必要です。計4個の exe ファイルを同じフォルダに入れて実行します。

 起動初回に、すぐ閉じてもらえれば、ダウンロードディレクトリと、設定保存の ini ファイルができているはずです。

 後に変更するとすれば、param 行。必要な文字列をTAB(#9)区切りで指定します。

 起動時に読み込まれ、 youtube-dl.exe の基本パラメータとして選択できるようになります。この選択によって、ダウンロードされるファイル形式が決定されます。URLを登録する時にのみ有効で、登録後は変化しません。

none最高映像と最高音声のものをダウンロードしてMUX
-f mp4サーバ側にあるMP4をダウンロード
-x --audio-format mp3音声のみダウンロードしてMP3に変換



 他にも、いくつか機能を追加してありますが、正式版をリリースするかは微妙です。
※ YouTube 動画のダウンロードは、規約違反です。YouTube Premiumでどうぞ。

2019/01/11

YouTube Data API (v3) 下調べ #7

 
 中々、バグ?がとれない。放送開始しても、APIから、ライブIDが取得できない。しばらくすると何事もなかったかのように動くのだけど。

 組み始めた頃に、ID取得で苦戦した記憶はないんだよなぁ。

 eventType パラメータを、live で取得後、空だったら、upcoming にして再取得すれば、配信予定されているのは、捕まえられる。

 待機中でも、既にチャットは動いているから、コメントも拾えて当たり前。IDさえ認識できればいい話。



 あぁ、API使わなきゃいいのか、本末転倒だが。


2018/06/25

YouTube Data API (v3) 下調べ #6


 アクティブにしたウィンドウを取り込むようにした。chrome 上のライブも、他アプリと同様に呼び込めるので、埋め込みブラウザっぽくみえる。

2018/05/30

YouTube Data API (v3) 下調べ #5


 
 配信モードと、閲覧モード。OBS でウィンドウを指定すれば、そのままフォーム内容を配信できる。

 みくみくまうすを召喚してみた。コメントを読ませるつもりは無くて、横にいるだけ。全く意味は無い(笑)。

 自前で、MMD描画の実装が出来れば、色々な事が出来そうではある。ま、無理だな。コメビュ作成の何倍も難しい。

 この右のスペースには、何か実用的な機能を盛り込みたい。



追記 2018-06-10

 配信補助機能として、お絵かき、ブラウザ、みくみくまうす。ブラウザは、CEF。ファイルごちゃごちゃで、実装がそもそも美しくない。最新のはエラーで動かないし。

 3つとも却下だな。バーチャルユーチューバー向けなら 3tene(ミテネ)ってのもあるが、いずれにしろ、MMD は、規約が色々とあって面倒くさそうだ。


追記 2018-06-11

 よく考えたら自前の中途半端なのを実装するよりも、好きなアプリを呼べるようにしておけばいいだけだな。ペイントだろうが、ブラウザだろうが、ウィンドウさえあればいいわけで。

2018/05/17

YouTube Data API (v3) 下調べ #4

 Youtube のAPIを使うソフトウェアを動かすには、「クライアント ID」と「クライアント シークレット」の2つが必要。以下、両コードの記録されたファイルのダウンロードまでの手順をまとめておく。基本的には、YouTube Data API の概要 の手順通り実行すればいい。当然、Google アカウントを予め取得しておくこと。

 Google Developers Console の API のページで設定する。取得するコードはもちろん、操作もGoogle アカウントに全てヒモ付けされているので、他人にコードを渡したり、悪いことに使ったりしたら大変なことになるので、その辺を理解できていないユーザは、利用してはいけない。API の利用が有料な部分もあるので、おっちょこちょいな人は十分注意して操作すること。
新規プロジェクト作成

利用する API の有効化



OAuth の認証情報を作成

 OAuth クライアント ID → その他 を選択


 同意画面で、メールアドレスとサービス名を入力
コードの記録された JSONファイルをダウンロード

 作成した名前をクリックして、開いたページの上部メニューのダウンロード・リンクから JSONファイルを保存する。

2018/05/10

YouTube Data API (v3) 下調べ #3


 コメビュっぽく動くようになった。進捗60%くらいか。後は、書き込みテスト用に、自分でテスト放送しながら、試さないとダメか。YouTube のAPI実験用のサンプル放送してくれればいいのに、気が利かないな。API説明ページの日本語化も中途半端だし。

 API で使うアクセストークンてのは、1時間で期限切れになるんだね。なんで止まっちゃうのか、謎だったんだが、今頃気づいた。

 1万人越えのライブだと、アイコン画像の読み込みが間に合わない。画像読み込みスレッドを多重化すればいいのか。というか、そもそも、コメント数量的に、配信主は読み切れないよな。


追記 2018-05-12

 フォーム最上部の、チャンネルを登録しているリストと、そのチャンネルで放送している番組のリスト。この2つは、Lazarus の コンボボックス(TComboBox)を使っていたが、ドロップメニューが勝手に閉じるようになってしまって使い物にならない。数日前は、平気だったから、スレッド化が影響を与えていると思われる。

 解決方法が分からず、前のプログラムでは、コンボボックス風のフォームを表示してごまかしていたが、今回は、TComboBoxEx っていうのを初めて使ってみた。今ひとつ使い方が分かっていないが、こちらは、勝手に閉じるようなこともない。

2018/05/03

YouTube Data API (v3) 下調べ #2


 コメントビューアの最低限の通信処理はできた。後は、書き込み処理部分つくって、見やすいようセル表示にすればいい。ふわっちコメビュの通信部を入れ替えるよりも、新規で作ったほうが早いような気がするなぁ。


追記 2018-05-05
 コメントの書き込みが出来ない。どうやるんだ? これだから、マイナー言語は辛い。最近の言語は、みんなライブラリ化が進んでいて、参考にすらならない。とりあえず、セル表示になった。

2018/04/16

YouTube Data API (v3) 下調べ #1


 人気のライブは、すんごい勢いで、コメント流れてるなw。

 YouTube Live 用コメビュが、作成可能なのかチェック中。ネットの情報を参考にしつつ、ライブ動画の、チャットデータを取り出す部分を、Lazarus でプログラム。きちんとした API があるので、出来そうな気はする。

 OAuth の認証部分は、ツイキャス用を途中まで作業していたので、それが使えそう。デスクトップアプリなのに、ブラウザ使って認証ってのは、どうも馬鹿みたいなんだが、もっとスマートに出来る方法は無いのか。

 認証がうまくいくと、アクセストークンがもらえる。コレと、VideoId を使って、LiveChatId を引っ張ってくる。後は、その LiveChatId を指定してコメントを取り出す。ここで、更新のためのポーリング時間が指定されているのだが、5秒とか、とても使えないような間隔が指定されている。リアルタイムっぽく処理するには、それを無視しないとダメ。でも、それをやると、API のリクエスト数の制限に引っかかるかも? コメント自体は、API を使わずに取得するのが現実的か。

YouTube Data API (v3)
 OAuth 2.0 認証の実装
 API Reference


追記 2018-04-19
 API を使わずとも、とれないこともない。ダメなときはこちらで。普通にスクレイピングしても、データは、結局 JSON形式だしな。

2017/11/15

LMC555 タイマーIC 計算ソフト


 連射コントローラの改造用に使った LMC555(タイマーIC)の周波数を計算するソフトです。入力パラメータは、上から、Ra 抵抗、Rb 抵抗、Rb’ 可変抵抗、C コンデンサの4つ。発振タイミングが固定でいいのであれば、可変抵抗は必要ありません。

 上画像の例で言えば、22kΩから、1022kΩ まで変化した場合。それぞれ、32.1 ~ 0.7回/秒、発振するということです。% は、デューティ比です。
Download
lmc555_20171115.7z7-Zip (解凍ソフト)

 ※ Windows 32bit アプリ、自己責任で実行のこと
 ※ 動作報告、不具合報告は、この記事にコメント願います、メール対応はしません
 ※ 商用・悪用・改変・再配布禁止
コントローラの連射改造 連射機能を追加


追記 2018-06-23
 右クリックのメニューから、メモ用のキャプチャ画像を保存できるようにした。
Download
lmc555_20180623.7z7-Zip (解凍ソフト)

 ※ Windows 32bit アプリ、自己責任で実行のこと
 ※ 動作報告、不具合報告は、この記事にコメント願います、メール対応はしません
 ※ 商用・悪用・改変・再配布禁止

2017/01/19

外部 CSSファイルの強制読込み

 ブラウザで更新しても、外部CSSのように間接的に読み込まれるファイルは、キャッシュを読み込んでしまって反映されない。対策としては、CSS 読み込みのアドレスの指定に、適当なクエリを追加すればいいらしい、クエリが変化した時点で、新規に読み込まれる。へー、なるほど。

 このブログシステムでも、CSS を更新したときに、クエリを自動で書き換えるようにした。かなり前に、この問題に気づいたが、面倒くさいので、ブラウザのキャッシュ全削除で、ごまかしてた。それだと、閲覧者のほうは変化ないから、全く解決にはなっていなかった。

2015/05/28

UTF-8 は、BOM 無しで統一しよう

 テキストファイルなんかで扱う文字コードの話。古いアプリでは、今でも Shift-JIS で読み書きしていたりもしているが、Lazarus や Web なんかだと、必然的に UTF-8 を使うことになる。で、この UTF-8 ってのが、ちょいと曲者。BOM有りと、BOM無しの2種類がある。

 TeraPad では、UTF-8 と UTF-8N と、それぞれ、BOM有り・無しを意味するが、アプリによっては、BOMの有無の違いで読み込めなくなったりもする。

 Windows 上のコードページは同じ 65001 なのだから、ファイル自体も当然同じ。違いは、先頭の3バイト、EF BB BF が有るか無いか。ったく、何考えて、こんな仕様になったのか、頭悪すぎだろ。

2014/12/23

DOS から Windows7 にネットワーク接続



 フロッピーから立ち上げて、TCP/IP で、Windows7 に接続して
> NET USE Z: \\WIN7PC\SHAREFOLDER
 ネットワーク先のフォルダを、Zドライブとして自由に読み書きできるようにしたい。

 しばらく、悪戦苦闘したが、結局、オンボードNIC(Intel 82566DM)では動かすことが出来ず、PCIに追加した NIC(Intel PRO/100+)で繋がった。ブートFD にネットワークのドライバを組み込むだけなんだが、なんだよこれ。

 PCI の NIC にした時点で、ping までは成功するようになったが、肝心の Windows7 の共有フォルダにアクセスできない。しばらくして、何気にノートの XP に接続してみたら、あっさり繋がった。DOS側ではなく、Windwos7 側の設定の問題らしい。そこから、あちこちいじりまくって、いつのまにか NET VIEW がまともな表示になったが、もはや、どこの設定が有効だったのか…。
FreeDOS ベースのユーティリティ・ディスク
  Balder
DOS クライアントソフトウェア
  Microsoft Network Client for DOS
INTEL NIC DOS ドライバ(ただし、FreeDOS では、E1000.DOS は動かないかも?)
  PRODOS.exe
 で、何気に動かなかったオンボードNIC だが、FreeDOS ではなく、MS-DOS を使うとあっさり動くことが判明。なんだ、そんなオチかよ、だめじゃん FreeDOS。まぁ、一応解決したような、しないような、もやもやな結果に。


追記 2014-12-27
 Intel Pro/1000 GT を試してみたら、やはり、MS-DOS ならOK。ただし、オンボードと PCI の同系(インテル 1000BASE-T)のが2つになってそのままだと、オンボードの方しか動かない。オンボード側を無効にすれば、PCI側が使える。1つ分しか設定していないから、当たり前。2つ乗せた時の設定がよく分からないんだよな。でも、インテルの NIC を2つ同時に使う必要はないし、オンボードが非インテルなら、バッティングはしないわけで、実用上は問題ない。

 結局、DOSのシステムは、MS-DOS 7.1 が、ベストと結論。FreeDOS でネットワークってのは諦めた。詳しい人からしたら、あっさり解決するんだろうけど、DOS のメモリ周りとか狂ってて素人には難解すぎる。7.1 は、Windows 98 SE のころの奴で、一番使えそうな Ver 。単純に組み込むだけなら、Windows 7 の起動ディスクでも可能だけど、何もできないもんね。

Volume in drive A is DOS71

Directory of A:\
----------------------
IO.SYS
MSDOS.SYS
COMMAND.COM
AUTOEXEC.BAT
RAMDRV.BAT
CONFIG.SYS
XMSDSK.EXE
UNZIP.EXE
IFSHLP.SYS
HIMEM.SYS
n_e1000.zip
dos.zip
net.zip
----------------------
1,457,048 13 files
47,616 bytes free


Archive: N_E1000.ZIP
----------------------
E1000.DOS
PROTOCOL.INI
SYSTEM.INI
----------------------
65,438 3 files

Archive:  DOS.ZIP
----------------------
DOS/
DOS/DELTREE.COM
DOS/DOSKEY.COM
DOS/FDAPM.COM
DOS/FDISK.EXE
DOS/FORMAT.COM
DOS/PCR.BAT
DOS/PCS.BAT
DOS/SYS.COM
DOS/XCOPY.EXE
DOS/EDIT.COM
DOS/MEM.EXE
DOS/ATTRIB.COM
DOS/TREE.COM
DOS/MOVE.EXE
DOS/ZIP.EXE
DOS/ALLOCXMS.COM
DOS/DRVPART.SYS
DOS/SAVEPART.CFG
DOS/SAVEPART.EXE
DOS/SP.BAT
----------------------
788,028 21 files
Archive:  NET.ZIP
----------------------
NET/
NET/CONNECT.DAT
NET/DHCP.PRM
NET/DNR.EXE
NET/EMSBFR.EXE
NET/HOSTS
NET/LMHOSTS
NET/NCDINFO.INI
NET/NEMM.DOS
NET/NET.EXE
NET/NET.MSG
NET/NETBIND.COM
NET/NETWORKS
NET/NMTSR.EXE
NET/PING.EXE
NET/PROTMAN.DOS
NET/PROTMAN.EXE
NET/PROTOCOL
NET/SERVICES
NET/SHARES.PWL
NET/TCPDRV.DOS
NET/TCPTSR.EXE
NET/TCPUTILS.INI
NET/TINYRFC.EXE
NET/UMB.COM
NET/WFWSYS.CFG
----------------------
822,878 26 files

 DOS コマンドも、NET クライアントも、ZIP 圧縮して、起動時に、RAMドライブに展開して使う。DOS で動くバックアップソフト(SAVEPART.EXE、これ面白いかも)も無理やり入れたので、これ1枚で、他のPCの共有フォルダを使って、バックアップ&リストア出来る環境が出来た。別に、FD 1枚に詰め込んだからって意味は無い。男のロマン的な…(笑)。一応、そのまま、イメージ化して、PXE ブートにも、そのまま使えるし、USBメモリでブートできない哀れな PCでも使えちゃう。