Programming Tips blog

テキトーにTIPSを紹介します

ラズパイでソケット通信(C++サーバ - Pythonクライアント)

緒言 特にラズパイでということもないのですが、ソケット通信をしてみました。 サーバはC++で、クライアントはPythonで書いてみました。いわば、異種格闘技戦って感じ。 cmakeファイルまで提示してくれるサイトが少ないので、ここに書いてみました。 ハード…

ラズパイでソケット通信(Pythonサーバ - C++クライアント)

緒言 特にラズパイでということもないのですが、ソケット通信をしてみました。 サーバはPythonで、クライアントはC++で書いてみました。いわば、異種格闘技戦って感じ。 cmakeファイルまで提示してくれるサイトが少ないので、ここに書いてみました。 ハード…

ラズパイ + Python + PySDL2でPlayStation3ゲームコントローラ(DualShock3)のインデックスをチェックする(ゲームコントローラクラス版)

はじめに DualShock3(PlayStationゲームコントローラ)について、どのキーに何番が振られているのか、調べます。 ここではPySDL2のゲームコントローラクラスを利用しています。 環境 ハードウェア Raspberry Pi ゲームコントローラ Logicool F310r ソフトウェ…

私的ラズパイ + Pythonの開発環境

はじめに ラズパイ + Python開発に係る私の開発環境を紹介します。 主なハードウェア Windowsパソコン Raspberry Pi 主なソフトウェア TetaTerm 秀丸エディタ Microsoft Visual Source Code Raspberry Pi OS Samba 開発環境 まず、Raspberry PiをSSHサーバ、…

ラズパイ + Python + PySDL2でPlayStation3ゲームコントローラ(DualShock3)を扱う

留意事項 PySDL2において、Joystick関係のクラスを使うと機種によりボタン等のインデックス(番号)が異なります。 よって、DualShockを交換したときなどにインデックスが変わり、それに応じてプログラムの改変など、面倒くさいことになります。 ですので、Gam…

ラズパイ + Python + PySDL2でPlayStation3ゲームコントローラ(DualShock3)のインデックスをチェックする(ジョイスティッククラス版)

はじめに DualShock3(PlayStationゲームコントローラ)について、どのキーに何番が振られているのか、調べます。 ここではPySDL2のジョイスティッククラスを利用しています。 環境 ハードウェア Raspberry Pi DualShock3(2023年改良版サードパーティ製) ソフ…

ラズパイでNTPサーバ(IPv4/IPv6デュアルスタック)

IPv4/IPv6デュアルスタック環境におけるNTPサーバ設定を書いておきます。 ソフトウェア Raspberry Pi OS Bullseye 64bit版 ntp 4.2.8 インストール sudo apt install -y ntp /etc/ntp.conf 下記をコメントアウトします。 #pool 0.debian.pool.ntp.org iburst…

Raspberry Pi OSセットアップウィザードがディスプレイに表示されない

現象 Raspberry Pi OSにおいて、OSイメージをmicro SDカードに焼き、ラズパイにセットし、電源をいれると、自動的にSSHキー生成などが行われます。 で、自動的に再起動がかかり、Raspberry Pi OSが起動を始め、いよいよセットアップウィザードというところで…

ラズパイ + I2C + 9軸フュージョンセンサBNO055 + Python

緒言 以前よりMPU-6050やBMX055とRTIMULibを使ってきましたが、MPU-6050はよく壊れるし、BMX055はRTIMULibでうまく動かなかったし、RTIMULibは開発が止まっているので、オイラー角やクォータニオンを直に出してくれるBNO055をI2Cでやってみることにしました…

ラズパイ + Python + ping + RRDtoolでネットワーク監視

ネットワーク監視のため、pingで対象機器の応答時間とNG個数、NG割合を測定します。 python3-rrdtoolを使う方法もあるようなのですが、ここでは原始的にsubprocessを使います。 主なハードウェア Raspberry Pi 主なソフトウェア Raspberry Pi OS Buster Pyth…

ラズパイ + Python + tornadoでWebSocketサーバ

ハードウェア Raspberry Pi 3 Model B ソフトウェア ソフトウェアについては下記を想定しています。 Raspberry Pi OS Bullseye 32bit tornado 6.1 tornadoインストール まず、tornadoをインストールします。 pip3 install tornado Pythonプログラム インポー…

JavaScriptでWebSocketクライアント

はじめに サーバからクライアントにデータをリアルタイムに送りたい、クライアント側には特別な設定とかはしたくないと考えた場合、最近はJavaアプレットとかダメらしくて、JavaScriptでWebSocketをさせることにしました。 JavaScriptプログラム 接続 まずは…